Linux教程-用紅帽子的chkconfig管理Init指令碼(轉)
Linux教程-用紅帽子的chkconfig管理Init指令碼(轉)[@more@]你的管理工具中多了個簡單但非常有用的東東。
我喜歡發現新的UNIX 命令,尤其是那些關於系統管理的。當我得知紅帽子釋出chkconfig 這個工具,我想起了在IRIX--一個從 Silicon Graphics Inc.而來的UNIX變種--下的 chkconfig。 IRIX的chkconfig被用來啟用/禁止系統初始化的時候的服務,無需編輯,重新命名或是移動 /etc中的init指令碼。
類似,Red Hat設計chkconfig的目的就是用來管理系統初始化的時候啟動的服務。不過,在我仔細閱讀手冊並作了些測試後,我很快發現Red Hat擴充套件了chkconfig,透過管理init指令碼的符號連線得以最終控制啟動關閉時的系統任務,真是節省時間!
關於啟動的基礎知識
------------------
當你的linux啟動時, 它顯示的第一個程式是 init。如果你以前沒看到過顯示init程式, 輸入:
# ps -ef | grep init
就會看到init的PID。 簡而言之,init 執行 /etc/inittab中描述的任務。
/etc/inittab中說明的任務在init之後就會啟動, 不過其它的任務啟動很簡單。例如,預設情況下 Red Hat 的/etc/inittab 對Ctrl-Alt-Delete鍵序設定了一個陷阱(trap),當這些鍵在控制檯模式下(不是xdm)同時按下 ,就會執行 shutdown 命令。 在啟動的時候, init基於/etc/inittab 的設定選項設定這個特性,不過在這個鍵序發生的時候才會執行。
inittab 的格式允許以``#'開始註釋行,正常的條目用 ``:' 界定。遵從如下的格式:
id:runlevel:action:process
id 代表使用者定義的唯一的標誌,
runlevel 可以使0-6的組合 或者為空,
action 來自一個關鍵詞keyword 描述init如何對待process,
process 是要執行的命令。
描述action欄位的各種關鍵字可以在inittab的手冊中找到。常用的關鍵字, 不是全部, UNIX 平臺包括這些:
initdefault--定義一個系統啟動後進入的執行級
wait --會被執行一次的程式 (當進入執行級的時候)。init 程式將等待這個程式被終止。
boot --定義一個啟動的時候執行的程式.
bootwait --與 boot 類似 ,不過 init在繼續執行前等待程式的終止
sysinit --定義一個程式在 boot的時候執行,在任何 boot或者bootwait inittab 條目的前面執行。
runlevel 欄位指明系統狀態。例如,執行級0代表系統關機,執行級6代表系統重啟 。不幸的事,不是所有的 Linux 釋出都遵循同樣的執行級定義 。在Red Hat中,預設情況下支援下面這些
0. 系統掛起
1. 但使用者Single-user mode
2. 多使用者,沒有NFS
3. 完整的多使用者Complete multiuser mode
4. 使用者自定義
5. X11 (XDM 登入)
6. 重新啟動
每一個執行級在 /etc/rc.d下都有個相應的目錄。如執行級5,目錄就是/etc/rc.d/rc5.d 。包含啟動這個執行級的時候執行的相關任務的相關檔案。在 Red Hat中, 這些檔案一般都是 shell 指令碼的符號連線,可以在/etc/rc.d/init.d中找到。
讓我們用一個簡單的例子看一下這些東西, 下面這兩個例子行來自我們的 inittab檔案:
id:3:initdefault:
l3:3:wait:/etc/rc.d/rc 3
在Red Hat系統中這很典型。一旦 init被啟動 ,讀取/etc/inittab 。 從第一行,我們知道 init 將在系統啟動後從執行執行級3。一旦我們到了那個執行級 ,第二行告訴 init 去執行指令碼 /etc/rc.d/rc 3 並且在執行前等待終止。
在/etc/rc.d目錄的rc 指令碼收到 3作為一個引數。 這個 3 相當於執行級3。結果 rc 指令碼執行/etc/rc.d/rc3.d目錄中的所有指令碼。它首先用引數``stop'執行所有K(代表 ``kill'殺掉程式或者服務)打頭的指令碼,接下來,它執行所有以 字母 S 打頭的指令碼,帶有引數``start' 啟動程式或者服務。 最後要指明,K和S指令碼的執行順序是基於排序的; 名為 S90mysql的指令碼將在 S95httpd之前執行。
/etc/rc.d/rc3.d 中的指令碼實際是對/etc/rc.d/init.d中檔案的符號連線。UNIX管理員可以在rc3.d中放制檔案, 實際情況下Red Hat的init.d目錄是所有指令碼的第一位置,然後生成邏輯連線到 rc*.d 目錄。手工作這些檔案的管理很煩人、瑣碎。 chkconfig現在接手這件事情! Red Hat 的這個chkconfig工具就是專為管理 /etc/rc.d/rc[0-6].d中的符號連線而設計。
察看chkconfig 的項(Entries)
chkconfig的二進位制軟體在 /sbin下,預設許可權允許任何使用者執行 。不過沒有root許可權的使用者只能察看當前的 chkconfig配置。輸入:
[root]# chkconfig --list | grep on
輸出的部分內容大致如下:
我喜歡發現新的UNIX 命令,尤其是那些關於系統管理的。當我得知紅帽子釋出chkconfig 這個工具,我想起了在IRIX--一個從 Silicon Graphics Inc.而來的UNIX變種--下的 chkconfig。 IRIX的chkconfig被用來啟用/禁止系統初始化的時候的服務,無需編輯,重新命名或是移動 /etc中的init指令碼。
類似,Red Hat設計chkconfig的目的就是用來管理系統初始化的時候啟動的服務。不過,在我仔細閱讀手冊並作了些測試後,我很快發現Red Hat擴充套件了chkconfig,透過管理init指令碼的符號連線得以最終控制啟動關閉時的系統任務,真是節省時間!
關於啟動的基礎知識
------------------
當你的linux啟動時, 它顯示的第一個程式是 init。如果你以前沒看到過顯示init程式, 輸入:
# ps -ef | grep init
就會看到init的PID。 簡而言之,init 執行 /etc/inittab中描述的任務。
/etc/inittab中說明的任務在init之後就會啟動, 不過其它的任務啟動很簡單。例如,預設情況下 Red Hat 的/etc/inittab 對Ctrl-Alt-Delete鍵序設定了一個陷阱(trap),當這些鍵在控制檯模式下(不是xdm)同時按下 ,就會執行 shutdown 命令。 在啟動的時候, init基於/etc/inittab 的設定選項設定這個特性,不過在這個鍵序發生的時候才會執行。
inittab 的格式允許以``#'開始註釋行,正常的條目用 ``:' 界定。遵從如下的格式:
id:runlevel:action:process
id 代表使用者定義的唯一的標誌,
runlevel 可以使0-6的組合 或者為空,
action 來自一個關鍵詞keyword 描述init如何對待process,
process 是要執行的命令。
描述action欄位的各種關鍵字可以在inittab的手冊中找到。常用的關鍵字, 不是全部, UNIX 平臺包括這些:
initdefault--定義一個系統啟動後進入的執行級
wait --會被執行一次的程式 (當進入執行級的時候)。init 程式將等待這個程式被終止。
boot --定義一個啟動的時候執行的程式.
bootwait --與 boot 類似 ,不過 init在繼續執行前等待程式的終止
sysinit --定義一個程式在 boot的時候執行,在任何 boot或者bootwait inittab 條目的前面執行。
runlevel 欄位指明系統狀態。例如,執行級0代表系統關機,執行級6代表系統重啟 。不幸的事,不是所有的 Linux 釋出都遵循同樣的執行級定義 。在Red Hat中,預設情況下支援下面這些
0. 系統掛起
1. 但使用者Single-user mode
2. 多使用者,沒有NFS
3. 完整的多使用者Complete multiuser mode
4. 使用者自定義
5. X11 (XDM 登入)
6. 重新啟動
每一個執行級在 /etc/rc.d下都有個相應的目錄。如執行級5,目錄就是/etc/rc.d/rc5.d 。包含啟動這個執行級的時候執行的相關任務的相關檔案。在 Red Hat中, 這些檔案一般都是 shell 指令碼的符號連線,可以在/etc/rc.d/init.d中找到。
讓我們用一個簡單的例子看一下這些東西, 下面這兩個例子行來自我們的 inittab檔案:
id:3:initdefault:
l3:3:wait:/etc/rc.d/rc 3
在Red Hat系統中這很典型。一旦 init被啟動 ,讀取/etc/inittab 。 從第一行,我們知道 init 將在系統啟動後從執行執行級3。一旦我們到了那個執行級 ,第二行告訴 init 去執行指令碼 /etc/rc.d/rc 3 並且在執行前等待終止。
在/etc/rc.d目錄的rc 指令碼收到 3作為一個引數。 這個 3 相當於執行級3。結果 rc 指令碼執行/etc/rc.d/rc3.d目錄中的所有指令碼。它首先用引數``stop'執行所有K(代表 ``kill'殺掉程式或者服務)打頭的指令碼,接下來,它執行所有以 字母 S 打頭的指令碼,帶有引數``start' 啟動程式或者服務。 最後要指明,K和S指令碼的執行順序是基於排序的; 名為 S90mysql的指令碼將在 S95httpd之前執行。
/etc/rc.d/rc3.d 中的指令碼實際是對/etc/rc.d/init.d中檔案的符號連線。UNIX管理員可以在rc3.d中放制檔案, 實際情況下Red Hat的init.d目錄是所有指令碼的第一位置,然後生成邏輯連線到 rc*.d 目錄。手工作這些檔案的管理很煩人、瑣碎。 chkconfig現在接手這件事情! Red Hat 的這個chkconfig工具就是專為管理 /etc/rc.d/rc[0-6].d中的符號連線而設計。
察看chkconfig 的項(Entries)
chkconfig的二進位制軟體在 /sbin下,預設許可權允許任何使用者執行 。不過沒有root許可權的使用者只能察看當前的 chkconfig配置。輸入:
[root]# chkconfig --list | grep on
輸出的部分內容大致如下:
QUOTE:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947685/,如需轉載,請註明出處,否則將追究法律責任。
下一篇:
UNIX 系統感染病毒的解決方法(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- 用紅帽子的chkconfig管理Init指令碼(轉)指令碼
- 用紅帽子的chkconfig管理Init指令碼指令碼
- 紅帽子認證輔導教程(轉)
- 實用的linux下指令碼!(轉)Linux指令碼
- U盤安裝Linux紅帽子6.4系統Linux
- 在Linux 中用chkconfig輕鬆管理啟動程式(轉)Linux
- CentOS的System V init啟動指令碼CentOS指令碼
- 龍芯轉型:摘掉紅帽子,要建生態系統
- Linux指令碼語言PERL 的模板應用分析(轉)Linux指令碼
- 用chkconfig輕鬆管理啟動程式
- Linux管理指令碼之自動執行指令碼Linux指令碼
- (轉)Linux init詳解Linux
- Linux init詳解(轉)Linux
- Linux裝置管理指令setleds(轉)Linux
- Linux 指令篇:起始管理--shutdown(轉)Linux
- Linux chkconfigLinux
- 使用shell指令碼在Linux中管理Java應用程式指令碼LinuxJava
- 有點用的linux shell 指令碼Linux指令碼
- 用Linux Shell指令碼輕鬆管理Radius伺服器Linux指令碼伺服器
- 求助:安裝紅帽子重引導後出現GRUB Hard Disk Error(轉)Error
- Linux chkconfig命令Linux
- Linux管理指令碼之清理空間Linux指令碼
- 用於管理應用程式得shell指令碼指令碼
- Linux swap 佔用分析指令碼Linux指令碼
- DB2的一些管理用指令碼DB2指令碼
- 關於許可權管理的實用指令碼指令碼
- 解剖Nginx·自動指令碼篇(2)設定初始變數指令碼 auto/initNginx指令碼變數
- 用oop的方法設計js指令碼 (轉)OOPJS指令碼
- Linux下init程式原始碼分析Linux原始碼
- 使用指令碼utlpwdmg.sql啟用密碼管理指令碼SQL密碼
- Linux 指令碼編寫基礎(轉)Linux指令碼
- Linux檢視佔用swap的程式指令碼Linux指令碼
- 應對紅色程式碼的六個實用方法 (轉)
- linux shell 指令碼語言教程(超詳細!)Linux指令碼
- Linux 記憶體管理:Kmem_cache_initLinux記憶體
- Linux 指令篇:使用者管理--adduser(轉)Linux
- Linux 指令篇:裝置管理--loadkeys(轉)Linux
- Linux 執行級init詳解(轉)Linux