Linux 基礎學習篇 - Red Hat Linux 6.1

開機、關機與多重開機 - for Red Hat Linux 6.1

大概在 1999~2000 年期間為了防止自己忘記所作的學習心得紀錄!

最近更新時間: 2001/08/12

1999 年初次接觸 Unix 系統,1999 年底接觸 Red Hat 6.1,而在 2000 開始撰寫一些心得文章,於是有了底下這些文字的產生。 這些文字對大家來說,可能沒什麼,但是對鳥哥來說,這是相當珍貴的!所有鳥站的資料起源,都是從這些文字開始的! 慢慢再將許多的指令分門別類的處理進去!網站的資料彙整,真的相當花費時間啊~

不過對於學習者來說,這些資料真的不要再讀了!因為實在太老舊... 建議您前往本站查詢最新版本的 Linux distribution 文章來閱讀,比較不會浪費時間。最新文章請前往鳥站首頁查閱囉!

開機與關機

開機不是只要按一下電源鈕而關機只要關掉電源鈕就可以了嗎?有何大學問?話是這樣沒錯啦,但是由於 Linux 是一套多人多工的作業系統,你難保你在關機時沒有人在線上,如果你關機的時候碰巧一大群人在線上工作,那會讓當時在線上工作的人馬上斷線的!那不是害死人了!一些資料可以無價之寶哩!另外,與 DOS 環境不同的是, Linux 在執行的時候,雖然你在畫面上只會看到黑壓壓的一片,完全沒有任何畫面,但其實他是有很多的程式在背景底下執行的,例如郵件程式、瀏覽器主機程式等,你如果隨便關機的話,是很容易傷害硬碟及資料傳輸的動作的!所以在 Linux 下關機可是一門大學問喔!

開機(登入)

對啦!在沒有電源的情況下,開機只要按一下電源鈕就夠了!電腦會先去讀 BIOS 裡頭的設定,然後就開始開機程序。請記得,如果你在 BIOS 的開機設定是以 CD-ROM 為第一項,請將可開機的光碟片拿出來。且 A 槽最好不要放軟碟喔!

OK!是否還記得在安裝 Linux 的時候安裝的開機程式是啥?沒錯,就是可以設定多重開機的 Lilo 這套軟體,而由於 Lilo 的開機資訊通常是存放在 MBR 當中,所以系統會先找到我們的 Linux 設定,因此開機過程中,螢幕的最底下一行會出現:
 


LILO boot:_ 

這一行字,如果你在大約十秒鐘的時間沒有動作,則系統將以 Linux 預設的情況進行開機(通常是預設為 Linux 開機)。如果你在這個時候按一下 『Tab』 鍵,則螢幕上應該會出現:
 


LILO boot:           <== 這裡按一下 Tab
linux    dos
boot: _                    <== 游標在這裡

好了,這個畫面告訴你系統目前有兩個可以開機的磁區,其名稱分別是 linux 與 dos 兩個,其實這就是我們在安裝的時候設定的開機名稱!而游標會在 boot: 後面,這時如果按 『Enter』 則系統會直接以預設的 linux 系統開機,如果打 linux 則同樣以 linux 開機,當然,打 dos 就會以 dos 進入開機程序!所以打 dos 開機時你就會見到 windows98 的開機畫面囉!因此,如果你在安裝 Linux 之前的 Windows98 並沒有安裝的很完整,這個時候可以再以 dos進入 Windows98 去設定你其他的需求!

嗯,如果你是以 Linux 開機,那首先系統會先去搜尋你的硬體設備,這時螢幕上會出現很多硬體資訊的訊息,你可以一行行的看,也可以不用看,因為每次開機的這些資訊會存在 /var/log/dmesg 這個檔案中,你可以在開機完畢之後再仔細的分析這些檔案資料!搜尋軟硬體資訊之後,便開始啟動一些服務(services),例如: ftp、telnet、talk等等!當然,你的其他架站設定也會一併的啟動。在預設的狀況之下, Linux 的架站服務會自動幫你設定兩個基本的小站,一個是 mail server ,用的是 sendmail 這套軟體,另一個是 WWW server ,用的是 httpd 這一套軟體,不過這些服務一開始的設定可能是不對的,這不打緊,因為架站這部分我們會在後面提到,這裡只是先告訴你一般來說 Linux 會有的預設服務罷了!

開機完畢之後就需要登入了,登入的畫面有點像這樣:

