Linux 基礎學習篇 - Mandrake 9

第二十章、系統設定常用指令 - for Mandrake 9

鳥哥的第一本書籍的主要內容,內容稍微與書籍不太一樣了!

最近更新時間: 2003/02/11

鳥哥的第一本書大約是在 2002 年的年底左右出版的,內容幾乎都是 Linux 基礎學習,一點也沒有談到伺服器的部份!這也是後來的雛型! 不過內容錯誤的地方很多,導致在 2003 年的年底推出了『基礎學習篇增訂版』的內容,大致上就是處理掉一些比較有嚴重錯誤的部份。 不過,因為 Linux 的版本變化非常快速,因此,寫完了這些文件之後,鳥哥還是持續在網站上更新文件內容,導致原本書籍內容的資料與網站資料差異太大! 這個問題直到鳥哥在 2008 年左右才發現!糟糕了!舊版的文件資料已經遺失~覺得相當扼腕~

因此,在底下的文件內容與當初的書籍內容雖然大同小異,不過章節的編排卻是有所不同!再花時間去一個一個處理,似乎也不太符合成本效益! 鳥哥僅是想要將自己以前的文件記錄下來而已,同時將過時的 big5 編碼改回 utf8 編碼,再加上可以支援 RWD 的樣式而已啦! 內容已經不多做編排~因此,如果內容文件你看不懂,那也是應該的! ^_^

建議您前往本站查詢最新版本的 Linux distribution 文章來閱讀,比較不會浪費時間。最新文章請前往鳥站首頁查閱囉!

基礎設定工具

我們在 Linux 系統開機流程的說明中提及了相當多次的系統設定檔案所在的目錄,那就是 /etc/sysconfig 這個目錄囉,您可以手動的修改一下該目錄裡面的各個檔案,以使符合您的系統環境!底下我們會介紹關於這個目錄底下各個檔案所代表的意義啦!
 
由於這本書當中尚未提到關於網路架設的部分(若還寫下去的話,那麼這本書也就太重了…),所以我們先以簡單的方式來說明一下如何設定網路方面的功能,這個時候,每個 distribution 所提供的一些好用的小工具軟體,就得給他瞭解一下的啦!底下我們分別介紹一下目前最流行的兩套 distribution 的工具,分別是 Mandrake 與 Red Hat 的兩個小工具呦!

Mandrake 系統設定工具:

在 Mandrake Linux 裡頭已經有一個相當好用的系統參數設定工具,那就是大家都耳熟能詳的『 drakconf 』囉!這工具說穿了也沒有什麼特殊的地方,就是他將一些 /etc/sysconfig 裡的設定參數給他做成圖形界面就是了!基本上,如果你對系統熟的話,那麼不需要使用 drakconf 也是可以的啦!直接修改 /etc/sysconfig 底下的東西就可以囉!好吧,閒話不多說,我們就來看一看 drakconf 的功能吧!
  • 屬性相依的套件需求:

  • 如果您當初使用的安裝方法是比較小的安裝方式,例如鳥哥都不安裝圖形介面的,好讓我那小的可憐的硬碟還可以被拿來當作資料備份之用…這個時候,很可能 drakconf 就沒有被您安裝上來囉!此時,請將您的 Mandrake 9.0 的 CD 1 拿出來,給他放入光碟機當中,並且掛載上來,再使用 RPM 的方法,安裝一下底下的各個套件:
     
      userdrake-0.5-3mdk.i586.rpm
      menudrake-0.7.1-3mdk.i586.rpm
      rxvt-2.7.8-5mdk.i586.rpm
      harddrake-ui-1.1.9-53mdk.i586.rpm
      drakcronat-0.1.2-9mdk.noarch.rpm
      drakconf-9.0-6mdk.i586.rpm
     
    玩過了前面幾章之後,千萬不要不曉得我上面講的是什麼內容….如果忘記了,請回到前面的章節,並且『仔細的,好好的再看一遍』吧!這樣安裝完畢之後,就會有 drakconf 在你的系統當中囉!如果您想要知道你的 Linux 系統當中有沒有 drak 為開頭的指令要怎麼尋找?別擔心!回到第三部分講 Shell 的地方,還記得 BASH 裡面關於 <tab> 按鍵的用途吧!呵呵!試試看就知道會發生什麼事情囉!
