
我總是忘記如何做到這一點,如何更改伺服器/守護程式的 inittab 運行等級?
答案1
有幾個不同的地方。然而,以下內容應該涵蓋其中的大部分:
簽入 /etc/inittab 使用「chkconfig」指令更新 rcX.d 目錄,其中包含指向 /etc/init.d 條目的符號連結。
答案2
要查看以前和目前的運行級別,
[root@example ~]# runlevel
N 3
這裡,沒有以前的運行級別,目前的運行級別是 3。
若要暫時更改運行級別,
[root@example ~]# init RUNLEVEL
要永久更改計算機的預設運行級別,請更改 /etc/inittab 的
id:5:initdefault:
將 5 更改為您喜歡的等級。
如果您使用 RHEL 或 CentOS 等克隆發行版之一,則伺服器的預設運行等級為 3,桌面的預設運行等級為 5,其中 X 應會自動啟動。
如果您使用 Debian 或其各種分支,預設運行等級將為 2。
Ubuntu 已轉移到 upstart 任務選擇程序,因此它可能缺少 /etc/inittab,並且預設使用運行等級 2。如果您想要更改預設運行級別,請建立一個,或者您可以透過 grub 將運行級別作為啟動的一部分傳遞。
若要更改守護程序的運作等級:
如果您使用 RHEL 或其他基於 RPM 的發行版,chkconfig 可能是最方便的方法。
[root@example ~]# chkconfig --list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@example ~]# chkconfig ntpd on
[root@example ~]# chkconfig ntpd off
[root@example ~]# chkconfig --level 2,5 ntpd on
如果您使用 Debian,我通常會手動更改每個運行級別的守護程序的狀態。
[root@example ~]# ls /etc/rc2.d/*ntp*
/etc/rc2.d/S23ntp
[root@example ~]# cd /etc/rc2.d/
[root@example rc2.d]# mv K23ntpd S23ntpd
如果守護程式的符號連結以 K 開頭,則它將停止在該運行層級。如果它以 S 開頭,則在該運行等級啟動。
答案3
你確實在問兩個問題。
- 如何更改伺服器的預設運行級別
- 如何更改守護程序運行的運行等級。
1 由馬克回答(他的回答)
2 將取決於系統。在基於 RedHat 的系統(RH、YDL、Fedora 等)上,您將使用 chkconfig 來設定所有內容。例如,要讓 apache 在運行等級 3、4 和 5 啟動,您可以執行:
chkconfig --levels 345 httpd on
在 gentoo 系統上,您可以使用 rc-update 工具,並執行下列命令:
rc-update add apache2 default
答案4
守護程式通常從/etc/rc.d/ 或/etc/init.d 中的腳本啟動。 d)
簡而言之:建立從 /etc/rc.d 對應目錄到守護程式啟動腳本的連結。連結的位置決定了運行等級。