最近更新日期:2009/08/06
1. Linux與硬體的搭配
1.1 認識電腦的硬體配備 1.2 選擇與Linux搭配的主機配備: 硬體支援相關網站 1.3 各硬體裝置在Linux中的檔名 2. 磁碟分割 2.1 磁碟連接的方式與裝置檔名的關係 2.2 磁碟的組成複習 2.3 磁碟分割表(partition table) 2.4 開機流程與主要開機記錄區(MBR) 2.5 Linux安裝模式下,磁碟分割的選擇(極重要) 3. 安裝Linux前的規劃 3.1 選擇適當的distribution 3.2 主機的服務規劃與硬體的關係 3.3 主機硬碟的主要規劃(partition) 3.4 鳥哥說:關於練習機的安裝建議 3.5 鳥哥的兩個實際案例 3.6 大硬碟配合舊主機造成的無法開機問題 4. 重點回顧 5. 本章習題 6. 參考資料與延伸閱讀 7. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23874 Linux與硬體的搭配 雖然個人電腦各元件的主要介面是大同小異的,包括前面第零章計算機概論講到的種種介面等, 但是由於新的技術來得太快,Linux核心針對新硬體所納入的驅動程式模組比不上硬體更新的速度, 加上硬體廠商針對Linux所推出的驅動程式較慢,因此你在選購新的個人電腦(或伺服器)時, 應該要選擇已經過安裝Linux測試的硬體比較好。 此外,在安裝Linux之前,你最好瞭解一下你的Linux預計是想達成什麼任務,這樣在選購硬體時才會知道那個元件是最重要的。 舉例來說,桌面電腦(Desktop)的使用者,應該會用到X Window系統, 此時,顯示卡的優劣與記憶體的大小可就佔有很重大的影響。如果是想要做成檔案伺服器, 那麼硬碟或者是其他的儲存設備,應該就是您最想要增購的元件囉!所以說,功課還是需要作的啊! 鳥哥在這裡要不厭其煩的再次的強調,Linux對於電腦各元件/裝置的分辨,
與大家慣用的Windows系統完全不一樣!因為,各個元件或裝置在Linux底下都是『一個檔案!』
這個觀念我們在第一章Linux是什麼裡面已經提過,
這裡我們再次的強調。因此,你在認識各項裝置之後,學習Linux的裝置檔名之前,
務必要先將Windows對於裝置名稱的概念先拿掉∼否則會很難理解喔! 認識電腦的硬體配備 『什麼?學Linux還得要玩硬體?』呵呵!沒錯! 這也是為什麼鳥哥要將計算機概論搬上檯面之故! 我們這裡主要是介紹較為普遍的個人電腦架構來設定Linux伺服器,因為比較便宜啦! 至於各相關的硬體元件說明已經在第零章計概內講過了,這裡不再重複說明。 僅將重要的主機板與元件的相關性圖示如下: 圖1.1.1、個人電腦各元件的相關性 (上述圖示主要取自tom's硬體指南,各元件圖片分屬個別公司所有) 那麼我們應該如何挑選電腦硬體呢?隨便買買就好,還是有特殊的考量?底下有些思考角度可以提供給大家參考看看:
事實上,電腦主機的硬體配備與這部主機未來的功能是很有相關性的!舉例來說,家裡有小孩, 或者自己仍然算是小孩的朋友大概都知道:『要用來打Game的『遊戲機電腦』 所需要的配備一定比辦公室用的『工作機電腦』配備更高檔』,為什麼呢? 因為現在一般的三維(3D)電腦遊戲所需要的3D光影運算太多了,所以顯示卡與CPU資源都會被耗用的非常多! 當然就需要比較高級的配備囉,尤其是在顯示卡、CPU(例如Intel的Core 2 Duo及AMD的Athlon64 X2等)及主機板晶片組方面的功能。 至於辦公室的工作環境中,最常使用到的軟體大多是辦公軟體(Office),最常使用的網路功能是瀏覽器,
這些軟體所需要的運算並不高,理論上目前的入門級電腦都能夠跑得非常順暢了!(例如Intel Celeron及AMD的Sempron)。
甚至很多企業都喜歡購買將顯示卡、主機板晶片組整合在一起的整合型晶片的電腦,因為便宜又好用!
並不是『貴就比較好』喔!在目前(2009)全球經濟蕭條的情況下,如何兼顧省錢與電腦硬體的效能問題,很重要! 如果你喜歡購買最新最快的電腦零件,這些剛出爐的元件都非常的貴,而且作業系統還不見得能夠完整的支援。 所以,鳥哥都比較喜歡購買主流級的產品而非最高檔的。因為我們最好能夠考慮到效能/價格比。 如果高一級的產品讓你的花費多一倍,但是新增加的效能卻只有10%而已,那這個效能/價格的比值太低,不建議啦! 此外,由於電價越來越高,如何『省電』就很重要啦!因此目前硬體評論界有所謂的『每瓦效能』的單位,
每瓦電力所發揮的效能越高,當然代表越省電啊!這也是購買硬體時的考量之一啦!要知道,如果是做為伺服器用,
一年365天中時時刻刻都開機,則你的電腦多花費50瓦的電力時,每年就得要多花450度電左右,如果以企業來講,
每百部電腦每年多花450度電的話,每年得多花十萬塊以上的電費呢!所以這也需要考量啊!
並非所有的產品都會支援特定的作業系統,這牽涉到硬體開發商是否有意願提供適當的驅動程式之故。 因此,當我們想要購買或者是升級某些電腦元件時,應該要特別注意該硬體是否有針對您的作業系統提供適當的驅動程式, 否則,買了無法使用,那才是叫人嘔死啊!因此,針對Linux來說,底下的硬體分析就重要啦! 選擇與Linux搭配的主機配備 由於硬體的加速發展與作業系統核心功能的增強,導致較早期的電腦已經沒有能力再負荷新的作業系統了。 舉例來說,Pentun-II以前的硬體配備可能已經不再適合現在的新的Linux distribution。 而且較早期的硬體配備也可能由於保存的問題或者是電子零件老化的問題, 導致這樣的電腦系統反而非常容易在運作過程中出現不明的當機情況,因此在利用舊零件拼湊Linux使用的電腦系統時, 真的得要特別留意呢! 不過由於Linux運作所需要的硬體配備實在不需要太高檔,因此,如果有近期汰換下來的, 比Pentun-III 500還要新的硬體配備, 不必急著丟棄。由於P-III的硬體不算太老舊,在效能方面其實也算的上非常OK了∼所以, 鳥哥建議您如果有P-III以後等級的電腦被淘汰,可以拿下來測試一下,說不定能夠作為你日常生活的Linux伺服器, 或者是備用伺服器,都是非常好用的功能哩! 但是由於不同的任務的主機所需要的硬體配備並不相同,舉例來說,如果你的Linux主機是要作為企業內部的Mail server或者是Proxy server時,或者是需要使用到圖形介面的運算(X Window內的Open GL等等功能), 那麼你就必須要選擇高檔一點的電腦配備了,使用過去的電腦零件可能並不適合呢。 底下我們稍微談一下,如果你的Linux主要是作為小型伺服器使用,並不負責學術方面的大量運算, 而且也沒有使用X Window的圖形介面,那你的硬體需求只要像底下這樣就差不多了:
底下鳥哥針對一般你可能會接觸到的電腦主機的用途與相關硬體配備的基本要求來說明一下好了:
總之,鳥哥在這裡僅是提出一個方向:如果你的Linux主機是小型環境使用的,即時當機也不太會影響到企業環境的運作時, 那麼使用升級後被淘汰下來的零件以組成電腦系統來運作,那是非常好的回收再利用的案例。 但如果你的主機系統是非常重要的,你想要更一部更穩定的Linux伺服器,那考慮系統的整體搭配與運作效能的考量, 購買已組裝測試過的商用伺服器會是一個比較好的選擇喔!
此外,Linux開發商在釋出Linux distribution之前,都會針對該版所預設可以支援的硬體做說明, 因此,你除了可以在Linux的Howto文件去查詢硬體的支援度之外,也可以到各個相關的Linux distributions網站去查詢呢! 底下鳥哥列出幾個常用的硬體與Linux distributions搭配的網站,建議大家想要瞭解你的主機支不支援該版Linux時, 務必到相關的網站去搜尋一下喔!
總之,如果是自己維護的一個小網站,考慮到經濟因素,你可以自行組裝一部主機來架設。 而如果是中、大型企業,那麼主機的錢不要省∼因為,省了這些錢,未來主機掛點時, 光是要找出哪個元件出問題,或者是系統過熱的問題,會氣死人ㄟ! 而且,要注意的就是未來你的Linux主機規劃的『用途』來決定你的Linux主機硬體配備喔!相當的重要呢! 各硬體裝置在Linux中的檔名 選擇好你所需要的硬體配備後,接下來得要瞭解一下各硬體在Linux當中所扮演的角色囉。 這裡鳥哥再次的強調一下:『在Linux系統中,每個裝置都被當成一個檔案來對待』 舉例來說,IDE介面的硬碟的檔案名稱即為/dev/hd[a-d],其中, 括號內的字母為a-d當中的任意一個,亦即有/dev/hda, /dev/hdb, /dev/hdc, 及 /dev/hdd這四個檔案的意思。
那麼印表機與軟碟呢?分別是/dev/lp0, /dev/fd0囉!好了,其他的周邊設備呢? 底下列出幾個常見的裝置與其在Linux當中的檔名囉:
需要特別留意的是硬碟機(不論是IDE/SCSI/USB都一樣),每個磁碟機的磁碟分割(partition)不同時, 其磁碟檔名還會改變呢!下一小節我們會介紹磁碟分割的相關概念啦!需要特別注意的是磁帶機的檔名, 在某些不同的distribution當中可能會發現不一樣的檔名,需要稍微留意。 總之,你得先背一下IDE與SATA硬碟的檔名就是了!其他的,用的到再來背吧!
磁碟分割 這一章在規劃的重點是為了要安裝Linux,那Linux系統是安裝在電腦元件的那個部分呢?就是磁碟啦!所以我們當然要來認識一下磁碟先。
我們知道一塊磁碟是可以被分割成多個分割槽的(partition),以舊有的Windows觀點來看,你可能會有一顆磁碟並且將他分割成為C:,
D:, E:槽對吧!那個C, D, E就是分割槽(partition)囉。但是Linux的裝置都是以檔案的型態存在,那分割槽的檔名又是什麼?
如何進行磁碟分割,磁碟分割有哪些限制?是我們這個小節所要探討的內容囉。 磁碟連接的方式與裝置檔名的關係 由第零章提到的磁碟說明,我們知道個人電腦常見的磁碟介面有兩種, 分別是IDE與SATA介面,目前(2009)的主流已經是SATA介面了,但是老一點的主機其實大部分還是使用IDE介面。 我們稱呼可連接到IDE介面的裝置為IDE裝置,不管是磁碟還是光碟設備。 以IDE介面來說,由於一個IDE排線可以連接兩個IDE裝置,又通常主機都會提供兩個IDE介面,因此最多可以接到四個IDE裝置。 也就是說,如果你已經有一個光碟設備了,那麼最多就只能再接三顆IDE介面的磁碟囉。 這兩個IDE介面通常被稱為IDE1(primary)及IDE2(secondary), 而每條排線上面的IDE裝置可以被區分為Master與Slave。這四個IDE裝置的檔名為:
再以SATA介面來說,由於SATA/USB/SCSI等磁碟介面都是使用SCSI模組來驅動的, 因此這些介面的磁碟裝置檔名都是/dev/sd[a-p]的格式。 但是與IDE介面不同的是,SATA/USB介面的磁碟根本就沒有一定的順序,那如何決定他的裝置檔名呢? 這個時候就得要根據Linux核心偵測到磁碟的順序了!這裡以底下的例子來讓你瞭解囉。
通過上面的介紹後,你應該知道了在Linux系統下的各種不同介面的磁碟的裝置檔名了。 OK!好像沒問題了呦!才不是呢∼問題很大呦! 因為如果你的磁碟被分割成兩個分割槽,那麼每個分割槽的裝置檔名又是什麼?在瞭解這個問題之前,我們先來複習一下磁碟的組成, 因為現今磁碟的分割與他物理的組成很有關係! 磁碟的組成複習 我們在計算機概論談過磁碟的組成主要有磁碟盤、機械手臂、磁碟讀取頭與主軸馬達所組成, 而資料的寫入其實是在磁碟盤上面。磁碟盤上面又可細分出磁區(Sector)與磁柱(Cylinder)兩種單位, 其中磁區每個為512bytes那麼大。假設磁碟只有一個磁碟盤,那麼磁碟盤有點像底下這樣: 圖2.2.1、磁碟盤組成示意圖 那麼是否每個磁區都一樣重要呢?其實整顆磁碟的第一個磁區特別的重要,因為他記錄了整顆磁碟的重要資訊! 磁碟的第一個磁區主要記錄了兩個重要的資訊,分別是:
MBR是很重要的,因為當系統在開機的時候會主動去讀取這個區塊的內容,這樣系統才會知道你的程式放在哪裡且該如何進行開機。 如果你要安裝多重開機的系統,MBR這個區塊的管理就非常非常的重要了! ^_^ 那麼分割表又是啥?其實妳剛剛拿到的整顆硬碟就像一根原木,你必須要在這根原木上面切割出你想要的區段, 這個區段才能夠再製作成為你想要的家具!如果沒有進行切割,那麼原木就不能被有效的使用。 同樣的道理,你必須要針對你的硬碟進行分割,這樣硬碟才可以被你使用的!
磁碟分割表(partition table) 但是硬碟總不能真的拿鋸子來切切割割吧?那硬碟還真的是會壞掉去!那怎辦?在前一小節的圖示中, 我們有看到『開始與結束磁柱』吧?那是檔案系統的最小單位,也就是分割槽的最小單位啦!沒有錯, 我們就是利用參考對照磁柱號碼的方式來處理啦! 在分割表所在的64 bytes容量中,總共分為四組記錄區,每組記錄區記錄了該區段的啟始與結束的磁柱號碼。 若將硬碟以長條形來看,然後將磁柱以直條圖來看,那麼那64 bytes的記錄區段有點像底下的圖示: 圖2.3.1、磁碟分割表的作用示意圖 假設上面的硬碟裝置檔名為/dev/hda時,那麼這四個分割槽在Linux系統中的裝置檔名如下所示, 重點在於檔名後面會再接一個數字,這個數字與該分割槽所在的位置有關喔!
上圖中我們假設硬碟只有400個磁柱,共分割成為四個分割槽,第四個分割槽所在為第301到400號磁柱的範圍。 當你的作業系統為Windows時,那麼第一到第四個分割槽的代號應該就是C, D, E, F。當你有資料要寫入F槽時, 你的資料會被寫入這顆磁碟的301~400號磁柱之間的意思。 由於分割表就只有64 bytes而已,最多只能容納四筆分割的記錄, 這四個分割的記錄被稱為主要(Primary)或延伸(Extended)分割槽。 根據上面的圖示與說明,我們可以得到幾個重點資訊:
咦!你會不會突然想到,為啥要分割啊?基本上你可以這樣思考分割的角度:
既然分割表只有記錄四組資料的空間,那麼是否代表我一顆硬碟最多只能分割出四個分割槽?當然不是啦!有經驗的朋友都知道, 你可以將一顆硬碟分割成十個以上的分割槽的!那又是如何達到的呢?在Windows/Linux系統中, 我們是透過剛剛談到的延伸分割(Extended)的方式來處理的啦!延伸分割的想法是: 既然第一個磁區所在的分割表只能記錄四筆資料, 那我可否利用額外的磁區來記錄更多的分割資訊?實際上圖示有點像底下這樣: 圖2.3.2、磁碟分割表的作用示意圖 在上圖當中,我們知道硬碟的四個分割記錄區僅使用到兩個,P1為主要分割,而P2則為延伸分割。請注意, 延伸分割的目的是使用額外的磁區來記錄分割資訊,延伸分割本身並不能被拿來格式化。 然後我們可以透過延伸分割所指向的那個區塊繼續作分割的記錄。 如上圖右下方那個區塊有繼續分割出五個分割槽, 這五個由延伸分割繼續切出來的分割槽,就被稱為邏輯分割槽(logical partition)。 同時注意一下,由於邏輯分割槽是由延伸分割繼續分割出來的,所以他可以使用的磁柱範圍就是延伸分割所設定的範圍喔! 也就是圖中的101~400啦! 同樣的,上述的分割槽在Linux系統中的裝置檔名分別如下:
仔細看看,怎麼裝置檔名沒有/dev/hda3與/dev/hda4呢?因為前面四個號碼都是保留給Primary或Extended用的嘛! 所以邏輯分割槽的裝置名稱號碼就由5號開始了!這是個很重要的特性,不能忘記喔! 主要分割、延伸分割與邏輯分割的特性我們作個簡單的定義囉:
事實上,分割是個很麻煩的東西,因為他是以磁柱為單位的『連續』磁碟空間, 且延伸分割又是個類似獨立的磁碟空間,所以在分割的時候得要特別注意。我們舉底下的例子來解釋一下好了:
由於第一個磁區所記錄的分割表與MBR是這麼的重要,幾乎只要讀取硬碟都會先由這個磁區先讀起。 因此,如果整顆硬碟的第一個磁區(就是MBR與partition table所在的磁區)物理實體壞掉了,那這個硬碟大概就沒有用了! 因為系統如果找不到分割表,怎麼知道如何讀取磁柱區間呢?您說是吧!底下還有一些例題您可以思考看看:
開機流程與主要開機記錄區(MBR) 我們在計算機概論裡面談到了,沒有執行軟體的硬體是沒有用的,除了會電人之外..., 而為了電腦硬體系統的資源合理分配,因此有了作業系統這個系統軟體的產生。由於作業系統會控制所有的硬體並且提供核心功能, 因此我們的電腦就能夠認識硬碟內的檔案系統,並且進一步的讀取硬碟內的軟體檔案與執行該軟體來達成各項軟體的執行目的。 問題是,你有沒有發現,既然作業系統也是軟體,那麼我的電腦又是如何認識這個作業系統軟體並且執行他的? 明明開機時我的電腦還沒有任何軟體系統,那他要如何讀取硬碟內的作業系統檔案啊?嘿嘿!這就得要牽涉到電腦的開機程序了! 底下就讓我們來談一談這個開機程序吧! 在計算機概論裡面我們有談到那個可愛的BIOS與CMOS兩個東西, CMOS是記錄各項硬體參數且嵌入在主機板上面的儲存器,BIOS則是一個寫入到主機板上的一個韌體(再次說明, 韌體就是寫入到硬體上的一個軟體程式)。這個BIOS就是在開機的時候,電腦系統會主動執行的第一個程式了! 接下來BIOS會去分析電腦裡面有哪些儲存設備,我們以硬碟為例,BIOS會依據使用者的設定去取得能夠開機的硬碟, 並且到該硬碟裡面去讀取第一個磁區的MBR位置。 MBR這個僅有446 bytes的硬碟容量裡面會放置最基本的開機管理程式, 此時BIOS就功成圓滿,而接下來就是MBR內的開機管理程式的工作了。 這個開機管理程式的目的是在載入(load)核心檔案, 由於開機管理程式是作業系統在安裝的時候所提供的,所以他會認識硬碟內的檔案系統格式,因此就能夠讀取核心檔案, 然後接下來就是核心檔案的工作,開機管理程式也功成圓滿,之後就是大家所知道的作業系統的任務啦! 簡單的說,整個開機流程到作業系統之前的動作應該是這樣的:
由上面的說明我們會知道,BIOS與MBR都是硬體本身會支援的功能,至於Boot loader則是作業系統安裝在MBR上面的一套軟體了。由於MBR僅有446 bytes而已,因此這個開機管理程式是非常小而美的。 這個boot loader的主要任務有底下這些項目:
上面前兩點還容易理解,但是第三點很有趣喔!那表示你的電腦系統裡面可能具有兩個以上的開機管理程式呢! 有可能嗎?我們的硬碟不是只有一個MBR而已?是沒錯啦!但是開機管理程式除了可以安裝在MBR之外, 還可以安裝在每個分割槽的開機磁區(boot sector)喔!瞎密?分割槽還有各別的開機磁區喔? 沒錯啊!這個特色才能造就『多重開機』的功能啊! 我們舉一個例子來說,假設你的個人電腦只有一個硬碟,裡面切成四個分割槽,其中第一、二分割槽分別安裝了Windows及Linux, 你要如何在開機的時候選擇用Windows還是Linux開機呢?假設MBR內安裝的是可同時認識Windows/Linux作業系統的開機管理程式, 那麼整個流程可以圖示如下: 圖2.4.1、開機管理程式的工作執行示意圖 在上圖中我們可以發現,MBR的開機管理程式提供兩個選單,選單一(M1)可以直接載入Windows的核心檔案來開機; 選單二(M2)則是將開機管理工作交給第二個分割槽的開機磁區(boot sector)。當使用者在開機的時候選擇選單二時, 那麼整個開機管理工作就會交給第二分割槽的開機管理程式了。 當第二個開機管理程式啟動後,該開機管理程式內(上圖中)僅有一個開機選單,因此就能夠使用Linux的核心檔案來開機囉。 這就是多重開機的工作情況啦!我們將上圖作個總結:
那現在請你想一想,為什麼人家常常說:『如果要安裝多重開機, 最好先安裝Windows再安裝Linux』呢?這是因為:
因此,如果先安裝Linux再安裝Windows的話,那MBR的開機管理程式就只會有Windows的項目,而不會有Linux的項目 (因為原本在MBR內的Linux的開機管理程式就會被覆蓋掉)。 那需要重新安裝Linux一次嗎?當然不需要,你只要用盡各種方法來處理MBR的內容即可。 例如利用全中文的spfdisk(http://spfdisk.sourceforge.net/)軟體來安裝認識Windows/Linux的管理程式, 也能夠利用Linux的救援模式來挽救MBR即可。
Linux安裝模式下, 磁碟分割的選擇(極重要)
我們前面有談過Linux內的所有資料都是以檔案的形態來呈現的,所以囉,整個Linux系統最重要的地方就是在於目錄樹架構。 所謂的目錄樹架構(directory tree)就是以根目錄為主,然後向下呈現分支狀的目錄結構的一種檔案架構。 所以,整個目錄樹架構最重要的就是那個根目錄(root directory),這個根目錄的表示方法為一條斜線『/』, 所有的檔案都與目錄樹有關。目錄樹的呈現方式如下圖所示: 圖2.5.1、目錄樹相關性示意圖 如上圖所示,所有的檔案都是由根目錄(/)衍生來的,而次目錄之下還能夠有其他的資料存在。上圖中長方形為目錄, 波浪形則為檔案。那當我們想要取得mydata那個檔案時,系統就得由根目錄開始找,然後找到home接下來找到dmtsai, 最終的檔名為:/home/dmtsai/mydata的意思。 我們現在知道整個Linux系統使用的是目錄樹架構,但是我們的檔案資料其實是放置在磁碟分割槽當中的,
現在的問題是『如何結合目錄樹的架構與磁碟內的資料』呢?
這個時候就牽扯到『掛載(mount)』的問題啦!
所謂的『掛載』就是利用一個目錄當成進入點,將磁碟分割槽的資料放置在該目錄下; 也就是說,進入該目錄就可以讀取該分割槽的意思。這個動作我們稱為『掛載』,那個進入點的目錄我們稱為『掛載點』。 由於整個Linux系統最重要的是根目錄,因此根目錄一定需要掛載到某個分割槽的。 至於其他的目錄則可依使用者自己的需求來給予掛載到不同的分割槽。我們以下圖來作為一個說明: 圖2.5.2、目錄樹與分割槽之間的相關性 上圖中假設我的硬碟分為兩槽,partition 1是掛載到根目錄,至於partition 2則是掛載到/home這個目錄。 這也就是說,當我的資料放置在/home內的各次目錄時,資料是放置到partition 2的,如果不是放在/home底下的目錄, 那麼資料就會被放置到partition 1了! 其實判斷某個檔案在那個partition底下是很簡單的,透過反向追蹤即可。以上圖來說, 當我想要知道/home/vbird/test這個檔案在哪個partition時,由test --> vbird --> home --> /,看那個『進入點』先被查到那就是使用的進入點了。 所以test使用的是/home這個進入點而不是/喔!
既然我們在Linux系統下使用的是目錄樹系統,所以安裝的時候自然就得要規劃磁碟分割與目錄樹的掛載了。 實際上,在Linux安裝的時候已經提供了相當多的預設模式讓你選擇分割的方式了, 不過,無論如何,分割的結果可能都不是很能符合自己主機的樣子!因為畢竟每個人的『想法』都不太一樣! 因此,強烈建議使用『自訂安裝, Custom 』這個安裝模式!在某些Linux distribution中,會將這個模式寫的很厲害,叫做是『Expert, 專家模式』,這個就厲害了, 請相信您自己,瞭解上面的說明後,就請自稱為專家了吧!沒有問題!
現在你知道Linux為什麼不好學了吧?因為很多基礎知識都得要先瞭解!否則連安裝都不知道怎麼安裝∼ 現在你知道Linux的可愛了吧!因為如果你學會了,嘿嘿!很多電腦系統/作業系統的概念都很清晰, 轉換到不同的資訊跑道是比較容易的喔!^_^ 安裝Linux前的規劃 從前面的說明我們知道作業系統與硬體的相關性是很高的,而目前最熱門的電腦硬體系統為x86個人電腦系統。 我們也討論了一下各硬體元件在Linux當中的裝置檔名,同時也瞭解到磁碟分割與每個分割槽在Linux目錄樹的關係, 也簡單談論了開機管理程式的用途。接下來我們得要開始安裝Linux囉。 安裝最重要的第一件事,就是要取得Linux distributions的光碟資料,該如何去下載?
目前有這麼多的distributions,你應該要選擇哪一個版本比較好?為什麼會比較好?
在台灣,你可以在哪裡下載你所需要的Linux distribution呢?這都是這一小節所要討論的喔! 選擇適當的distribution 就如同第一章、Linux是什麼裡面的distributions談到的, 事實上每個Linux distributions使用的都是來自於http://www.kernel.org官方網站所提供的Linux核心,各家distribution使用的軟體其實也都是大同小異, 最大的差別或許就是在於軟體的安裝模式而已。所以,您只要選擇其中一套,並且玩得出神入化, 那麼Linux肯定可以學的成的。 不過,由於近年來網路環境實在不很安全,因此你在選擇distribution時,特別要瞭解到該distribution適合的環境, 並且最好選擇最新的distribution較佳喔! 以鳥哥來說,如果是將Linux定位在伺服器上面的話,那麼Red Hat Enterprise Linux及SuSE Enterprise Linux應該是很不錯的選擇,因為他的版本更動幅度較小,並且更新支援的期限較長的原因。 在我們這次的練習中,不想給大家太沈重的$$負擔啦,所以鳥哥選擇CentOS這一個號稱與RHEL完全相容的版本來練習, 目前(2009/08)最新的版本是CentOS 5.3版,你可以選擇i386或x86_64的版本來安裝,請依據您的硬體來選擇。 如果你不知道你的硬體規格時,那麼建議就直接安裝i386的版本即可。因為i386的CentOS 5.x是可以安裝在x86_64的硬體中的。 你可以選擇到CentOS的官方網站去下載最新的版本,不過我們在台灣嘛!台灣有映設站台(mirror site), 所以由映設站台來下載比較快啊!底下列出CentOS的下載點:
你要知道的是,因為Linux distributions裡面的軟體越包越多,所以使用到的光碟(CD)片越來越多了, 因此目前各distribution都有提供DVD的版本。以上面的連結來說,每個連結裡面的i386版本中, 你會發現到有DVD版本例如:CentOS-5.3-i386-bin-DVD.iso,也有CD版本例如: CentOS-5.3-i386-bin-[1-6]of6.iso。鳥哥建議您可以下載DVD版本,因為只有一片,比較環保啦!
主機的服務規劃與硬體的關係 我們前面已經提過,由於主機的服務目的不同,所需要的硬體等級與配備自然也就不一樣!
底下鳥哥稍微提一提每種服務可能會需要的硬體配備規劃,當然,還是得提醒,
每個朋友的需求都不一樣,所以設計您的主機之前,請先針對自己的需求進行考量。而,
如果您不知道自己的考量為何,那麼就先拿一部普通的電腦來玩一玩吧!不過要記得!
不要將重要資料放在練習用的Linux主機上面。
在某些情況之下,你可能會想要在『一部主機上面安裝兩套以上的作業系統』, 例如底下這些狀況:
果真如此的話,那麼剛剛我們在上一個小節談到的開機流程與多重開機的資料就很重要了。 因為需要如此你才能夠在一部主機上面操弄兩種不同的作業系統嘛!
如果你的Linux主機已經是想要拿來作為某些服務之用時,那麼務必不要選擇太久的硬體喔!
前面談到過,太老舊的硬體可能會有電子零件老化的問題∼另外,如果你的Linux主機必須要全年無休的開機著,
那麼擺放這部主機的位置也需要選擇啊!好了,底下再來談一談,在一般小型企業或學校單位中,
常見的某些服務與你的硬體關係有哪些?
通常小型企業或者是學校單位大多僅會有一條對外的連線,然後全公司/學校內的電腦全部透過這條連線連到網際網路上。 此時我們就得要使用IP分享器來讓這一條對外連線分享給所有的公司內部員工使用。 那麼Linux能不能達到此一IP分享的功能呢?當然可以,就是透過NAT服務即可達成這項任務了! 在這種環境中,由於Linux作為一個內/外分離的實體,因此網路流量會比較大一點。 此時Linux主機的網路卡就需要比較好些的配備。其他的CPU、RAM、硬碟等等的影響就小很多。 事實上,單利用Linux作為NAT主機來分享IP是很不智的∼因為PC的耗電能力比IP分享器要大的多∼ 那麼為什麼你還要使用Linux作為NAT呢?因為Linux NAT還可以額外的加裝很多分析軟體,
可以用來分析用戶端的連線,或者是用來控制頻寬與流量,達到更公平的頻寬使用呢!
更多的功能則有待後續更多的學習囉!你也可以參考我們在伺服器架設篇當中的資料囉!
在你的Windows系統之間如何傳輸資料呢?當然就是透過網路上的芳鄰來傳輸啦!那還用問。 這也是學校老師在上課過程中要分享資料給同學常用的機制了。問題是,Windows XP的網芳一般只能同時分享十部用戶端連線,超過的話就得要等待了∼真不人性化。 我們可以使用Linux上面的SAMBA這個軟體來達成加入Windows網芳的功能喔!SAMBA的效能不錯, 也沒有用戶端連線數的限制,相當適合於一般學校環境的檔案伺服器(file server)的角色呢! 這種伺服器由於分享的資料量較大,對於系統的網路卡與硬碟的大小及速度就比較重要,
如果你還針對不同的使用者提供檔案伺服器功能,那麼/home這個目錄可以考慮獨立出來,並且加大容量。
郵件伺服器是非常重要的,尤其對於現代人來說,電子郵件幾乎已經取代了傳統的人工郵件遞送了。 拜硬碟價格大跌及Google/Yahoo/MicroSoft公平競爭之賜,一般免費的email信箱幾乎都提供了很不錯的郵件服務, 包過Web介面的傳輸、大於2GB以上的容量空間及全年無休的服務等等。例如非常多人使用的gmail就是一例: http://gmail.com。 雖然免費的信箱已經非常夠用了,老實說,鳥哥也不建議您架設mail server了。問題是, 如果你是一間私人單位的公司,你的公司內傳送的email是具有商業機密或隱私性的,那你還想要交給免費信箱去管理嗎? 此時才有需要架設mail server囉。CentOS一安裝完畢就提供了Sendmail及Postfix兩種mail server軟體了! 在mail server上面,重要的也是硬碟容量與網路卡速度,在此情境中,也可以將/var目錄獨立出來,並加大容量。
WWW伺服器幾乎是所有的網路主機都會安裝的一個功能,因為他除了可以提供Internet的WWW連線之外, 很多在網路主機上面的軟體功能(例如某些分析軟體所提供的最終分析結果的畫面)也都使用WWW作為顯示的介面, 所以這傢伙真是重要到不行的。 CentOS使用的是Apache這套軟體來達成WWW網站的功能,在WWW伺服器上面,如果你還有提供資料庫系統的話,
那麼CPU的等級就不能太低,而最重要的則是RAM了!要增加WWW伺服器的效能,通常提升RAM是一個不錯的考量。
如果你是個區域網路管理員,你的區網內共有20部以上的電腦給一般員工使用,這些員工假設並沒有電腦網路的維護技能。
那你想要讓這些電腦在連上Internet時需要手動去設定IP還是他可以自動的取得IP呢?當然是自動取得比較方便啦!
這就是DHCP服務的功能了!用戶端電腦只要選擇『自動取得IP』,其他的,就是你系統管理員在DHCP伺服器上面設定一下即可。
這個咚咚的硬體要求可以不必很高囉。
這也是常常會安裝的一個伺服器軟體,尤其像中小學校的頻寬較不足的環境下,
Proxy將可有效的解決頻寬不足的問題!當然,你也可以在家裡內部安裝一個Proxy喔!但是,
這個伺服器的硬體要求可以說是相對而言最高的,他不但需要較強有力的CPU來運作,對於硬碟的速度與容量要求也很高!
自然,既然提供了網路服務,網路卡則是重要的一環!
常常看到很多朋友喜歡架設FTP去進行網路資料的傳輸,甚至很多人會架設地下FTP網站去傳輸些違法的資料。 老實說,『FTP傳輸再怎麼地下化也是很容易被捉到的』啦!所以,鳥哥相當不建議您架設FTP的喔! 不過,對於大專院校來說,因為常常需要分享給全校師生一些免費的資源, 此時匿名使用者的FTP軟體功能就很需要存在了。對於FTP的硬體需求來說,硬碟容量與網路卡好壞相關性較高。 大致上我們會安裝的伺服器軟體就是這一些囉! 當然啦,還是那句老話,在目前你剛接觸Linux的這個階段中,還是以Linux基礎為主, 鳥哥也希望你先瞭解Linux的相關主機操作技巧,其他的架站,未來再談吧! 而上面列出的各項服務,僅是提供給你,如果想要架設某種網路服務的主機時,你應該如何規劃主機比較好! 主機硬碟的主要規劃 系統對於硬碟的需求跟剛剛提到的主機開放的服務有關,那麼除了這點之外,還有沒有其他的注意事項呢? 當然有,那就是資料的分類與資料安全性的考量。所謂的『資料安全』並不是指資料被網路cracker所破壞, 而是指『當主機系統的硬體出現問題時,你的檔案資料能否安全的保存』之意。 常常會發現網路上有些朋友在問『我的Linux主機因為跳電的關係,造成不正常的關機,結果導致無法開機,這該如何是好?』 呵呵,幸運一點的可以使用fsck來解決硬碟的問題,麻煩一點的可能還需要重新安裝Linux呢!傷腦筋吧!另外, 由於Linux是多人多工的環境,因此很可能上面已經有很多人的資料在其中了, 如果需要重新安裝的話,光是搬移與備份資料就會瘋掉了!所以硬碟的分割考量是相當重要的! 雖然我們在本章的第二小節部分有談論過磁碟分割了,但是,硬碟的規劃對於Linux新鮮人而言,那將是造成你『頭疼』的主要兇手之一! 因為硬碟的分割技巧需要對於Linux檔案結構有相當程度的認知之後才能夠做比較完善的規劃的! 所以,在這裡你只要有個基礎的認識即可。老實說,沒有安裝過十次以上的Linux系統,是學不會Linux與磁碟分割的啦! 無論如何,底下還是說明一下基本硬碟分割的模式吧!
以鳥哥為例,通常我會希望我的郵件主機大一些,因此我的/var通常會給個數GB的大小, 如此一來就可以不擔心會有郵件空間不足的情況了!另外,由於我開放SAMBA服務, 因此提供每個研究室內人員的資料備份空間,所以囉,/home所開放的空間也很大!至於/usr/的容量, 大概只要給2-5GB即可!凡此種種均與您當初預計的主機服務有關! 因此,請特別注意您的服務項目!然後才來進行硬碟的規劃。 鳥哥說:關於練習機的安裝建議
老實說,安裝Linux是非常困難的一件事,所以在補教界的教材方面,安裝(Installation)通常是在系統管理教完後才教的。 那因為我們不是在補教業的教室中,所以沒有現成的Linux系統可以用,當然就得要自行安裝一個啦! 因此這裡才會先跟大家介紹如何安裝Linux的。雖然很多朋友都喜歡使用Virtualbox安裝Linux去學習, 但是Virtualbox或其他相關的虛擬化軟體都是用模擬的方式去啟動Linux的,新手學習方面常常會誤解∼ 有鑑於此,因此,鳥哥『強烈的建議您,務必擁有一台獨立的主機,
而且內含一顆僅有Linux作業系統的硬碟』,以鳥哥自己為例,我的主機上面有一個抽取式硬碟盒,而我有兩顆分離的硬碟,
分別安裝Windows與Linux系統,要使用不同的作業系統時就抽換硬碟,如此一來,主機很單純,
而抽換也很快速,不需要對機殼拆拆裝裝的,很方便!提供給您做為參考。
此外,在硬碟的分割方面,鳥哥也建議新手們,先暫時以/及swap兩個分割即可,而且,還要預留一個未分割的空間喔! 因為我們是練習機,暫時不會提供網路服務,所以只要有/及Swap提供給我們進行安裝Linux的空間即可。不過, 我們未來會針對系統的磁碟部分進行分割的練習以及磁碟配額(quota)的練習,因此,預留一個磁碟空間是必須要的! 舉例來說,如果你有一個20GB的硬碟,那麼建議你分15 GB給/來安裝Linux,512 MB給Swap,另外的4
GB左右不要分割,先保留下來,未來我們可以繼續來練習喔!^_^
另一個容易發現問題的地方,在於使用者常常會找不到某些指令,導致無法按照書上的說明去執行某些指令。 因為無法執行指令,所以就會一直給他放在那邊,不會繼續往下學習啊!真是可惜! 為什麼會找不到指令呢?很簡單啊!就是因為沒有安裝該軟體啊!所以,『強烈的建議新手,務必將所有的套件都給他安裝上去!』也就是選擇『安裝所有套件』就是了。 當然啦,上面提到的都是針對『練習機』而言喔!如果是您自己預計要上線的Linux主機, 那就不建議按照上面的說明安裝了!切記切記! 鳥哥的兩個實際案例 這裡說一下鳥哥的兩個實際的案例,這兩個案例是目前還在運作的主機喔!
要先聲明的是,鳥哥的範例不見得是最好的,因為每個人的考量並不一樣。我只是提供相對可以使用的方案而已喔!
在上面的案例中,案例一是屬於小規模的主機系統,因此只要使用預計被淘汰的配備即可進行主機的架設! 唯一可能需要購買的大概是網路卡吧!呵呵!而在案例二中,由於我需要大量的數值運算, 且運算結果的資料非常的龐大,因此就需要比較大的磁碟容量與較佳的網路系統了。 以上的資料請先記得,因為下一章節在實際安裝Linux之前,你得先進行主機的規劃呀! 大硬碟配合舊主機造成的無法開機問題 隨著時代的演變,在2009年中的目前,個人電腦上面的硬碟容量竟然都已經高達750 GB以上了! 這麼大的硬碟用起來當然是很爽快的啦∼不過,也有一些問題的∼那就是∼開機的問題∼ 某些比較舊的主機板中,他們的BIOS可能找不到比較大容量的磁碟的。所以,你在舊主機板上面安裝新的大容量磁碟時, 很可能你的磁碟容量會被誤判!不過,即使是這樣,Linux還是能夠安裝喔!而且能夠順利的捉到完整的硬碟容量呢! 為什麼呢?因為當Linux核心順利開機啟動後,他會重新再去偵測一次整個硬體而不理會BIOS所提供的資訊, 所以就能夠順利的捉到正確的硬碟,並且讓你安裝Linux。 但是,安裝完畢後,可能會無法開機喔!為什麼啊?前一小節裡面我們不是談到過開機流程與MBR的內容嗎? 安裝的時候是以光碟開機並且由光碟載入Linux核心,所以核心可以被順利載入來安裝。但是若以這樣的配備來開機時, 因為BIOS捉到的硬碟是不對的,所以使用硬碟開機可能就會出現無法開機的錯誤了。那怎辦? 由於BIOS捉到的磁碟容量不對,但是至少在整顆磁碟前面的磁區他還讀的到啊! 因此,你只要將這個磁碟最前面的容量分割出一個小分割槽,並將這個分割槽與系統開機檔案的放置目錄擺在一起, 那就是 /boot 這個目錄!就能夠解決了!很簡單吧! 其實,重點是:『將開機磁區所在分割槽規範在小於1024個磁柱以內∼』 即可!那怎麼做到呢?很簡單,在進行安裝的時候,規劃出三個磁區,分別是:
那個/boot只要給100M Bytes左右即可!而且/boot要放在整塊硬碟的最前面!這部份你先有印象與概念即可,未來我們談到第二十章的開機流程時,會再加強說明的! ^_^ 重點回顧
本章習題
(要看答案請將滑鼠移動到『答:』底下的空白處,按下左鍵圈選空白處即可察看)
實作題部分:
參考資料與延伸閱讀
2002/04/08:第一次完成吧? 2003/02/02:重新編排與加入 FAQ 2005/06/04:將舊的文章移動到 這裡 2005/06/12:風格修訂之外,新增了 Linux 練習機硬體選擇與軟體安裝的建議 2005/06/15:感謝上奇編輯 Tim 兄來信告知一些可能有爭議的部分!包括 AthlonXP 已被 Sempron 取代,已經修訂! 2008/07/29:將舊的FC4文章移動到此處。 2008/08/21:將整份文件作個重新整理,移除計概有談到的硬體部分,增加partition的資料量。 2009/08/06:重新修訂習題與解答,尤其一些計概方面的問題將他挪開! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||