在你輸入 [root @test root]# drakconf 之後,就會出現底下的圖樣:
 
 
如上為 drakconf 的主要圖示,在這些畫面中,除了要您以鍵盤輸入文字的時候會有底線之外,其他的時候,只要移動『上下左右』、『空白』、『tab』及『Enter』等按鍵操作即可!drakconf 主要僅是將幾個小工具彙整成為一個啦!那麼這個 drakconf 底下彙整了哪些小工具呢?看看上面的圖示,您會發現有底下幾個個別的小工具:
  • Add new users:新增帳號工具,您可以參考第十三章的內容;
  • Boot Configuration:就是 LILO 跟 Grub 的內容,參考十七章內容;
  • Connection Sharing:這個就是鼎鼎大名的 DHCP ( Dynamic Host Configuration Protocol ) 主機的設定啦!就是讓您的 Linux 成為 DHCP 主機,可以分配 IP 給同一個網域內的其他電腦呢!
  • Display Configuration:設定您的顯示模式,也就是在圖形介面無法登入的時候,可以用來修正 Xfree86 這個圖形使用者介面的工具!
  • Internet & Network:設定網路啦!包括您的網路卡、主機名稱等等!
  • KeyBoard Configuration:鍵盤的設定,主要是鍵盤的格式;
  • Mouse Configuration:設定滑鼠的類型;
