您好,登錄后才能下訂單哦!
小編給大家分享一下Linux中chkconfig命令的簡介及使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1.命令簡介
chkconfig 命令用于更新和查詢系統服務的運行等級信息。它可查詢操作系統在每一個運行等級中會自動執行哪些系統服務,包括各類常駐服務,比如 httpd、sshd、mysqld 等。
chkconfig 實際上是通過改變七個不同運行等級目錄 /etc/rc[0-6].d 中服務腳本的符號鏈接,來設置操作系統在每一個運行等級中會執行哪些系統服務。chkconfig 不是用于立即啟動或停止某一個服務,這一點與 service 不同。
chkconfig 有五個功能:
(1)添加新的服務供 chkconfig 管理;
(2)從 chkconfig 管理服務列表中刪除服務;
(3)列出 chkconfig 管理的所有服務的當前啟動信息;
(4)更改服務的啟動信息;
(5)檢查特定服務的啟動狀態。
2.命令格式
chkconfig service [OPTIONS] SERVICENAME
沒有任何選項的 chkconfig 或跟選項 --list 將顯示所有服務及其當前配置的列表。
當 chkconfig 后只跟服務名時,會檢查服務是否配置為在當前運行級別自啟動,如果是,則 chkconfig 返回 true,否則返回 false。–level 選項可用于讓 chkconfig 查詢其它運行級別而不是當前運行級別下的配置。
如果在服務名稱之后指定了 on、off、reset 或 resetpriorities 之一,chkconfig 將更改指定服務的啟動信息。on 和 off 標志分別導致服務在正在更改的運行級別中設置為啟動或停止。reset 標志將服務的所有運行級別的開關狀態重置為相關 init 腳本中指定的值,而 resetpriorities 標志將服務的啟動/停止優先級重置為 init 腳本中指定的值。默認情況下,on 和 off 選項僅影響運行級別 2、3、4 和 5,而 reset 和 resetpriorities 影響所有運行級別。--level 選項可用于指定受影響的運行級別。
3.選項說明
--level LEVELS 指定操作應屬于的運行級別。0 到 6 組成的數字串。例如,-level 35 指定運行級別 3 和 5 --no-redirect 如果系統使用 systemd 作為系統的啟動進程,chkconfig 將命令轉發給 systemd。此選項將關閉到 systemd 的重定向,并且僅在 /etc/rc[0-6].d 中的符號鏈接上操作。此選項僅在 on、off 或沒有向服務傳遞命令(檢查啟用)時有效 --add SERVICENAME 添加一個新服務供 chkconfig 管理 --del SERVICENAME 將從 chkconfig 管理中刪除該服務,并刪除 /etc/rc[0-6].d 中與其相關的任何符號鏈接 --override SERVICENAME 更改服務配置 --list [SERVICENAME] 列出 chkconfig 所知的所有服務在不同運行等級下的啟動狀態。如果指定 SERVICENAME,則只列出具體的服務的啟動狀態
4.常用示例
(1)列出所有的系統服務。
chkconfig Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. bootlocal 0:off 1:off 2:off 3:on 4:off 5:off 6:off irqaffinity 0:off 1:off 2:on 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off qemu-ga 0:off 1:off 2:on 3:on 4:on 5:on 6:off rename_netifs 0:off 1:off 2:off 3:on 4:off 5:off 6:off
(2)將 Apache Web 服務器配置為在每次系統啟動時啟動。
chkconfig httpd on
當您成功地使用 chkconfig 啟用服務時,該命令不提供任何確認消息。
(3)設置 network 在運行級別為 2、3、4、5 的情況下都是關閉狀態,即不啟動。
chkconfig network off # 或 chkconfig --level 2345 network off
(4)查看 network 服務的自啟動狀態。
chkconfig --list network Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. network 0:off 1:off 2:off 3:off 4:off 5:off 6:off
5.拓展知識
5.1 注冊服務到 chkconfig
每個被 chkconfig 管理的服務需要在對應的 /etc/rc.d/init.d 下的管理腳本加上兩行或者更多行的注釋。第一行告訴 chkconfig 缺省啟動的運行級以及啟動和停止的優先級。如果某服務缺省不在任何運行級啟動,那么使用 - 代替運行級。第二行對服務進行描述,可以用 \ 跨行注釋。例如 /etc/rc.d/init.d/network 中的注釋:
# chkconfig: 2345 10 90 # description: Activates/Deactivates all network interfaces configured to \ # start at boot time.
其中第一行表示運行等級在 2、3、4 和 5,啟動優先級為 10,停止優先級為 90。第二行和第三行為服務 network 的描述。
5.2 Linux 系統的 7 個運行級別
運行級別是操作系統當前正在運行的功能級別,它讓一些程序在一個級別啟動,而在另外一個級別的時候不啟動。Linux 系統一般使用 7 個級別。
0 停機狀態。系統默認運行級別不能設為 0,否則不能正常啟動
1 單用戶模式,root權限,用于系統維護,禁止遠程登陸
2 無網絡的多用戶模式
3 有網絡的多用戶模式
4 系統未使用,保留
5 圖形化界面
6 系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動
默認的運行級別可以在文件 /etc/inittab 查看。一般自用的 Linux 默認登錄等級為 5,即開機進入圖形用戶界面,遠程登錄的運行等級為 3,進入命令行交互界面。
運行級別的原理:
(1)在目錄 /etc/rc.d/init.d 下有許多服務管理腳本,每個服務被稱為 service;
(2)在 /etc/rc.d 下有 7 個名為 rcN.d 的目錄,對應系統的 7 個運行級別;
(3)rcN.d 目錄下都是一些符號鏈接文件,這些鏈接文件都指向 init.d 目錄下的 service 腳本文件,命名規則為K+nn+服務名或S+nn+服務名,其中 nn 為兩位數字。
(4)系統會根據指定的運行級別進入對應的 rcN.d 目錄,并按照文件名順序檢索目錄下的鏈接文件:
對于以 K 開頭的文件,系統將終止對應的服務
對于以 S 開頭的文件,系統將啟動對應的服務
(5)查看運行級別用:runlevel;
(6)進入其它運行級別用:(sudo) init N;
(7)另外 init 0 為關機,init 6 為重啟系統。
另外,當使用 runlevel 查看運行級別時,結果會顯示前一次的運行級別和現在的運行級別,如果前次的運行級別為 N,那么說明前次沒有運行級別(可能剛剛 power on)。
以上是Linux中chkconfig命令的簡介及使用方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。