一、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 這支程式就行了!