大概就是這樣啦!底下我們分別來說一說各個工具的內容吧:

  • Add new users:

  • 新增使用者的方法我們都知道直接使用 useradd 再以 passwd username 設定密碼即可!這個小工具即是幫我們進行這兩個動作,其圖示如下所示:
     

     
    那個 User name 才是『帳號』,至於 Real name 則是在 /etc/passwd 當中的第五欄說明欄的內容啦!輸入完畢之後就給他 Accept user 即可!

  • Boot Configuration

  • 其實這個就是 /usr/sbin/drakboot 這支程式啦!他的功能亦即是我們在開機流程的內容所提到的 LILO 與 Grub 內容,就是進行開機管理啦!按下這個功能之後會出現如下的圖示:
     

     
    事實上,這個動作可以幫我們設定兩個咚咚,第一個是分別設定 /etc/lilo.conf 或 /boot/grub/menu.lst 這兩個設定檔,第二個則是將該設定寫入 MBR 或 Super Block 當中!記得回到開機流程去瞧一瞧內容即可!當然啦!由於他還可能會幫我們寫入 MBR 或 Super Block 呢!所以還是要小心一點呢!

  • Connection Sharing

  • 這個動作是在幫我們主機進行 DHCP 設定的各個規劃,由於我們尚未提到網站架設的部分,俺可不希望這裡隨便講講,結果您照著這裡的作法也隨便作作,最後就被怪客隨便破解~所以呢,有興趣的朋友您可以自行試做看看,其實很簡單,照著出現的圖樣一步一步輸入參數就對了!但是什麼參數才是對的?呵呵!如果您真的很急的話,那麼可以先參考底下的網站呢:
    http://www.study-area.org/linux/servers/linux_dhcp.htm
    http://linux.vbird.org/linux_redhat7.2/65dhcp.html

  • Internet & Network

  • 但是網路內容就得說一說了,因為如果不作的話,那麼您的 Linux 怎麼上網呢?OK!這裡就來稍微談一談吧!現在上網的方式主要有三種,分別是:
     
    1. 固定制的 IP:使用的是稱為 LAN ( Local Area Network ) 的方法;
    2. 浮動式的 ADSL :就是使用 ADSL 呀!
    3. 浮動式的 Cable :就是使用 DHCP 呀,同樣也是選擇 LAN 的方法。
     
    我們先來談一下比較簡單的 LAN 的設定,首先,要使用 LAN 之前,請先確認您的網路參數,分別是:
     
    1. Protocol  固定( Static )或動態( Dynamic ) IP 分配
    2. IP    你的主機位址
    3. Network  你的主機網域
    4. Netmask  你的主機子網路遮罩
    5. Broadcast  你的主機的廣播位址
    6. Gateway   你的主機所使用的通訊閘
    7. Hostname  你主機的名字!
    8. DNS   你需要 ISP 的 DNS 的 IP
     
    其中,在協定(Protocol)的部分要特別注意了,若以 ISP 的角度來看,那麼如果協定為 static 則是固定 IP 的設定方式,如果是 Dynamic 則是 Cable 的設定方式!這是因為 Dynamic 就是使用 DHCP 這個協定所造成的啦!好了,現在來看一看按下了 Internet & Network 這一項,會出現如下的圖示,這個時候請選擇 Configuration the connection 。
      
     
    這個時候會出現是否自訂設定或專家模式,然後請按下專家模式:
      
     
    OK!既然要使用 LAN 所以使用 LAN connection 喔!
      
     
    然後出現了硬體的選擇項目,如下所示,在下圖中顯示了兩張網路卡的模組,這是因為我有兩張網路卡,所以上頭會顯示兩個模組。所以,如果您的主機跟我的主機網路卡的形式或者是數量不同,那麼您主機上面的圖樣就會跟我不相同囉!注意注意。好了,在下圖中問你是否還有其他的網路設備?因為我知道沒有其他的網路卡了,所以當然就選擇 No 囉!
      
     
    好了,底下要開始給他設定一下你的網路囉!在這個例子中,首先我們使用固定制的方式,使用了 192.168.1.2 這個私有 IP ,然後選擇不要 bootp/dhcp ,並且設定在開機的時候啟動,因此勾選 Start at boot !
      
     
    不過,如果你是使用 Cable 的話,或者是您公司有架設 DHCP 主機的話,那麼上面的圖示中,你就需要選擇『Automatic IP 』這一項!而其他的就直接設定的跟我一樣即可!這可是很重要的!然後再設定你的主機名稱與 ISP 給你的 DNS 的 IP,還有 Gateway 或者是 Gateway 的裝置!像我是以 eth1 做為對外的網路卡,因此就選擇 eth1 囉!
      
     
    這樣就設定 OK 啦!其實,以上的步驟就只是設定底下幾個檔案:
     
    • /etc/sysconfig/network
    • /etc/sysconfig/network-scripts/ifcfg-eth0
    • /etc/resolv.conf
     
    我們在網路架設篇再來聊一聊如何設定這些資料,包括使用手動的方式設定固定 IP 、 Cable 與 ADSL 上網的方式!
     
    這些就是 drakconf 的主要功能了!當然,還有 X-window 裡面的 XFree86 的硬體設定!不過,這些資料我們就在 X-Window 章節裡面再提囉!

Red Hat 基本系統設定指令

    在 Red Hat Linux 裡頭有一個相當好用的系統參數設定工具,那就是大家都耳熟能詳的『 setup 』囉!這工具說穿了也沒有什麼特殊的地方,就是他將一些 /etc/sysconfig 裡的設定參數給他做成圖形界面就是了!基本上,如果你對系統熟的話,那麼不需要使用 setup 也是可以的啦!直接修改 /etc/sysconfig 底下的東西就可以囉!