會顯示你所使用的 Linux 核心版本 (Kernel) 與 Red Hat 版本!這裡注意一下,上面這個例子中,因為我是以另一台已經將核心更新過的機器作為示範,所以核心版本是 2.2.18 ,如果你是以這個站上面的檔案製成的光碟安裝的話,你的核心應該是 2.2.12-20 才對!好了,現在在 login: 的地方輸入: root ,按 Enter 後再輸入你的密碼,就可以順利的登入你的機器了,root 是系統管理員的意思。另外要注意的是,由於這一款 Linux 為了系統保密的關係,是不允許遠端以 root 的身份登入的!就是說,如果你以後以 telnet 的網路方式連上這台機器的話, root 這個帳號是不能進入的!因此身為系統管理員的你最好有另一個一般的帳號,如我以 vbird 的身份登入我的系統之後,有如下面的畫面:

系統會告訴你,你上次進入系統的時間與連線的機器!然後會顯示你的身份與所在的目錄!注意囉,如果你是以 root 身份進入的話,那就會變成  [root@tsai root]# 這付模樣。

另外,如果你在前一章安裝設定時設定開機啟動為 X-Window,那出現的登入畫面則是一個圖形介面的咚咚,登入的方法是一樣的,只是畫面變成圖形介面了!
 

遠端以 Windows 軟體登入 Linux 主機

這是我對 Linux 最喜歡的功能之一了,當你已經架設好 Linux 主機,並且也已經正常的連上 Internet 之後,你應該已經有個合法的 IP (實體IP),如果你已經設定好了 DNS 的話更棒,這樣你可以直接使用 telnet 或 netterm 等連線軟體登入你這架主機!假設你的 DNS 是 sun.os.test.com ,則使用 『開始』->『執行』鍵入:

telnet  sun.os.test.com,
這樣在任何地方就都可以連上你的主機囉!很棒吧!
 

關機

關機的方式有很多,不過都要注意一件事,就是『不要在開機的情況下直接按下電源』關機,不然造成機器損毀時不要找我.....。
通常關機所下的指令是(在指令之前的 # 是提示字元的意思!):
 

# shutdown  -h  now

或者是:
 

# reboot

這是立刻關機及重新開機的意思,不過很多的文章都建議在進行關機程序之前,先將 Linux 貯放在緩衝區的資料寫進硬碟中,所以你可以先執行:
 

# sync

這個指令來將資料寫回磁碟中!當然了,你也可以讓系統在固定的時間或在一定的時間後關機,指令如下:
 

# shutdown  -h  20:25            <======系統在今天的 20:25 關機
# shutdown  -h  +10               <======系統在 10 分鐘後關機

在關機的過程中也會顯示相當多的訊息,以告訴你系統關閉的項目為何。

通常我都是使用 reboot 這個指令來重新啟動 Linux ,而在 Linux 跑完關機程序之後我便將電源關掉!因為我的系統目前還很單純,沒有開啟很多服務,自然不用太在乎緩衝區中的資料,但是,好習慣的養成是很重要的,所以正確的關機程序應該是需要養成的!你可以如下進行關機程序:
 

# sync;sync;sync
# reboot

然後在系統出現 嗶 的一聲後再關掉電源!

那如果你是以 X-Window 登入的話,要登出時你可以以滑鼠在畫面中的左下角有一個『腳丫子』形狀的咚咚上面按一下,會出現類似 Windows 的『開始』的一串字,最下方有一個 logout 的選項,按下這個選項後,畫面正中央會出現一個方框,裡面共有三個選項,這時選擇 reboot 這個選項即可重新開機!

設定 Lilo 多重開機

其實,這一部份應該在後面才提到,因為目前還沒有說到『 vi 』這套文書處理程式(有點像是早期 DOS 下的 PE2或是漢書等軟體),不過因為多重開機與開關機是有相關的,所以鳥哥將之寫在一起, Anyway,這裡還是假設您已經知道如何使用 Linux 下的文書處理軟體了,如果您還不瞭解 vi 的話,請先翻到後面的章節學學使用 vi 再說吧!

設定多重開機時僅需要修改一個檔案,及執行一個檔案!修改的檔案在 『 /etc 』目錄下,檔名為 lilo.conf ,所以你要做的就是以 vi 來修改這個檔案囉!注意唷,因為底下要修改的檔案只有 管理員(root) 才有權限更改,所以除非你在主機上以 root 的身份登入,否則你必須使用 su 來更改你的身份成為管理員。執行的程序如下:

以 root 的身份登入之後先進入 etc 這個目錄,然後執行 vi ,所以鍵入:
 

# cd /etc
# vi lilo.conf

按下 enter 之後,畫面會變成這樣:

畫面的最下面一行會告訴你這個檔案的屬性為:這個檔案共有 20 行,及共有 306 個字元!你可以用方向鍵移動游標,在這個檔案中,由於我先更新過系統核心,但又不想放棄比較先前一個版本的核心,所以設計了兩個核心並存,另外尚包含一個 Windows 開機磁區的設定。

在此將上面的幾行字解釋一下:

  1. boot=/dev/hda 』:告訴你開機是由 hda第一顆硬碟,在安裝的時候解釋過。)的 MBR 開機;

  2.  
  3. map=/boot/boot.b 』:我也不是很清楚,應該是關於系統的模組配置檔;

  4.  
  5. install=/boot/boot.b 』:跟上面一樣;

  6.  
  7. 『 default=linux-2.2.18 』:系統的預設開機選項為 linux-2.2.18 這一項!注意: image後面接的就是開機的咚咚,所以共有三個開機檔(兩個image及一個other)

  8.  
  9. image=/boot/vmlinuz-2.2.12-20 』:vmlinuz-2.2.12-20是系統核心開機檔,這一行以下的咚咚在告訴你,以 vmlinuz-2.2.12-20 這個版本核心的訊息;(其中要注意的是,底下每行的前面是按下 Tab 鍵所造成的空白,不是以空白鍵按出來的。)

  10. label=linux-2.2.12  :就是你在按下 Tab 鍵之後,顯示的檔頭資料;
    root=/dev/hda5      :就是開機磁區位於第五個開機磁區(與你的硬碟配置有關)
    read-only           :這個系統檔只可以讀取!
     
  11. 底下的另一個 image 是同樣以 Linux 核心開機的設定資料;

  12.  
  13. other=/dev/hda1 』:最後面這一個咚咚告訴你,還有一個非 Linux 的開機磁區在 hda1 上面,而這個開機磁區的代號為 win98。
