chkconfig -پاک کردن، نصب کردن , آپدیت کردن و کویری گرفتن از لینک‌های اسکریپت‌های رانلول ها

دستور chkconfig برای پاک کردن، نصب کردن , آپدیت کردن و کویری گرفتن از لینک‌های اسکریپت‌های رانلول ها مورد استفاده قرار می‌گیرد.

این دستور در سیستم های rpm بیس مورد استفاده قرار می گیرد در حالیکه دستور update-rc.d که دستور معادل این دستور است بیشتر در سیستم های debian بیس مورد استفاده قرار میگیرد .

نکته مهم :در این جا از توضیح مفاهیم اولیه لازم برای دستور chkconfig صرف نظر میکنیم چون قبلا در دستور update-rc.d توضیح داده شده است و فقط به مثال ها می پردازیم  پس حتما قبل از خوندن اموزش دستور chkconfig اموزش دستور update-rc.d رو تا اول ساخت لینک مطالعه کنین .

لیست کردن سرویس ها به وسیله list--

اگر دستور chkconfig رو به همراه اپشن list-- بزنین تمام سرویس هایی که میشناسه رو به همراه رانلول هایی که در اون ها start/stop می شن نشون میدهد که معادل استفاده از دستور chkconfig به تنهایی هم هست .

[root@aliabry /]# chkconfig --list
auditd             0:off    1:off    2:on    3:on    4:on    5:on    6:off
blk-availability    0:off    1:on    2:on    3:on    4:on    5:on    6:off
crond              0:off    1:off    2:on    3:on    4:on    5:on    6:off
ip6tables          0:off    1:off    2:on    3:on    4:on    5:on    6:off
iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off
iscsi              0:off    1:off    2:off    3:on    4:on    5:on    6:off
iscsid             0:off    1:off    2:off    3:on    4:on    5:on    6:off
lvm2-monitor       0:off    1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor          0:off    1:off    2:on    3:on    4:on    5:on    6:off
multipathd         0:off    1:off    2:off    3:off    4:off    5:off    6:off
netconsole         0:off    1:off    2:off    3:off    4:off    5:off    6:off
netfs              0:off    1:off    2:off    3:on    4:on    5:on    6:off
network            0:off    1:off    2:on    3:on    4:on    5:on    6:off
postfix            0:off    1:off    2:on    3:on    4:on    5:on    6:off
rdisc              0:off    1:off    2:off    3:off    4:off    5:off    6:off
restorecond        0:off    1:off    2:off    3:off    4:off    5:off    6:off
rsyslog            0:off    1:off    2:on    3:on    4:on    5:on    6:off
saslauthd          0:off    1:off    2:off    3:off    4:off    5:off    6:off
sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off
udev-post          0:off    1:on    2:on    3:on    4:on    5:on    6:off

اگر به همراه list-- اسم سرویسی رو بیارین اطلاعات اون سرویس رو فقط نشون میده

[root@aliabry /]# chkconfig --list sshd
sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off

 

ساخت لینک های سرویس به صورت اوتومات

در دستور زیر لینک های سرویس iptables به صورت اوتومات برای start شدن در رانلول های 2,3,4,5  و برای stop شدن در رانلول های 1,0 ساخته میشود که این اعداد رو از داخل اسکریپت اصلی بر میدارد. (جلو تر بیشتر در این مورد توضیح داده شده)

[root@aliabry /]# chkconfig --add iptables

پاک کردن لینک های یک سرویس

با کمک del-- لینک های سرویس مربوطه از رانلول ها پاک میشود. خود اسکریپت اصلی در init.d پاک نمیشود.

[root@aliabry /]# chkconfig --add iptables

تعیین دستی رانلول برای start  و stop شدن

به وسیله level-- می تونیم رانلول هایی که مد نظرمون هست رو انتخاب کنیم

در دستور زیر سرویس iptables رو در رانلول های 234 stop میکنیم

[root@aliabry ~]# chkconfig --list iptables
iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@aliabry ~]# chkconfig --level 234 iptables off
[root@aliabry ~]# chkconfig --list iptables
iptables           0:off    1:off    2:off    3:off    4:off    5:on    6:off

reset کردن لینک های اسکریپت

در دستور های بالا از on و off برای start/stop کردن سرویس ها استفاده کردیم حالا اگر بخایم لینک های سرویس مد نظرمون رو به حالت پیش فرضی که داخل خود اسکریپت سرویس مربوطه هست در بیاریم از reset استفاده میکنیم .

مثلا برای سرویس iptables اگر داخل اسکریپتش رو نگاه کنین به این شکل تعیین شده :(etc/init.d/iptables/)

### BEGIN INIT INFO
# Provides: iptables
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop iptables firewall
# Description: Start, stop and save iptables firewall
### END INIT INFO

 

[root@aliabry ~]# chkconfig --list iptables
iptables           0:off    1:off    2:off    3:off    4:off    5:on    6:off
[root@aliabry ~]# chkconfig iptables reset
[root@aliabry ~]# chkconfig --list iptables
iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off

همون طور که میبیننی در 2و3و4و5 به استارت تغییر پیدا کرد.

reset کردن اولویت های لینک ها

با کمک resetpriorities اولویت های start/stop شدن لینک سرویس مد نظرمون رو میتونیم به مقداری که در اسکریپت اصلی تعیین شده تغییر بدیم البته در دستور chkconfig قابلیتی برای تعیین اولویت وجود نداره.

مثلا برای iptables این مقادیر (etc/init.d/iptables/) به این صورت تعیین شده است :

# chkconfig: 2345 08 92

 

[root@aliabry /]# chkconfig iptables resetpriorities