setup:
我們先來說一說 setup 的用法吧!以 root 的身份在 command line 輸入 setup 就可以進入如下的畫面:
主要有底下幾個設定的咚咚:
  • Authentication configuration:這是關於系統性安全的設定項目;
  • Firewall configuration :這個是關於 ipchains 的防火牆機制設定;
  • Keyboard configuration :這個是鍵盤的類型設定項目;
  • Mouse configuration :設定滑鼠的型態的地方啦;
  • Network configuration :設定網路參數的地方,包括你的 IP 呦!
  • System services :設定一些系統服務的地方;
  • Printer configuration :設定印表機囉;
  • Sound card configuration :就是設定音效卡啦!
  • Timezone configuration :設定時區;
  • X configuration :設定 X-Window 相關的硬體設定!
    依序介紹一下裡面的各種資料囉:

  • Authentication configuration

  • 還記得我們在 帳號管理 那一篇文章裡面提到的東西嗎?對啦!我們在管理密碼的時候就是使用那個 shadow 的資料!好啦,那麼怎麼改變這些密碼資料的設定呢?呵呵!就是在這一項囉!按下他之後會出現底下兩個畫面:
     
     

     
    那個 NIS, LDAP, Hesiod 等等都是其他類型的 ID 與 pass word 管理伺服器,這裡我們不太需要使用到這麼高級的伺服器!所以只要簡單的 ShadowMD5 這兩個編碼過的安全防護即可!所以囉,您可以在這裡勾選 Shadow 與 MD5 就行了!除非後來您還想要加入上述的伺服器!( 註:這個項目完成之後,會寫入/etc/sysconfig/authconfig這個檔案當中!所以也可以直接修改這個檔案即可!)

  • Firewall configuration

  • 這是用來設定防火牆的!
     
    • 在設定防火牆之前需要來瞭解一下什麼是『防火牆』?簡單的說,防火牆就是資料封包的過濾機制的套件囉,目前在 2.2.xx 上面使用的是 ipchains 這個封包過濾,至於 2.4.xx 則使用的是 iptables 這個封包過濾機制。此外,這兩個封包過濾機制『不能同時開啟』!
     
    但是在這個 setup 當中的 firewall 比較詭異一點點,就是在 Red Hat 7.1 以後的版本中(包含這一版的 Red Hat 7.2 )使用的 Kernel 是 2.4.xx 版本,這一版的適合的防火牆如前述是 iptables 這個機制,但是
     
    • 這支程式使用來設定的卻是『 ipchains 』真是的~~而且,另外一點比較怪異的是,
    • 這個程式啟動之後,所顯示的是『程式預設值』而不是您目前的設定值所以每次進入都會顯示『Security Level 為 ( ) High 那一項!,不過,只要不按下 OK 的話,就不會改變您原先的設定!
     
    基本上,這個東西用來設定 ipchains 是可以啦,但是用來設定 iptables 則『沒有辦法』,最起碼我試不出來,如果您試出來的話,可得教教我呦!按下之後顯示出來的樣子如下:
     
     

     
    請注意,在上面的設定當中,是適合於 ipchains 的,再強調一次,所以如果您使用了 iptables 作為您的防火牆機制,那麼就不要使用這支程式了!另外,在第二個畫面中,需要特別注意的是:
     
    • 如果您只有一張卡(例如上面的例子),那麼千萬注意『不要開啟 eth0 』這個咚咚!上面的意思是說,『來自底下的界面卡(例如 eth0)或者是底下的 port 號,則予以接受』,那麼當您接受 eth0 的請求,偏偏這個卡是對外卡,那麼由於所有的要求都是由外界來的,所以底下的設定則完全沒有用了!因為檢查到界面卡的部分就予以放行的意思!這裡請注意!
    • 萬一,若您有兩張網路卡,一張對內(假設為 eth0 )一張對外(假設為 eth1 ),那麼對內信任對外不信任,則可以勾選 eth0 為信任的(溝成星號),而 eth1 則不勾
     
    那麼這個設定在產生什麼設定檔案呢?
     
    • 這個設定完成之後,會在 /etc/sysconfig 產生一個名為 ipchains 的檔案,這個檔案即是開機時啟動的設定檔,您可以查詢到 /etc/rc.d/init.d/ipchains 這個啟動檔案的內容看到!!
    • 同理,如果您想要一開機立即將您的 iptables 機制的規則寫上去的話,那麼就可以在 /etc/sysconfig/ 建立一個名為 iptables 的檔案囉!

  • Keyboard configuration

  • 這是用來設定鍵盤型式的!如下圖所示:
     
     
    選擇正確的即可!通常我們選擇 us 這一個就對了!(註:修改的結果會記錄在 /etc/sysconfig/keyboard 這個檔案中!)

  • Mouse configuration

  • 這是用來設定滑鼠的!按下去之後會顯示出下面的圖示:
     
     
     

     
    看到了喔!如果是 ps/2 的介面的話,那麼上面就會顯示出 Generic Mouse (PS/2) 的那一項!請依照您的硬體來設定好你的滑鼠周邊!( 這個項目會在 /etc/sysconfig/mouse當中記錄下來正確的滑鼠型態,可以直接修改這個檔案呦!)

  • Network configuration :

  • 這東西是用來設定網路的東西的!按下他之後會出現底下的咚咚:
     
     

     
    所謂的 DHCP 是一種動態發放 IP 的主機,來分給 client 電腦 IP 的方式!那麼由於我們使用的是虛擬 IP 這一種靜態的 IP 給予方式,所以自然就將第一個取消囉!另外,需要特別留意的是,使用 Cable 的朋友就是以 DHCP 來上網的,所以其對外的卡使用的就得是 DHCP 協定囉!然後需要來設定 IP (給予虛擬 IP 即可!)子遮罩網路( netmask)及 gateway 等等,這個咚咚會修改到的檔案有:
     
    • /etc/sysconfig/network
    • /etc/sysconfig/network-scripts/ifcfg-eth0
    • /etc/resolv.conf
     
    大概就是如此吧!所以,基本上,手動修改上面這些檔案即可設定好網路的基礎架構囉!

  • System services

  • 這個東西也蠻好玩的,其實他就是 ntsysv 這個程式啦!按下他之後會顯示出底下的框框!
     
     
    這裡顯示的是,目前系統上以 RPM (或者是你自己寫的)可以進行『開機時後啟動的』服務項目,以這張圖表為例,顯示出 atd 這支服務在啟動的時候就會自動的啟動囉!所以你可以移動到你所想要啟動的項目之前,按下空白鍵使產生 * 後,再按下 OK 即可!不過需要注意的是:
     
    • 這個設定僅是在設定『啟動的時候可以自動執行』的服務,所以當你設定好 * 之後,除非重新開機,否則仍需要直接以手動啟動才行;
    • 這個設定所捉出來的服務項目,其內容都列在 /etc/rc.d/init.d /etc/xinetd.d這兩個目錄內;
    • 這個設定設好之後,其連結會在 /etc/rc.d/rc#.d/Sxxservername 這個檔案內,例如我以文字型態登入的,所以 run-level 為 3 ,而我要設定的是 atd 這個服務,所以就會在 /etc/rc.d/rc3.d/S95atd 這個連結檔建立到 /etc/rc.d/init.d/atd 這個執行 script 中!請注意,那麼 S 代表開機啟動的意思,而數字代表執行的順序!

  • Printer configuration

  • 設定 printer 的步驟!按下去之後可以出現如下的咚咚:
     
     
    這個我就不是很熟悉了!請有經驗的朋友來信告訴我該怎麼做吧!

  • Sound card configuration

  • 設定音效卡囉!那就設定吧!
     

  • Timezone configuration

  • 還記得我們選擇的時區嗎?呵呵!想不想改變呢?
     
     
    建立的資料寫在 /etc/sysconfig/clock 裡頭!

