دستور 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