注意到了沒?在開機的選項後面均有一個開機的磁區,在 Linux 下,分別是 /boot/vmlinuz-2.2.12-20、/boot/vmlinuz-2.2.18及 /dev/hda1,這就是開機的系統區,而在你安裝 Linux 前,不是有分割硬碟嗎?這裡你就可以參照一下你的開機區與你的系統所在磁區囉!

將預設的開機選項設定為 Windows98

要將原先設定的 Linux 開機變成 Windows 開機是很簡單的。基本上最上面幾行可以不用修改,僅需要改的是 default 這個項目,如果你希望進入系統時先以 Windows 開機,若輸入 linux 才進入 linux 系統的話,你可以將 default 後面的 linux-2.2.18 改成 win98 這個項目。

  1. 先移動游標至 linux-2.2.18 的 l 字母上面;
  2. 按小寫『 x 』將 linux-2.2.18 消掉(x 鍵是 vi 這套軟體的 del 鍵)
  3. 按小寫『 i 』之後變成輸入模式,畫面底部會變成『 -- INSERT -- 』字樣,
  4. 輸入 win98
  5. 按 Esc 鍵退出輸入模式,
  6. 按『 :wq 』修改貯存並退出 vi 軟體;
  7. 最後,請一定輸入『 lilo 』以執行修改後的設定。畫面會如下:

然後重新開機即可完成設定。上面這一個畫面系統就告訴你,目前有三個開機區,而預設的開機區是 win98 (有打 * 號的),這樣便完成修改的動作囉!當然,要改回來的話,只要將前四個步驟的 win98 與 linux-2.2.18 對換回來即可!

另外,常常我們在進行多重開機的設定時,偶爾會有設定錯誤的情況發生,這時,在上面這個畫面中,就不會顯示『*』,而且也不會有 Added 字樣產生,果真如此的話,請您再回剛剛的 vi 畫面修改 lilo.conf 這個程式,通常最容易發生錯誤的地方在:你所給的開機磁區不存在,或者你的開機檔案寫錯了!


本章問題討論

  1. Q:如何完全移除 Lilo :

  2. A
    請參考前面一章的問題討論。
     
2002/01/01以來統計人數
伺服器篇文件
各版本彙整說明
CentOS 6.x