/etc/sysconfig/* 裡頭的設定檔案:
    剛剛提過了,那個 drakconf 與 setup 這兩支工具軟體都是在設定 /etc/sysconfig 裡面的檔案,所以我們就得來看看這些目錄裡面的檔案是幹嘛用的?我們底下只說明幾個可能會用到的檔案,並介紹該檔案的用途(註:由於不同的 distribution 當初在設計的理念多少有點不同,因此,在開機啟動的設定項目中,就會有些許的差異!所以,在 /etc/sysconfig 裡面的檔案,在各個 distribution 當中,多少也有點差異性,故而請注意您使用的版本呢!不過,底下還是列出大部分您可以察看的到的檔案吧! ^_^
     
    /etc/sysconfig/*
    用途
    authconfig 系統使用者所使用的認證方式,或者說是系統使用者使用以登入主機的密碼管理方式。目前最常見的就是每部主機自己管理自己,也就是 /etc/shadow 這個檔案,以及底下會再提到的檔案認證方式 MD5 的編碼格式!通常檔案的內容為:
     
    USELDAP=no   <==是否使用 LDAP
    USEMD5=yes   <==是否使用MD5
    USENIS=no    <==是否使用NIS
    USESHADOW=yes <==是否使用 shadow 
    autofsck 當系統出現問題的時候,通常系統會自動的執行 fsck ,但是當這個檔案存在的時候,那麼系統就會依據這個檔案的內容來決定是否需要以 fsck 來檢查硬碟資料!

    AUTOFSCK_TIMEOUT=5   <==暫停時間等待輸入
    AUTOFSCK_DEF_CHECK=no  <==若不輸入是否進行 fsck 檢驗,這裡是設定為 no 喔!

    clock 記錄時區的檔案內容:

    UTC=true      <==設定時區為以 GMT 時區的設定
    ARC=false     <==設定時間以 ARC console 來比對
    ZONE=Asia/Taipei  <==以 GMT 時間推算出本地的時區

    gpm 紀錄一些額外的周邊設備的檔案資料,例如滑鼠!這個服務可以讓您在文字模式下能使用滑鼠來進行複製、剪貼等等的功能!
    harddisks 要開啟 IDA 模式嗎?要啟動 16 I/O 模式嗎?沒錯!使用這個檔案來設定就對了!尤其是檔案裡頭的 USE_DMA=1 ,應該是可以直接啟動的啦!(將 # 去除!)這東西與 hdparm 程式有點關係的啦!
    hwconf 在你啟動 Linux 的時候,不是有偵測硬體的項目嗎?沒錯,偵測到的硬體就是記錄在這裡,所以,如果要瞭解你的硬體資訊,來這個檔案看一看就知道了!(註:需要對於硬體如晶片組有點瞭解的人才比較容易看懂!)這東西與 hdparm 程式有點關係的啦!
    i18n 修改預設語系的地方!很多朋友常常提到,如果預設語系選擇中文,偏偏文字模式下無法正常顯示,那麼就修改這裡的設定即可!將 LANG 的設定改成 en_US 即可!不過,有沒有支援還是得看這個檔案裡頭的 SUPPORTED 項目才行!
    keyboard 設定鍵盤的形式;
    kudzu 設定開機時後偵測新裝置的方式!
    mouse 設定滑鼠的形式
    network 設定你的網路狀態,例如 gateway, hostname 等等的地方!相當重要!
    network-scipts 所有的介面卡設定檔案的地方!例如 ifcfg-eth0 !相當的重要!
    rhn 設定一些 up2date 線上更新的註冊資料!( Red Hat 上才有!)
    iptables (不一定會存在的檔案)這個檔案為開機時啟動防火牆規則的規則檔案!

    其他的咚咚不是不重要,而是我僅列出比較相對重要的咚咚!
    註:很多檔案都必須要您的系統中有設定啟動才會存在該檔案,例如 iptables 即是一例!

系統啟動服務工具: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 這支程式就行了!
修改歷史:
  • 2002/06/16:第一次完成
  • 2003/02/11:重新編排與加入 FAQ
2002/06/17 以來統計人數
伺服器篇文件
各版本彙整說明
CentOS 6.x