السلام عليكم ورحمة الله وبركاته ........
ملاحظة :
هذا الموضوع لا يشرح ال runlevels !!
للتنقل من level إلى أخر فاننا نستخدم الأمر :
init
فمثلا للخروج من ال level3 إلى ال level5 فاننا سوف نكتب شيئاً مماثلاً للاتي :
init 5
من المعروف أنه لدينا 6 Run Level ويمكن إستعراضهم كالتالي :
less /etc/inittab
وهذا جزء من ناتج إستعارض الملف السابق
# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this)
وفي كل مرة نخرج من Level وندخل في أخر فأن هناك Services تعمل وأخرى تتوقف !!
ولكن يا ترى كيف يمكننا ضبط ال Services لكي تعمل أو تتوقف عند كل عملية دخول أو خروج من Level ؟
يتم هذا عن طريق المجلدات الموجود تحت المسار التالي :
cd /etc/rc.d
وإذا قمنا بإستعراض المجلد السابق فأننا نحصل على التالي :
[root@MzmWebServer rc.d]# ls init.d rc rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local rc.sysinit
نلاحظ أن هناك مجلدات مرقمة من صفر إلى ستة بحيث أن كل مجلد يمثل Level معين :
rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d
فلو أستعرضنا أحد تلك المجلدات ولنقل مثلا المجلد rc5.d لوجدنا شيئا مشابهاً للأتي وهذا قد يختلف من
جهاز إلى أخر :
[root@MzmWebServer rc.d]# ls rc5.d/ K02NetworkManager K35vncserver K85mdmpd S12syslog S28autofs S90xfs K05saslauthd K35winbind K89netplugd S13irqbalance S40smartd S95anacron K10dc_server K36mysqld K90bluetooth S13portmap S44acpid S95atd K10psacct K50netdump K94diskdump S14nfslock S54hpoj S96readahead K12dc_client K50snmpd K99microcode_ctl S15httpd S55cups S97messagebus K20nfs K50snmptrapd S04readahead_early S15mdmonitor S55named S97rhnsd K20rwhod K50tux S05kudzu S18rpcgssd S55sshd S98cups-config-daemon K24irda K50vsftpd S06cpuspeed S19rpcidmapd S56rawdevices S98haldaemon K25squid K61ldap S08iptables S19rpcsvcgssd S56xinetd S99local K34dhcrelay K73ypbind S09isdn S25netfs S80sendmail S99webmin K35dhcpd K74nscd S09pcmcia S26apmd S85gpm K35smb K74ntpd S10network S26lm_sensors S90crond
نلاحظ أن المجلد كله عبارة عن links وهذه ال Links إما تبدأ بحرف ال :
K
وهذا يعني قم بإيقاف الخدمة Kill عند الدخول إلى هذا ال Level ,, !!
أو بحرف ال :
S
وهذا يعني قم بتشغيل الخدمة Start عند الدخول إلى هذا ال Level ,, !!
والان دعنا نستعرض المجلد الخاص بال Level رقم خمسة ودعنا نرى خدمة ال httpd ماهو حالها:
[root@MzmWebServer rc.d]# ls rc5.d K02NetworkManager K35vncserver K85mdmpd S12syslog S28autofs S90xfs K05saslauthd K35winbind K89netplugd S13irqbalance S40smartd S95anacron K10dc_server K36mysqld K90bluetooth S13portmap S44acpid S95atd K10psacct K50netdump K94diskdump S14nfslock S54hpoj S96readahead K12dc_client K50snmpd K99microcode_ctl S15httpd S55cups S97messagebus K20nfs K50snmptrapd S04readahead_early S15mdmonitor S55named S97rhnsd K20rwhod K50tux S05kudzu S18rpcgssd S55sshd S98cups-config-daemon K24irda K50vsftpd S06cpuspeed S19rpcidmapd S56rawdevices S98haldaemon K25squid K61ldap S08iptables S19rpcsvcgssd S56xinetd S99local K34dhcrelay K73ypbind S09isdn S25netfs S80sendmail S99webmin K35dhcpd K74nscd S09pcmcia S26apmd S85gpm K35smb K74ntpd S10network S26lm_sensors S90crond
نلاحظ أن خدمة ال httpd عندي سوف تعمل تلقائياً عند الدخول في ال level رقم خمسة وذلك لأن ال link الخاص بها يبدأ بحرف ال S :
S15httpd
والان ولجعل الخدمة هذه تتوقف كل ما علينا فعله هو إعادة تسمية الملف مرة أخرى كالتالي :
[root@MzmWebServer rc5.d]# mv S15httpd K15httpd [root@MzmWebServer rc5.d]# ls K02NetworkManager K35smb K74ntpd S10network S28autofs S90xfs K05saslauthd K35vncserver K85mdmpd S12syslog S40smartd S95anacron K10dc_server K35winbind K89netplugd S13irqbalance S44acpid S95atd K10psacct K36mysqld K90bluetooth S13portmap S54hpoj S96readahead K12dc_client K50netdump K94diskdump S14nfslock S55cups S97messagebus K15httpd K50snmpd K99microcode_ctl S15mdmonitor S55named S97rhnsd K20nfs K50snmptrapd S04readahead_early S18rpcgssd S55sshd S98cups-config-daemon K20rwhod K50tux S05kudzu S19rpcidmapd S56rawdevices S98haldaemon K24irda K50vsftpd S06cpuspeed S19rpcsvcgssd S56xinetd S99local K25squid K61ldap S08iptables S25netfs S80sendmail S99webmin K34dhcrelay K73ypbind S09isdn S26apmd S85gpm K35dhcpd K74nscd S09pcmcia S26lm_sensors S90crond
ولجعلها تعمل مرة أخرى قم بعكس الوضع كالتالي :
[root@MzmWebServer rc5.d]# mv K15httpd S15httpd [root@MzmWebServer rc5.d]# ls K02NetworkManager K35vncserver K85mdmpd S12syslog S28autofs S90xfs K05saslauthd K35winbind K89netplugd S13irqbalance S40smartd S95anacron K10dc_server K36mysqld K90bluetooth S13portmap S44acpid S95atd K10psacct K50netdump K94diskdump S14nfslock S54hpoj S96readahead K12dc_client K50snmpd K99microcode_ctl S15httpd S55cups S97messagebus K20nfs K50snmptrapd S04readahead_early S15mdmonitor S55named S97rhnsd K20rwhod K50tux S05kudzu S18rpcgssd S55sshd S98cups-config-daemon K24irda K50vsftpd S06cpuspeed S19rpcidmapd S56rawdevices S98haldaemon K25squid K61ldap S08iptables S19rpcsvcgssd S56xinetd S99local K34dhcrelay K73ypbind S09isdn S25netfs S80sendmail S99webmin K35dhcpd K74nscd S09pcmcia S26apmd S85gpm K35smb K74ntpd S10network S26lm_sensors S90crond
وسوف تعود الخدمة للعمل مرة أخرى ..
ملاحظة أخيرة :
كل الملفات الموجودة في المجلد rc5.d عبارة عن links تشير إلى ال scripts الموجودة
في المجلد /init.d/ والتي وظيفتها إيقاف وتشغيل الخدمات .. !!
Dr.Pain
