Linux中ntsysv, service, chkconfig, init, setu詳解

來源:互聯網
上載者:User


一、setup 命令
在 Red Hat Linux 裡頭有一個相當好用的系統參數設定工具,那就是大家都耳熟能詳的『 setup 』??≌夤ぞ咚蕩┝艘裁揮惺裁刺厥獾牡胤劍?褪撬??恍 /etc/sysconfig 裡的設定參數給他做成圖形介面就是了!基本上,如果你對系統熟的話,那麼不需要使用 setup 也是可以的啦!直接修改 /etc/sysconfig 底下的東西就可以???br />setup:
我們先來說一說 setup 的用法吧!以 root 的身份在 command line 輸入 setup 就可以進入。

二、、系統啟動服務工具: ntsysv, service, chkconfig, init,

 

系統啟動服務工具:ntsysv, service, chkconfig, init,
大 家一定都有:『咦!我某些服務在開機的時候啟動,要怎麼開始?』的疑問吧!?像我一開始玩 Linux 的時候,就對這個問題很有興趣!嘿嘿!完到最後才終於曉得,原來開機能不能執行跟你的 /etc/rc.d/init.d 裡頭的服務設定項目有關,例如我要立刻就啟動 apache ,那麼 apache 的啟動 script 稱為 httpd ,所以要啟動他就需要:
/etc/rc.d/init.d/httpd start
此外,一開機是否立刻啟動則是設定在 /etc/rc.d/rc[0-6].d 這總共七個目錄下的資料中!我們當然可以手動來進行連結檔案,使他符合我們所需要的特性,但是我們也可以透過 Linux 給我們的設定工具來執行呦!
ntsysv

 
[root @test /root]# ntsysv [--level run-level]
參數說明:
--level :可以設定每一個 run-level 的開機啟動項目
範例:
[root @test /root]# ntsysv       <== 目前的 run-level 下的設定
[root @test /root]# ntsysv --level 5  <== 不同 run-level 下的設定修改
說明:
這 支工具蠻有意思的!他可以設定開機時後啟動的項目呢!就是在 setup 裡頭的 System Services 那個設定的地方!比較不一樣的地方在於,這個單獨的程式還可以執行非目前 run-level 的啟動項目。如果您回到前面提到的『開機流程』的地方,那麼就會發現在啟動的項目方面,需要取得 inittab 之後,才能在各個 /etc/rc.d/rc#.d 裡頭執行各不同的 scripts ,其中常用的 run-level 是 3 及 5 (文字與圖形!)。那麼 ntsysv 就可以依據:
 
/etc/xinetd.d
/etc/rc.d/init.d
 
這兩個資料夾內的 scripts ,然後配合 /etc/rc.d/rc#.d 裡頭的 scripts 來進行連結檔的設定!
 
service

 
[root @test /root]# service [service name] [start|stop|restart]
參數說明:
service name :這個服務名稱必須要實際存在 /etc/rc.d/init.d 這個目錄下才行
start|stop.. :基本上,這個與 /etc/rc.d/init.d/service_name 所允許的啟動形式有關!
範例:
[root @test /root]# service xinetd restart  <==重新啟動 xinetd 
[root @test /root]# service sendmail start  <==啟動 sendmail 這個服務!
說明:
這 個程式就更簡單了!基本上他只是一支 script 而已!他會將 /etc/init.d (其實就是 /etc/rc.d/init.d )的東西取出來,然後進行分析啦!例如上面的例子中,[ service xinetd restart ] = [ /etc/rc.d/init.d/xinetd restart ]這兩個是完全相同的東西呦!只是 service 把他更簡化了而已!除此之外,在 ntsysv 與底下接著要說明的 chkconfig 都是『等到下次開機的時候再啟動』的方式,那麼有沒有辦法立刻啟動呢?呵呵!那就是 service 的工作啦! service 可以直接將該服務啟動呦!
 
chkconfig

 
[root @test /root]# chkconfig [--level levels] [--list|add|del] [service name]
參數說明:
--level :同樣的說明了可以設定不同的 run-level 的咚咚!
--list  :列出 run-level 情況下的該套件名稱是否有被開機啟動?!
--add   :增加一個 service_name 在開機的時候啟動;
--del   :刪除一個開機啟動的服務!
service name :這個服務名稱必須要實際存在 /etc/rc.d/init.d 這個目錄下才行
範例:
[root @test /root]# chkconfig --list sendmail  <==列出 sendmail 的啟動! 
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
上面說明, sendmail 在 run-level 0, 1, 6 的時候是 off ,而在 2,3,4,5 是 On 的情況!
[root @test /root]# chkconfig  <==列出系統所擁有的執行服務,並且列出是否開機啟動?
keytable        0:off   1:on    2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
kdcrotate       0:off   1:off   2:off   3:off   4:off   5:off   6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
gpm             0:off   1:off   2:on    3:off   4:on    5:on    6:off
kudzu           0:off   1:off   2:off   3:off   4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
netfs           0:off   1:off   2:off   3:off   4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
random          0:off   1:off   2:on    3:on    4:on    5:on    6:off
rawdevices      0:off   1:off   2:off   3:off   4:on    5:on    6:off
apmd            0:off   1:off   2:on    3:off   4:on    5:on    6:off
ipchains        0:off   1:off   2:on    3:off   4:on    5:on    6:off
iptables        0:off   1:off   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
anacron         0:off   1:off   2:on    3:off   4:on    5:on    6:off
xinetd based services:
        chargen-udp:    off
        chargen:        off
        daytime-udp:    off
        daytime:        off
        echo-udp:       off
        echo:   off
        time-udp:       off
[root @test /root]# chkconfig --add gpm   <==增加 gpm 這個咚咚在開機的時候啟動!

說明:
chkconfig 這個程式可以將 /etc/rc.d/init.d/ 裡面的可執行服務與 /etc/xinetd.d 裡面的相關可執行檔服務,連結到目前的 run-level 裡頭去,或者是您可以定義你的 run-level 讓你的該項服務在開機的時候就給他啟動?不過請注意呦! service 是馬上讓你的該項服務立刻啟動,但是 chkconfig 則僅是設定某個服務在開機得時候可以被啟動,並不一樣,請注意!
 
init

 
[root @test /root]# init [0-6]
參數說明:
範例:
[root @test /root]# init 5  <==轉為圖形介面登入!
說明:
說完了 /etc/rc.d/rc[0-6].d 與 /etc/rc.d/init.d 的執行序之後,呵呵!如何切換呢?是否一定要修改 inittab 這個檔案?!其實不需要,直接使用 init 這支程式就行了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.