第三章、主機規劃與磁盤分區


大標題的圖示Linux與硬件的搭配
php

雖然我的計算機各組件的主要介面是大同小異的,包括前面第零章計算機概論講到的種種介面等, 可是由於新的技術來得太快,Linux核心針對新硬件所歸入的驅動程序模塊比不上硬件升級的速度, 加上硬件廠商針對Linux所推出的驅動程序較慢,所以你在選購新的我的計算機(或服務器)時, 應該要選擇已通過安裝Linux測試的硬件比較好。html

此外,在安裝Linux以前,你最好了解一下你的Linux預計是想達成什麼任務,這樣在選購硬件時纔會知道那個組件是最重要的。 舉例來講,壁紙計算機(Desktop)的使用者,應該會用到X Window系統, 此時,顯卡的優劣與內存的大小可就佔有很重大的影響。若是是想要作成文件服務器, 那麼硬盤或者是其餘的儲存設備,應該就是您最想要增購的組件羅!因此說,功課仍是須要做的啊!linux

鳥哥在這裏要不厭其煩的再次的強調,Linux對於計算機各組件/裝置的分辨, 與你們慣用的Windows系統徹底不同!由於,各個組件或裝置在Linux底下都是『一個文件!』 這個觀念咱們在第一章Linux是什麼裏面已經提過, 這裏咱們再次的強調。所以,你在認識各項裝置以後,學習Linux的裝置檔名以前, 務必要先將Windows對於裝置名稱的概念先拿掉~不然會很難理解喔!

數據庫


小標題的圖示 認識計算機的硬件配備

什麼?學Linux還得要玩硬件?』呵呵!沒錯! 這也是爲何鳥哥要將計算機概論搬上臺面之故! 咱們這裏主要是介紹較爲廣泛的我的計算機架構來配置Linux服務器,由於比較便宜啦! 至於各相關的硬件組件說明已經在第零章計概內講過了,這裏再也不重複說明。 僅將重要的主板與組件的相關性圖示以下:centos

我的計算機各組件的相關性
圖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的圖形介面,那你的硬件需求只要像底下這樣就差很少了:

  • CPU
    CPU只要不是老舊到會讓你的硬件系統死機的都可以支持!如同前面談到的,目前(2009)的環境中, Pentun-III的CPU不算太舊並且效能也不錯,也就是說P-III就很是好用了。

  • RAM
    主內存是越大越好!事實上在Linux服務器中,主內存的重要性比CPU還要高的多!由於若是主內存不夠大, 就會使用到硬盤的內存置換空間(swap)。 而由計算機概論的內容咱們知道硬盤比內存的速度要慢的多, 因此主內存過小可能會影響到總體系統的效能的!尤爲若是你還想要玩X window的話,那主內存的容量就不能少。 對於通常的小型服務器來講,建議至少也要512MB以上的主內存容量較佳。

  • Hard Disk
    由於數據量與數據存取頻率的不一樣,對於硬盤的要求也不相同。 舉例來講,若是是通常小型服務器,一般重點在於容量,硬盤容量大於20GB就夠用到不行了! 但若是你的服務器是做爲備份或者是小企業的文件服務器,那麼你可能就得要考量較高階的磁盤陣列(RAID)模式了。
    Tips:
    磁盤陣列(RAID)是利用硬件技術將數個硬盤整合成爲一個大硬盤的方法,操做系統只會看到最後被整合起來的大硬盤。 由於磁盤陣列是由多個硬盤組成,因此能夠達成速度效能、備份等任務。更多相關的磁盤陣列咱們會在第十五章中介紹的。
    鳥哥的圖示
  • VGA
    對於不須要X Window的服務器來講,顯卡算是最不重要的一個組件了!你只要有顯卡可以讓計算機啓動,那就夠了。 但若是須要X window系統時,你的顯卡最好可以擁有32MB以上的內存容量,不然跑X系統會很累喔! 鳥哥曾使用一塊只有2MB內存的顯卡跑X,光是按一個按鈕就花費數分鐘時間,真是折磨人家的耐心啊!

  • Network Interface Card
    網絡卡是服務器上面最重要的組件了!目前新式的主板大多擁有10/100/1000Mbps的高速網絡,不過,老實說, 只要好一點的10/100網絡卡就很是夠用了!畢竟咱們的頻寬並無大到Gigabit的速度!若是是小型服務器, 一塊Realtek RTL8139芯片的網卡就很是好用了,不過,若是是讀取很是頻繁的網站, 好一點的Intel/3Com網卡應該是比較適合的喔。

  • 光盤、軟盤、鍵盤與鼠標
    不要舊到你的計算機不支持就行了,由於這些配備都是非必備的喔!舉例來講,鳥哥安裝好Linux系統後, 可能就將該系統的光驅、鼠標、軟盤機等統統拔除,只有網絡線鏈接在計算機後面而已,其餘的都是透過網絡連線來管控的哩! 由於一般服務器這東西最須要的就是穩定,而穩定的最理想狀態就是平時沒事不要去動他是最好的。

底下鳥哥針對通常你可能會接觸到的計算機主機的用途與相關硬件配備的基本要求來講明一下好了:

  • 通常小型主機且不含X Window系統:
    • 用途:家庭用NAT主機(IP分享器功能)或小型企業之非圖形介面小型主機。
    • CPU:大於P-III 500以上等級便可。
    • RAM:至少128MB,不過仍是大於256MB以上比較穩當!
    • 網絡卡:通常的10/100 Mbps便可應付。
    • 顯卡:只要可以被Linux捉到的顯卡便可,例如NVidia或ATI的主流顯卡都可。
    • 硬盤:20GB以上便可!
  • 桌上型(Desktop)Linux系統/含X Window:
    • 用途:Linux的練習機或辦公室(Office)工做機。(通常咱們會用到的環境)
    • CPU:最好等級高一點,例如P-4以上等級。
    • RAM:必定要大於512MB比較好!不然容易有圖形介面停頓的現象。
    • 網絡卡:普通的10/100 Mbps就行了!
    • 顯卡:使用32MB以上內存的顯卡!
    • 硬盤:越大越好,最好有60GB。
  • 中型以上Linux服務器:
    • 用途:中小型企業/學校單位的FTP/mail/WWW等網絡服務主機。
    • CPU:最好等級高一點,能夠考慮使用雙核心繫統。
    • RAM:最好可以大於1GB以上,大於4GB更好!
    • 網絡卡:知名的3Com或Intel等廠牌,比較穩定效能較佳!也可選購10/100/1000 Mbps的速度。
    • 顯卡:若是有使用到圖形功能,則一張64MB內存的顯卡是須要的!
    • 硬盤:越大越好,若是可能的話,使用磁盤陣列,或者網絡硬盤等等的系統架構, 可以具備更穩定安全的傳輸環境,更佳!
    • 建議企業用計算機不要自行組裝,可購買商用服務器較佳, 由於商用服務器已經經過製造商的散熱、穩定度等測試,對於企業來講,會是一個比較好的選擇。

總之,鳥哥在這裏僅是提出一個方向:若是你的Linux主機是小型環境使用的,即時死機也不太會影響到企業環境的運行時, 那麼使用升級後被淘汰下來的零件以組成計算機系統來運行,那是很是好的回收再利用的案例。 但若是你的主機系統是很是重要的,你想要更一部更穩定的Linux服務器,那考慮系統的總體搭配與運行效能的考量, 購買已組裝測試過的商用服務器會是一個比較好的選擇喔!

Tips:
通常來講,目前(2009)的入門計算機機種,CPU至少都是Intel Core的2GHz系列的等級以上, 主內存至少有1GB,顯卡內存也有128MB以上,因此若是您是新購置的計算機, 那麼該計算機用來做爲Linux的練習機,並且加裝X Window系統,確定是能夠跑的嚇嚇叫的啦!^_^
鳥哥的圖示

此外,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這四個文件的意思。

Tips:
這種中括號[]型式的表示法在後面的章節當中會使用得很頻繁,請特別留意

另外先提出來強調一下,在Linux這個系統當中,幾乎全部的硬件裝置文件都在/dev這個目錄內, 因此你會看到/dev/hda, /dev/fd0等等的檔名喔。
鳥哥的圖示

那麼打印機與軟盤呢?分別是/dev/lp0, /dev/fd0羅!好了,其餘的周邊設備呢? 底下列出幾個常見的裝置與其在Linux當中的檔名羅:

裝置 裝置在Linux內的檔名
IDE硬盤機 /dev/hd[a-d]
SCSI/SATA/U盤硬盤機 /dev/sd[a-p]
U盤快閃碟 /dev/sd[a-p](與SATA相同)
軟盤機 /dev/fd[0-1]
打印機 25針: /dev/lp[0-2]
U盤: /dev/usb/lp[0-15]
鼠標 U盤: /dev/usb/mouse[0-15]
PS2: /dev/psaux
當前CDROM/DVDROM /dev/cdrom
當前的鼠標 /dev/mouse
磁帶機 IDE: /dev/ht0
SCSI: /dev/st0

須要特別留意的是硬盤機(不管是IDE/SCSI/U盤都同樣),每一個磁碟機的磁盤分區(partition)不一樣時, 其磁碟檔名還會改變呢!下一小節咱們會介紹磁盤分區的相關概念啦!須要特別注意的是磁帶機的檔名, 在某些不一樣的distribution當中可能會發現不同的檔名,須要稍微留意。 總之,你得先背一下IDE與SATA硬盤的檔名就是了!其餘的,用的到再來背吧!

Tips:
更多Linux核心支持的硬件裝置與檔名,能夠參考以下網頁:
http://www.kernel.org/pub/linux/docs/device-list/devices.txt
鳥哥的圖示

大標題的圖示磁盤分區

這一章在規劃的重點是爲了要安裝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裝置的檔名爲:

IDE\Jumper Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc /dev/hdd

例題:
假設你的主機僅有一顆IDE介面的磁碟,而這一顆磁碟接在IDE2的Master上面,請問他在Linux操做系統裏面的裝置檔名爲什麼?
答:
比較上表的裝置檔名對照,IDE2的Master之裝置檔名爲 /dev/hdc

再以SATA介面來講,由於SATA/U盤/SCSI等磁碟介面都是使用SCSI模塊來驅動的, 所以這些介面的磁碟裝置檔名都是/dev/sd[a-p]的格式。 可是與IDE介面不一樣的是,SATA/U盤介面的磁碟根本就沒有必定的順序,那如何決定他的裝置檔名呢? 這個時候就得要根據Linux核心偵測到磁碟的順序了!這裏以底下的例子來讓你瞭解羅。

例題:
若是你的PC上面有兩個SATA磁碟以及一個U盤磁碟,而主板上面有六個SATA的插槽。這兩個SATA磁碟分別安插在主板上的SATA1, SATA5插槽上, 請問這三個磁碟在Linux中的裝置檔名爲什麼?
答:
由於是使用偵測到的順序來決定裝置檔名,並不是與實際插槽代號有關,所以裝置的檔名以下:
  1. SATA1插槽上的檔名:/dev/sda
  2. SATA5插槽上的檔名:/dev/sdb
  3. U盤磁碟(啓動完成後才被系統捉到):/dev/sdc

經過上面的介紹後,你應該知道了在Linux系統下的各類不一樣介面的磁碟的裝置檔名了。 OK!好像沒問題了呦!纔不是呢~問題很大呦! 由於若是你的磁碟被分割成兩個分割槽,那麼每一個分割槽的裝置檔名又是什麼?在瞭解這個問題以前,咱們先來複習一下磁碟的組成, 由於現今磁碟的分割與他物理的組成頗有關係!


小標題的圖示磁碟的組成複習

咱們在計算機概論談過磁碟的組成主要有磁碟盤、機械手臂、磁碟讀取頭與主軸馬達所組成, 而數據的寫入實際上是在磁碟盤上面。磁碟盤上面又可細分出磁區(Sector)與磁柱(Cylinder)兩種單位, 其中磁區每一個爲512bytes那麼大。假設磁碟只有一個磁碟盤,那麼磁碟盤有點像底下這樣:

磁碟盤組成示意圖
圖2.2.一、磁碟盤組成示意圖

那麼是否每一個磁區都同樣重要呢?其實整顆磁碟的第一個磁區特別的重要,由於他記錄了整顆磁碟的重要資訊! 磁碟的第一個磁區主要記錄了兩個重要的資訊,分別是:

  • 主要啓動記錄區(Master Boot Record, MBR):能夠安裝啓動管理程序的地方,有446 bytes
  • 分割表(partition table):記錄整顆硬盤分割的狀態,有64 bytes

MBR是很重要的,由於當系統在啓動的時候會主動去讀取這個區塊的內容,這樣系統纔會知道你的程序放在哪裏且該如何進行啓動。 若是你要安裝多重啓動的系統,MBR這個區塊的管理就很是很是的重要了! ^_^

那麼分割表又是啥?其實你剛剛拿到的整顆硬盤就像一根原木,你必需要在這根原木上面切割出你想要的區段, 這個區段纔可以再製做成爲你想要的傢俱!若是沒有進行切割,那麼原木就不能被有效的使用。 一樣的道理,你必需要針對你的硬盤進行分割,這樣硬盤才能夠被你使用的!

Tips:
更多的磁盤分區與文件系統管理,咱們將在第二篇的時候深刻介紹喔!
鳥哥的圖示

小標題的圖示磁盤分區表(partition table)

可是硬盤總不能真的拿鋸子來切切割割吧?那硬盤還真的是會壞掉去!那怎辦?在前一小節的圖示中, 咱們有看到『開始與結束磁柱』吧?那是文件系統的最小單位,也就是分割槽的最小單位啦!沒有錯, 咱們就是利用參考對照磁柱號碼的方式來處理啦! 在分割表所在的64 bytes容量中,總共分爲四組記錄區,每組記錄區記錄了該區段的啓始與結束的磁柱號碼。 若將硬盤以長條形來看,而後將磁柱以直條圖來看,那麼那64 bytes的記錄區段有點像底下的圖示:

磁盤分區表的做用示意圖
圖2.3.一、磁盤分區表的做用示意圖

假設上面的硬盤裝置檔名爲/dev/hda時,那麼這四個分割槽在Linux系統中的裝置檔名以下所示, 重點在於檔名後面會再接一個數字,這個數字與該分割槽所在的位置有關喔!

  • P1:/dev/hda1
  • P2:/dev/hda2
  • P3:/dev/hda3
  • P4:/dev/hda4

上圖中咱們假設硬盤只有400個磁柱,共分割成爲四個分割槽,第四個分割槽所在爲第301到400號磁柱的範圍。 當你的操做系統爲Windows時,那麼第一到第四個分割槽的代號應該就是C, D, E, F。當你有數據要寫入F槽時, 你的數據會被寫入這顆磁碟的301~400號磁柱之間的意思。

由於分割表就只有64 bytes而已,最多隻能容納四筆分割的記錄, 這四個分割的記錄被稱爲主要(Primary)或延伸(Extended)分割槽。 根據上面的圖示與說明,咱們能夠獲得幾個重點資訊:

  • 其實所謂的『分割』只是針對那個64 bytes的分割表進行配置而已!
  • 硬盤默認的分割表僅能寫入四組分割資訊
  • 這四組分割資訊咱們稱爲主要(Primary)或延伸(Extended)分割槽
  • 分割槽的最小單位爲磁柱(cylinder)
  • 當系統要寫入磁碟時,必定會參考磁盤分區表,才能針對某個分割槽進行數據的處理

咦!你會不會忽然想到,爲啥要分割啊?基本上你能夠這樣思考分割的角度:

  1. 數據的安全性:
    由於每一個分割槽的數據是分開的!因此,當你須要將某個分割槽的數據重整時,例如你要將計算機中Windows的C槽從新安裝一次系統時, 能夠將其餘重要數據移動到其餘分割槽,例如將郵件、壁紙數據移動到D槽去,那麼C槽重灌系統並不會影響到D槽! 因此善用分割槽,可讓你的數據更安全。

  2. 系統的效能考量:
    由於分割槽將數據集中在某個磁柱的區段,例如上圖當中第一個分割槽位於磁柱號碼1~100號,如此一來當有數據要讀取自該分割槽時, 磁碟只會搜尋前面1~100的磁柱範圍,由於數據集中了,將有助於數據讀取的速度與效能!因此說,分割是很重要的!

既然分割表只有記錄四組數據的空間,那麼是否表明我一顆硬盤最多隻能分割出四個分割槽?固然不是啦!有經驗的朋友都知道, 你能夠將一顆硬盤分割成十個以上的分割槽的!那又是如何達到的呢?在Windows/Linux系統中, 咱們是透過剛剛談到的擴展分配(Extended)的方式來處理的啦!擴展分配的想法是: 既然第一個磁區所在的分割表只能記錄四筆數據, 那我能否利用額外的磁區來記錄更多的分割資訊?實際上圖示有點像底下這樣:

磁盤分區表的做用示意圖
圖2.3.二、磁盤分區表的做用示意圖

在上圖當中,咱們知道硬盤的四個分割記錄區僅使用到兩個,P1爲主要分割,而P2則爲擴展分配。請注意, 擴展分配的目的是使用額外的磁區來記錄分割資訊,擴展分配自己並不能被拿來格式化。 而後咱們能夠透過擴展分配所指向的那個區塊繼續做分割的記錄。

如上圖右下方那個區塊有繼續分割出五個分割槽, 這五個由擴展分配繼續切出來的分割槽,就被稱爲邏輯分割槽(logical partition)。 同時注意一下,由於邏輯分割槽是由擴展分配繼續分割出來的,因此他能夠使用的磁柱範圍就是擴展分配所配置的範圍喔! 也就是圖中的101~400啦!

一樣的,上述的分割槽在Linux系統中的裝置檔名分別以下:

  • P1:/dev/hda1
  • P2:/dev/hda2
  • L1:/dev/hda5
  • L2:/dev/hda6
  • L3:/dev/hda7
  • L4:/dev/hda8
  • L5:/dev/hda9

仔細看看,怎麼裝置檔名沒有/dev/hda3與/dev/hda4呢?由於前面四個號碼都是保留給Primary或Extended用的嘛! 因此邏輯分割槽的裝置名稱號碼就由5號開始了!這是個很重要的特性,不能忘記喔!

主要分割、擴展分配與邏輯分割的特性咱們做個簡單的定義羅:

  • 主要分割與擴展分配最多能夠有四筆(硬盤的限制)
  • 擴展分配最多隻能有一個(操做系統的限制)
  • 邏輯分割是由擴展分配持續切割出來的分割槽;
  • 可以被格式化後,做爲數據存取的分割槽爲主要分割與邏輯分割。擴展分配沒法格式化;
  • 邏輯分割的數量依操做系統而不一樣,在Linux系統中,IDE硬盤最多有59個邏輯分割(5號到63號), SATA硬盤則有11個邏輯分割(5號到15號)。

事實上,分割是個很麻煩的東西,由於他是以磁柱爲單位的『連續』磁碟空間, 且擴展分配又是個相似獨立的磁碟空間,因此在分割的時候得要特別注意。咱們舉底下的例子來解釋一下好了:

例題:
在Windows操做系統當中,若是你想要將D與E槽整合成爲一個新的分割槽,而若是有兩種分割的狀況以下圖所示, 圖中的特殊顏色區塊爲D與E槽的示意,請問這兩種方式是否都可將D與E整合成爲一個新的分割槽?
磁碟空間整合示意圖
圖2.3.三、磁碟空間整合示意圖
答:
  • 上圖能夠整合:由於上圖的D與E同屬於擴展分配內的邏輯分割,所以只要將兩個分割槽刪除,而後再從新建立一個新的分割槽, 就可以在不影響其餘分割槽的狀況下,將兩個分割槽的容量整合成爲一個。

  • 下圖不可整合:由於D與E分屬主分割與邏輯分割,二者不可以整合在一塊兒。除非將擴展分配破壞掉後再從新分割。 但如此一來會影響到全部的邏輯分割槽,要注意的是:若是擴展分配被破壞,全部邏輯分割將會被刪除。 由於邏輯分割的資訊都記錄在擴展分配裏面嘛!

由於第一個磁區所記錄的分割表與MBR是這麼的重要,幾乎只要讀取硬盤都會先由這個磁區先讀起。 所以,若是整顆硬盤的第一個磁區(就是MBR與partition table所在的磁區)物理實體壞掉了,那這個硬盤大概就沒有用了! 由於系統若是找不到分割表,怎麼知道如何讀取磁柱區間呢?您說是吧!底下還有一些例題您能夠思考看看:

例題:
若是我想將一顆大硬盤『暫時』分割成爲四個partitions,同時還有其餘的剩餘容量可讓我在將來的時候進行規劃, 我能不能分割出四個Primary?若不行,那麼你建議該如何分割?
答:
  • 由於Primary+Extended最多隻能有四個,其中Extended最多隻能有一個,這個例題想要分割出四個分割槽且還要預留剩餘容量, 所以P+P+P+P的分割方式是不適合的。由於若是使用到四個P,則即便硬盤還有剩餘容量, 由於沒法再繼續分割,因此剩餘容量就被浪費掉了。

  • 假設你想要將全部的四筆記錄都花光,那麼P+P+P+E是比較適合的。因此能夠用的四個partitions有3個主要及一個邏輯分割, 剩餘的容量在擴展分配中。

  • 若是你要分割超過4槽以上時,必定要有Extended分割槽,並且必須將全部剩下的空間都分配給Extended, 而後再以logical的分割來規劃Extended的空間。 另外,考慮到磁碟的連續性,通常建議將Extended的磁柱號碼分配在最後面的磁柱內。

例題:
我能不能僅分割出一個Primary與一個Extended便可?
答:
固然能夠,這也是早期Windows操做系統慣用的手法!此外,邏輯分割槽的號碼在IDE可達63號,SATA則可達15號, 所以僅一個主要與一個擴展分配便可,由於擴展分配可繼續被分割出邏輯分割槽嘛!

例題:
假如個人PC有兩顆SATA硬盤,我想在第二顆硬盤分割出6個可用的分割槽(能夠被格式化來存取數據之用), 那每一個分割槽在Linux系統下的裝置檔名爲什麼?且分割類型各爲什麼?至少寫出兩種不一樣的分割方式。
答:
由於P(primary)+E(extended)最多隻能有四個,其中E最多隻能有一個。如今題目要求6個可用的分割槽,所以不可能分出四個P。 底下咱們假設兩種環境,一種是將前四號所有用完,一種是僅花費一個P及一個E的狀況:
  • P+P+P+E的環境:
    分割示意圖
    圖2.3.四、分割示意圖

    實際可用的是/dev/sdb1, /dev/sdb2, /dev/sdb3, /dev/sdb5, /dev/sdb6, /dev/sdb7這六個,至於/dev/sdb4這個擴展分配自己僅是提供來給邏輯分割槽建立之用。

  • P+E的環境:
    分割示意圖
    圖2.3.五、分割示意圖

    注意到了嗎?由於1~4號是保留給主要/擴展分配槽的,所以第一個邏輯分割槽必定是由5號開始的!再次強調啊! 因此/dev/sdb3, /dev/sdb4就會被保留下來沒有用到了!


小標題的圖示啓動流程與主要啓動記錄區(MBR)

咱們在計算機概論裏面談到了,沒有運行軟件的硬件是沒有用的,除了會電人以外..., 而爲了計算機硬件系統的資源合理分配,所以有了操做系統這個系統軟件的產生。由於操做系統會控制全部的硬件而且提供核心功能, 所以咱們的計算機就可以認識硬盤內的文件系統,而且進一步的讀取硬盤內的軟件文件與運行該軟件來達成各項軟件的運行目的。

問題是,你有沒有發現,既然操做系統也是軟件,那麼個人計算機又是如何認識這個操做系統軟件而且運行他的? 明明啓動時個人計算機尚未任何軟件系統,那他要如何讀取硬盤內的操做系統文件啊?嘿嘿!這就得要牽涉到計算機的啓動程序了! 底下就讓咱們來談一談這個啓動程序吧!

計算機概論裏面咱們有談到那個可愛的BIOS與CMOS兩個東西, CMOS是記錄各項硬件參數且嵌入在主板上面的儲存器,BIOS則是一個寫入到主板上的一個韌體(再次說明, 韌體就是寫入到硬件上的一個軟件程序)。這個BIOS就是在啓動的時候,計算機系統會主動運行的第一個程序了!

接下來BIOS會去分析計算機裏面有哪些儲存設備,咱們以硬盤爲例,BIOS會依據使用者的配置去取得可以啓動的硬盤, 而且到該硬盤裏面去讀取第一個磁區的MBR位置。 MBR這個僅有446 bytes的硬盤容量裏面會放置最基本的啓動管理程序, 此時BIOS就功成圓滿,而接下來就是MBR內的啓動管理程序的工做了。

這個啓動管理程序的目的是在加載(load)核心文件, 由於啓動管理程序是操做系統在安裝的時候所提供的,因此他會認識硬盤內的文件系統格式,所以就可以讀取核心文件, 而後接下來就是核心文件的工做,啓動管理程序也功成圓滿,以後就是你們所知道的操做系統的任務啦!

簡單的說,整個啓動流程到操做系統以前的動做應該是這樣的:

  1. BIOS:啓動主動運行的韌體,會認識第一個可啓動的裝置;
  2. MBR:第一個可啓動裝置的第一個磁區內的主要啓動記錄區塊,內含啓動管理程序;
  3. 啓動管理程序(boot loader):一支可讀取核心文件來運行的軟件;
  4. 核心文件:開始操做系統的功能...

由上面的說明咱們會知道,BIOS與MBR都是硬件自己會支持的功能,至於Boot loader則是操做系統安裝在MBR上面的一套軟件了。由於MBR僅有446 bytes而已,所以這個啓動管理程序是很是小而美的。 這個boot loader的主要任務有底下這些項目:

  • 提供菜單:使用者能夠選擇不一樣的啓動項目,這也是多重啓動的重要功能!
  • 加載核心文件:直接指向可啓動的程序區段來開始操做系統;
  • 轉交其餘loader:將啓動管理功能轉交給其餘loader負責。

上面前兩點還容易理解,可是第三點頗有趣喔!那表示你的計算機系統裏面可能具備兩個以上的啓動管理程序呢! 有可能嗎?咱們的硬盤不是隻有一個MBR而已?是沒錯啦!可是啓動管理程序除了能夠安裝在MBR以外, 還能夠安裝在每一個分割槽的啓動磁區(boot sector)喔!瞎密?分割槽還有各別的啓動磁區喔? 沒錯啊!這個特點才能造就『多重啓動』的功能啊!

咱們舉一個例子來講,假設你的我的計算機只有一個硬盤,裏面切成四個分割槽,其中第1、二分割槽分別安裝了Windows及Linux, 你要如何在啓動的時候選擇用Windows仍是Linux啓動呢?假設MBR內安裝的是可同時認識Windows/Linux操做系統的啓動管理程序, 那麼整個流程能夠圖示以下:

啓動管理程序的工做運行示意圖
圖2.4.一、啓動管理程序的工做運行示意圖

在上圖中咱們能夠發現,MBR的啓動管理程序提供兩個菜單,菜單一(M1)能夠直接加載Windows的核心文件來啓動; 菜單二(M2)則是將啓動管理工做交給第二個分割槽的啓動磁區(boot sector)。當使用者在啓動的時候選擇菜單二時, 那麼整個啓動管理工做就會交給第二分割槽的啓動管理程序了。 當第二個啓動管理程序啓動後,該啓動管理程序內(上圖中)僅有一個啓動菜單,所以就可以使用Linux的核心文件來啓動羅。 這就是多重啓動的工做狀況啦!咱們將上圖做個總結:

  • 每一個分割槽都擁有本身的啓動磁區(boot sector)
  • 圖中的系統槽爲第一及第二分割槽,
  • 實際可啓動的核心文件是放置到各分割槽內的!
  • loader只會認識本身的系統槽內的可啓動核心文件,以及其餘loader而已;
  • loader可直接指向或者是間接將管理權轉交給另外一個管理程序。

那如今請你想想,爲何人家經常說:『若是要安裝多重啓動, 最好先安裝Windows再安裝Linux』呢?這是由於:

  • Linux在安裝的時候,你能夠選擇將啓動管理程序安裝在MBR或各別分割槽的啓動磁區, 並且Linux的loader能夠手動配置菜單(就是上圖的M1, M2...),因此你能夠在Linux的boot loader裏面加入Windows啓動的選項;

  • Windows在安裝的時候,他的安裝程序會主動的覆蓋掉MBR以及本身所在分割槽的啓動磁區,你沒有選擇的機會, 並且他沒有讓咱們本身選擇菜單的功能。

所以,若是先安裝Linux再安裝Windows的話,那MBR的啓動管理程序就只會有Windows的項目,而不會有Linux的項目 (由於本來在MBR內的Linux的啓動管理程序就會被覆蓋掉)。 那須要從新安裝Linux一次嗎?固然不須要,你只要用盡各類方法來處理MBR的內容便可。 例如利用全中文的spfdisk(http://spfdisk.sourceforge.net/)軟件來安裝認識Windows/Linux的管理程序, 也可以利用Linux的救援模式來挽救MBR便可。

Tips:
啓動管理程序與Boot sector的觀念是很是重要的,咱們會在第二十章分別介紹,您在這裏只要先對於(1)啓動須要啓動管理程序, 而(2)啓動管理程序能夠安裝在MBR及Boot Sector兩處這兩個觀念有基本的認識便可, 一開始就背太多東西會很混亂啦!
鳥哥的圖示

小標題的圖示Linux安裝模式下, 磁盤分區的選擇(極重要)
  • 目錄樹結構(directory tree)

咱們前面有談過Linux內的全部數據都是以文件的形態來呈現的,因此羅,整個Linux系統最重要的地方就是在於目錄樹架構。 所謂的目錄樹架構(directory tree)就是以根目錄爲主,而後向下呈現分支狀的目錄結構的一種文件架構。 因此,整個目錄樹架構最重要的就是那個根目錄(root directory),這個根目錄的表示方法爲一條斜線『/』, 全部的文件都與目錄樹有關。目錄樹的呈現方式以下圖所示:

目錄樹相關性示意圖
圖2.5.一、目錄樹相關性示意圖

如上圖所示,全部的文件都是由根目錄(/)衍生來的,而次目錄之下還可以有其餘的數據存在。上圖中長方形爲目錄, 波浪形則爲文件。那當咱們想要取得mydata那個文件時,系統就得由根目錄開始找,而後找到home接下來找到dmtsai, 最終的檔名爲:/home/dmtsai/mydata的意思。

咱們如今知道整個Linux系統使用的是目錄樹架構,可是咱們的文件數據實際上是放置在磁盤分區槽當中的, 如今的問題是『如何結合目錄樹的架構與磁碟內的數據』呢? 這個時候就牽扯到『掛載(mount)』的問題啦!


  • 文件系統與目錄樹的關係(掛載)

所謂的『掛載』就是利用一個目錄當成進入點,將磁盤分區槽的數據放置在該目錄下; 也就是說,進入該目錄就能夠讀取該分割槽的意思。這個動做咱們稱爲『掛載』,那個進入點的目錄咱們稱爲『掛載點』。 由於整個Linux系統最重要的是根目錄,所以根目錄必定須要掛載到某個分割槽的。 至於其餘的目錄則可依使用者本身的需求來給予掛載到不一樣的分割槽。咱們如下圖來做爲一個說明:

目錄樹與分割槽之間的相關性
圖2.5.二、目錄樹與分割槽之間的相關性

上圖中假設個人硬盤分爲兩槽,partition 1是掛載到根目錄,至於partition 2則是掛載到/home這個目錄。 這也就是說,當個人數據放置在/home內的各次目錄時,數據是放置到partition 2的,若是不是放在/home底下的目錄, 那麼數據就會被放置到partition 1了!

其實判斷某個文件在那個partition底下是很簡單的,透過反向追蹤便可。以上圖來講, 當我想要知道/home/vbird/test這個文件在那個partition時,由test --> vbird --> home --> /,看那個『進入點』先被查到那就是使用的進入點了。 因此test使用的是/home這個進入點而不是/喔!

例題:
如今讓咱們來想想,個人計算機系統如何讀取光盤內的數據呢?在Windows裏面使用的是『光驅』的代號方式處理(假設爲E槽時), 但在Linux底下咱們依舊使用目錄樹喔!在默認的狀況下,Linux是將光驅的數據放置到/media/cdrom裏頭去的。 若是光盤片裏面有個文件檔名爲『個人文件』時,那麼這個文件是在哪裏?
答:
這個文件最終會在以下的完整檔名中:
  • Windows: 壁紙\個人計算機\E:\個人文件
  • Linux: /media/cdrom/個人文件
若是光驅並不是被掛載到/media/cdrom,而是掛載到/mnt這個目錄時,剛剛讀取的這個文件的檔名會變成:
  • /mnt/個人文件
若是你瞭解這個檔名,這表示你已經知道掛載的意義了!初次接觸Linux時,這裏最容易搞混,由於他與Windows的分割槽代號徹底不同!


  • distributions安裝時,掛載點與磁盤分區的規劃:

既然咱們在Linux系統下使用的是目錄樹系統,因此安裝的時候天然就得要規劃磁盤分區與目錄樹的掛載了。 實際上,在Linux安裝的時候已經提供了至關多的默認模式讓你選擇分割的方式了, 不過,不管如何,分割的結果可能都不是很能符合本身主機的樣子!由於畢竟每一個人的『想法』都不太同樣! 所以,強烈建議使用『自訂安裝, Custom 』這個安裝模式!在某些Linux distribution中,會將這個模式寫的很厲害,叫作是『Expert, 專家模式』,這個就厲害了, 請相信您本身,瞭解上面的說明後,就請自稱爲專家了吧!沒有問題!

  • 自訂安裝『Custom』:
    • A:初次接觸Linux:只要分割『 / 』及『swap』便可:

    一般初次安裝Linux系統的朋友們,咱們都會建議他直接以一個最大的分割槽『 / 』來安裝系統。 這樣做有個好處,就是不怕分割錯誤形成沒法安裝的困境!例如/usr是Linux的可運行程序及相關的文件擺放的目錄, 因此他的容量需求蠻大的,萬一你分割了一塊分割槽給/usr,可是卻給的不夠大,那麼就傷腦筋了! 由於會形成沒法將數據徹底寫入的問題,就有可能會沒法安裝啦!所以若是你是初次安裝的話, 那麼能夠僅分割成兩個分割槽『 / 與 Swap 』便可。

    • B:建議分割的方法:預留一個備用的剩餘磁碟容量!

    在想要學習Linux的朋友中,最麻煩的可能就是得要經常處理分割的問題,由於分割是系統管理員很重要的一個任務。 但若是你將整個硬盤的容量都用光了,那麼你要如何練習分割呢?^_^。因此鳥哥在後續的練習中也會這樣作, 就是請你特別預留一塊不分割的磁碟容量,做爲後續練習時能夠用來分割之用!

    此外,預留的分割槽也能夠拿來作爲備份之用。由於咱們在實際操做Linux系統的過程當中, 可能會發現某些script或者是重要的文件很值得備份時,就能夠使用這個剩餘的容量分割出新的分割槽, 並使用來備份重要的配置檔或者是script。這有個最大的好處, 就是當個人Linux從新安裝的時候,個人一些軟件或工具程序立刻就能夠直接在硬盤當中找到!呵呵!從新安裝比較便利啦。 爲何要從新安裝?由於沒有安裝過Linux十次以上,不要說你學會了Linux了啦!慢慢體會這句話吧! ^_^

  • 選擇Linux安裝程序提供的默認硬盤分割方式:

    對於首次接觸Linux的朋友們,鳥哥一般不建議使用各個distribution所提供默認的Server安裝方式, 由於會讓你沒法得知Linux在搞什麼鬼,並且也不見得能夠符合你的需求!並且要注意的是, 選擇Server的時候,請『肯定』你的硬盤數據是再也不須要!由於Linux會自動的把你的硬盤裏面舊有的數據所有殺掉! 此外,硬盤至少須要2 GB以上才能夠選擇這一個模式!

如今你知道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版本,由於只有一片,比較環保啦!

Tips:
你所下載的文件擴展名是.iso,這就是所謂的image文件(映像檔)。這種image文件是由光盤直接燒錄成文件的, 文件很是的大,建議你不要使用瀏覽器(IE/Firefox..)來下載,能夠使用FTP用戶端程序來下載,例如Filezilla (http://filezilla-project.org/download.php)等。這樣比較不須要擔憂斷線的問題,由於能夠續傳啊!

此外,這種映像檔可不能以數據格式燒錄成爲光盤/DVD的!你必需要使用燒錄程序的功能, 將他以『映像檔格式』燒錄成爲光盤或DVD才行!切記不要使用燒錄數據檔格式來燒錄喔!重要重要!
鳥哥的圖示

小標題的圖示主機的服務規劃與硬件的關係

咱們前面已經提過,由於主機的服務目的不一樣,所須要的硬件等級與配備天然也就不同! 底下鳥哥稍微提一提每種服務可能會須要的硬件配備規劃,固然,仍是得提醒, 每一個朋友的需求都不同,因此設計您的主機以前,請先針對本身的需求進行考量。而, 若是您不知道本身的考量爲什麼,那麼就先拿一部普通的計算機來玩一玩吧!不過要記得! 不要將重要數據放在練習用的Linux主機上面。


  • 打造Windows與Linux共存的環境:

在某些狀況之下,你可能會想要在『一部主機上面安裝兩套以上的操做系統』, 例如底下這些情況:

  • 個人環境裏面僅能容許我擁有一部主機,不管是經濟問題仍是空間問題~
  • 由於目前各主要硬件仍是針對Windows進行驅動程序的開發,我想要同時保有Windows操做系統與Linux操做系統, 以肯定在Linux底下的硬件應該使用那個I/O port或者是IRQ的分配等等;
  • 個人工做須要同時使用到Windows與Linux操做系統。

果然如此的話,那麼剛剛咱們在上一個小節談到的啓動流程與多重啓動的數據就很重要了。 由於須要如此你纔可以在一部主機上面操弄兩種不一樣的操做系統嘛!

Tips:
通常來講,你還能夠在Windows操做系統上面安裝Virtualbox (http://www.virtualbox.org/) 之類的軟件,讓你能夠在Windows系統上面『同時』使用Linux系統, 就是兩個操做系統同時啓動!不過,那樣的環境比較複雜,尤爲Virtualbox環境中不少硬件都是模擬的, 會讓新手很難理解系統控制原理。基本上,鳥哥很不建議您使用這樣的方式來學習Linux喔!
鳥哥的圖示

若是你的Linux主機已是想要拿來做爲某些服務之用時,那麼務必不要選擇過久的硬件喔! 前面談到過,太老舊的硬件可能會有電子零件老化的問題~另外,若是你的Linux主機必需要整年無休的啓動著, 那麼擺放這部主機的位置也須要選擇啊!好了,底下再來談一談,在通常小型企業或學校單位中, 常見的某些服務與你的硬件關係有哪些?


  • NAT(達成IP分享器的功能):

一般小型企業或者是學校單位大多僅會有一條對外的連線,而後全公司/學校內的計算機所有透過這條連線連到網際網絡上。 此時咱們就得要使用IP分享器來讓這一條對外連線分享給全部的公司內部員工使用。 那麼Linux能不能達到此一IP分享的功能呢?固然能夠,就是透過NAT服務便可達成這項任務了!

在這種環境中,由於Linux做爲一個內/外分離的實體,所以網絡流量會比較大一點。 此時Linux主機的網絡卡就須要比較好些的配備。其餘的CPU、RAM、硬盤等等的影響就小不少。 事實上,單利用Linux做爲NAT主機來分享IP是很不智的~由於PC的耗電能力比IP分享器要大的多~

那麼爲何你還要使用Linux做爲NAT呢?由於Linux NAT還能夠額外的加裝不少分析軟件, 能夠用來分析用戶端的連線,或者是用來控制頻寬與流量,達到更公平的頻寬使用呢! 更多的功能則有待後續更多的學習羅!你也能夠參考咱們在服務器架設篇當中的數據羅!


  • SAMBA(加入Windows網絡上的芳鄰):

在你的Windows系統之間如何傳輸數據呢?固然就是透過網絡上的芳鄰來傳輸啦!那還用問。 這也是學校老師在上課過程當中要分享數據給同窗經常使用的機制了。問題是,Windows XP的網芳通常只能同時分享十部用戶端連線,超過的話就得要等待了~真不人性化。

咱們能夠使用Linux上面的SAMBA這個軟件來達成加入Windows網芳的功能喔!SAMBA的效能不錯, 也沒有用戶端連線數的限制,至關適合於通常學校環境的文件服務器(file server)的角色呢!

這種服務器由於分享的數據量較大,對於系統的網絡卡與硬盤的大小及速度就比較重要, 若是你還針對不一樣的使用者提供文件服務器功能,那麼/home這個目錄能夠考慮獨立出來,而且加大容量。


  • Mail(郵件服務器):

郵件服務器是很是重要的,尤爲對於現代人來講,電子郵件幾乎已經取代了傳統的人工郵件遞送了。 拜硬盤價格大跌及Google/Yahoo/MicroSoft公平競爭之賜,通常免費的email信箱幾乎都提供了很不錯的郵件服務, 包過Web介面的傳輸、大於2GB以上的容量空間及整年無休的服務等等。例如很是多人使用的gmail就是一例: http://gmail.com

雖然免費的信箱已經很是夠用了,老實說,鳥哥也不建議您架設mail server了。問題是, 若是你是一間私人單位的公司,你的公司內傳送的email是具備商業機密或隱私性的,那你還想要交給免費信箱去管理嗎? 此時纔有須要架設mail server羅。CentOS一安裝完畢就提供了Sendmail及Postfix兩種mail server軟件了!

在mail server上面,重要的也是硬盤容量與網絡卡速度,在此情境中,也能夠將/var目錄獨立出來,並加大容量。


  • Web(WWW服務器):

WWW服務器幾乎是全部的網絡主機都會安裝的一個功能,由於他除了能夠提供Internet的WWW連線以外, 不少在網絡主機上面的軟件功能(例如某些分析軟件所提供的最終分析結果的畫面)也都使用WWW做爲顯示的介面, 因此這傢伙真是重要到不行的。

CentOS使用的是Apache這套軟件來達成WWW網站的功能,在WWW服務器上面,若是你還有提供數據庫系統的話, 那麼CPU的等級就不能過低,而最重要的則是RAM了!要添加WWW服務器的效能,一般提高RAM是一個不錯的考量。


  • DHCP(提供用戶端自動取得IP的功能):

若是你是個區域網絡管理員,你的局域網內共有20部以上的計算機給通常員工使用,這些員工假設並無計算機網絡的維護技能。 那你想要讓這些計算機在連上Internet時須要手動去配置IP仍是他能夠自動的取得IP呢?固然是自動取得比較方便啦! 這就是DHCP服務的功能了!用戶端計算機只要選擇『自動取得IP』,其餘的,就是你係統管理員在DHCP服務器上面配置一下便可。 這個咚咚的硬件要求能夠沒必要很高羅。


  • Proxy(代理服務器):

這也是經常會安裝的一個服務器軟件,尤爲像中小學校的頻寬較不足的環境下, Proxy將可有效的解決頻寬不足的問題!固然,你也能夠在家裏內部安裝一個Proxy喔!可是, 這個服務器的硬件要求能夠說是相對而言最高的,他不但須要較強有力的CPU來運行,對於硬盤的速度與容量要求也很高! 天然,既然提供了網絡服務,網絡卡則是重要的一環!


  • FTP:

經常看到不少朋友喜歡架設FTP去進行網絡數據的傳輸,甚至不少人會架設地下FTP網站去傳輸些違法的數據。 老實說,『FTP傳輸再怎麼地下化也是很容易被捉到的』啦!因此,鳥哥至關不建議您架設FTP的喔! 不過,對於大專院校來講,由於經常須要分享給全校師生一些免費的資源, 此時匿名使用者的FTP軟件功能就很須要存在了。對於FTP的硬件需求來講,硬盤容量與網絡卡好壞相關性較高。

大體上咱們會安裝的服務器軟件就是這一些羅! 固然啦,仍是那句老話,在目前你剛接觸Linux的這個階段中,仍是以Linux基礎爲主, 鳥哥也但願你先了解Linux的相關主機操做技巧,其餘的架站,將來再談吧! 而上面列出的各項服務,僅是提供給你,若是想要架設某種網絡服務的主機時,你應該如何規劃主機比較好!


小標題的圖示主機硬盤的主要規劃

系統對於硬盤的需求跟剛剛提到的主機開放的服務有關,那麼除了這點以外,還有沒有其餘的注意事項呢? 固然有,那就是數據的分類與數據安全性的考量。所謂的『數據安全』並非指數據被網絡cracker所破壞, 而是指『當主機系統的硬件出現問題時,你的文件數據可否安全的保存』之意。

經常會發現網絡上有些朋友在問『個人Linux主機由於跳電的關係,形成不正常的關機,結果致使沒法啓動,這該如何是好?』 呵呵,幸運一點的能夠使用fsck來解決硬盤的問題,麻煩一點的可能還須要從新安裝Linux呢!傷腦筋吧!另外, 由於Linux是多人多工的環境,所以極可能上面已經有不少人的數據在其中了, 若是須要從新安裝的話,光是搬移與備份數據就會瘋掉了!因此硬盤的分割考量是至關重要的!

雖然咱們在本章的第二小節部分有談論過磁盤分區了,可是,硬盤的規劃對於Linux新鮮人而言,那將是形成你『頭疼』的主要兇手之一! 由於硬盤的分割技巧須要對於Linux文件結構有至關程度的認知以後纔可以作比較完善的規劃的! 因此,在這裏你只要有個基礎的認識便可。老實說,沒有安裝過十次以上的Linux系統,是學不會Linux與磁盤分區的啦!

不管如何,底下仍是說明一下基本硬盤分割的模式吧!

  • 最簡單的分割方法:
    這個在上面第二節已經談過了,就是僅分割出根目錄與內存置換空間( / & swap )便可。 而後再預留一些剩餘的磁碟以供後續的練習之用。不過,這固然是不保險的分割方法(因此鳥哥經常說這是『懶人分割法』)! 由於若是任何一個小細節壞掉(例如壞軌的產生),你的根目錄將可能整個的損毀~挽救方面較困難!

  • 稍微麻煩一點的方式:
    較麻煩一點的分割方式就是先分析這部主機的將來用途,而後根據用途去分析須要較大容量的目錄, 以及讀寫較爲頻繁的目錄,將這些重要的目錄分別獨立出來而不與根目錄放在一塊兒, 那當這些讀寫較頻繁的磁盤分區槽有問題時,至少不會影響到根目錄的系統數據,那挽救方面就比較容易啊! 在默認的CentOS環境中,底下的目錄是比較符合容量大且(或)讀寫頻繁的目錄羅:
    • /
    • /usr
    • /home
    • /var
    • Swap

以鳥哥爲例,一般我會但願個人郵件主機大一些,所以個人/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服務器,IP分享與文件分享中心:
  • 提供服務:
    提供家裏的多部計算機的網絡連線分享,因此須要NAT功能。提供家庭成員的數據存放容量,由於家裏使用Windows系統的成員很多, 因此建置SAMBA服務器,提供網芳的網絡磁碟功能。

  • 主機硬件配備:
    • CPU使用P-III 800 MHz;
    • 內存大小爲512 MB的RAM;
    • 兩張網絡卡,控制芯片爲常見的螃蟹卡(Realtek);
    • 共有兩顆磁碟,一顆系統碟一顆數據碟。數據碟高達160 GB;
    • 顯卡爲之前很流行的GeForce 2 MX含32 MB的內存;
    • 安裝完畢後將螢幕,鍵盤,鼠標,DVD-ROM等配備均移除,僅剩下網絡線與電源線。
  • 硬盤分割:
    • 分紅/boot, /, /usr, /var, /tmp等目錄均獨立;
    • /home獨立出來,放置到那顆160GB的磁碟,提供給家庭成員存放我的數據;
    • 1 GB的Swap;


  • 案例二:提供Linux的PC叢集(Cluster)計算機羣:
  • 提供服務:
    提供研究室成員對於模式模擬的軟、硬件平臺,主要提供的服務並不是網際網絡服務, 而是研究室內部的研究工做分析。

  • 主機硬件配備:
    • 利用兩部雙CPU(均爲雙核)的x86_64系統(泰安主板提供的特殊功能);
    • 使用Geforce 7300顯卡,內含64MB的內存;
    • 使用一顆硬盤做爲主系統,六顆磁碟組成磁盤陣列,以儲存模式模擬的結果;
    • 使用PCI-Express介面的網絡卡,速度爲Gbps;
    • 共有4 GB的主內存容量;
  • 硬盤分割:
    • 所有的磁盤陣列容量均給/cluster/raid目錄,佔有2TB的容量;
    • 2 GB的swap容量;
    • 分割出/, /usr, /var, /tmp等目錄,避免程序錯誤形成系統的困擾;
    • /home也獨立出來,讓每一個研究室成員能夠擁有本身的數據存放容量;

在上面的案例中,案例一是屬於小規模的主機系統,所以只要使用預計被淘汰的配備便可進行主機的架設! 惟一可能須要購買的大概是網絡卡吧!呵呵!而在案例二中,由於我須要大量的數值運算, 且運算結果的數據很是的龐大,所以就須要比較大的磁碟容量與較佳的網絡系統了。 以上的數據請先記得,由於下一章節在實際安裝Linux以前,你得先進行主機的規劃呀!


小標題的圖示大硬盤配合舊主機形成的沒法啓動問題

隨著時代的演變,在2009年中的目前,我的計算機上面的硬盤容量居然都已經高達750 GB以上了! 這麼大的硬盤用起來固然是很爽快的啦~不過,也有一些問題的~那就是~啓動的問題~

某些比較舊的主板中,他們的BIOS可能找不到比較大容量的磁碟的。因此,你在舊主板上面安裝新的大容量磁碟時, 極可能你的磁碟容量會被誤判!不過,即便是這樣,Linux仍是可以安裝喔!並且可以順利的捉到完整的硬盤容量呢! 爲何呢?由於當Linux核心順利啓動啓動後,他會從新再去偵測一次整個硬件而不理會BIOS所提供的資訊, 因此就可以順利的捉到正確的硬盤,而且讓你安裝Linux。

可是,安裝完畢後,可能會沒法啓動喔!爲何啊?前一小節裏面咱們不是談到過啓動流程與MBR的內容嗎? 安裝的時候是以光盤啓動而且由光盤加載Linux核心,因此核心能夠被順利加載來安裝。可是若以這樣的配備來啓動時, 由於BIOS捉到的硬盤是不對的,因此使用硬盤啓動可能就會出現沒法啓動的錯誤了。那怎辦?

由於BIOS捉到的磁碟容量不對,可是至少在整顆磁碟前面的磁區他還讀的到啊! 所以,你只要將這個磁碟最前面的容量分割出一個小分割槽,並將這個分割槽與系統啓動文件的放置目錄擺在一塊兒, 那就是 /boot 這個目錄!就可以解決了!很簡單吧! 其實,重點是:『將啓動磁區所在分割槽規範在小於1024個磁柱之內~』 便可!那怎麼作到呢?很簡單,在進行安裝的時候,規劃出三個磁區,分別是:

  • /boot
  • /
  • swap

那個/boot只要給100M Bytes左右便可!並且/boot要放在整塊硬盤的最前面!這部份你先有印象與概念便可,將來咱們談到第二十章的啓動流程時,會再增強說明的! ^_^


大標題的圖示重點回顧

  • 新添購計算機硬件配備時,須要考量的角度有『遊戲機/工做機的考量』、『效能/價格比的考量』、『支持度的考量』等;
  • 舊的硬件配備可能由於保存的問題或者是電子零件老化的問題, 致使計算機系統很是容易在運行過程當中出現不明的死機狀況
  • Red Hat的硬件支持:https://hardware.redhat.com/?pagename=hcl
  • 在Linux系統中,每一個裝置都被當成一個文件來對待,每一個裝置都會有裝置檔名。
  • 磁碟的裝置檔名主要分爲 (1)IDE介面的/dev/hd[a-d]及 (2)SATA/SCSI/U盤介面的/dev/sd[a-p]兩種;
  • 磁碟的第一個磁區主要記錄了兩個重要的資訊,分別是: (1)主要啓動記錄區(Master Boot Record, MBR):能夠安裝啓動管理程序的地方,有446 bytes (1)分割表(partition table):記錄整顆硬盤分割的狀態,有64 bytes;
  • 磁碟的主要與擴展分配最多能夠有四個,邏輯分割的裝置檔名號碼,必定由5號開始;
  • 啓動的流程由:BIOS-->MBR-->-->boot loader-->核心文件;
  • boot loader的功能主要有:提供菜單、加載核心、轉交控制權給其餘loader
  • boot loader能夠安裝的地點有兩個,分別是 MBR 與 boot sector
  • Linux操做系統的文件使用目錄樹系統,與磁碟的對應須要有『掛載』的動做才行;
  • 新手的簡單分割,建議只要有/及swap兩個分割槽便可

大標題的圖示本章習題

(要看答案請將鼠標移動到『答:』底下的空白處,按下左鍵圈選空白處便可察看)
實做題部分:
  • 請分析你的家用計算機,以你的硬件配備來計算可能產生的耗電量,最終再以計算出來的總瓦數乘上你可能啓動的時間, 以推估出一年你可能會花費多少錢在你的這部主機上面?
    硬件裏面包括 CPU/硬盤/主板/內存/顯卡/螢幕等等都會消耗電力,同時電源供應器也會消耗一部份的電力。 如有實際測量工具時,請使用測量結果來計算。若無測量工具,請上網找出每一個組件的最大理論消耗功率來計算。
問答題部分:
  • 一部計算機主機是否只要 CPU 夠快,總體速度就會提升?
    不見得!一部計算機系統的速度與總體計算機系統的運行有關,每一個組件皆會影響計算機的速度! 這包括了內存、CPU、AGP與顯卡速度,硬盤的速度以及其餘相關的輸入輸出介面等等! 因此,若是您的系統是升級的,那麼還得必需要注意各個舊組件是否能夠保留, 或者舊的能夠用的組件必需要捨棄!
  • Linux 對於硬件的要求須要的考慮爲什麼?是否必定要很高的配備才能安裝 Linux ?
    Linux 對於硬件的要求是因『服務種類、服務範圍及主機的角色』而定的。例如一部專門用來運算數值解析的 Linux 運算工做站,須要比較強大的 CPU 與足夠的 RAM 來進行工做,至於通常家庭用的僅用來作爲 ADSL 寬帶分享器的 Linux 主機,則只要 P-III 等級的計算機,甚至 P-II 系列的等級,就能夠很順利的運行 Linux 了。
  • 一部好的主機在安裝以前,最好先進行規劃,哪些是一定須要注意的 Linux 主機規劃事項?
    依據上一題的答案內容,咱們知道 Linux 對於硬件的要求是『因地制宜』地!因此,要進行 Linux 的安裝以前,必定須要規劃 Linux 主機的定位與角色!所以, Linux 的主機是否開放網絡服務?這部主機的將來規劃中,是否須要進行大量的運算?這 部主機是否須要提供很大的硬盤容量來服務客戶端的使用?這部主機預計開放的網絡服務內容? 等等,都是須要通過考量的,尤爲將來的『套件選擇安裝』上面,更須要依據這些規劃來配置。
  • 請寫下下列配備中,在 Linux 的裝置檔名:
    IDE 硬盤:
    CDROM:
    打印機:
    軟盤機:
    網絡卡:
    • IDE 硬盤:/dev/hd[a-d]
    • CDROM:/dev/cdrom
    • 打印機:/dev/lp[0-2]
    • 軟盤機:/dev/fd[0-1]
    • 網絡卡:/dev/eth[0-n]
  • 若是您的系統經常死機,又找不到方法解決,您能夠朝硬件的那個方向去搜尋?
    若是軟件沒有問題的話,那麼固然發生死機的,可能就是硬件的問題了。 1.能夠先檢測系統有沒有超頻? 2.再來則是查閱當系統運行時,系統的機殼內溫度會不會太高? 由於太高的溫度經常會形成死機。 3.再者,檢查一下 CPU 的溫度,這也很重要。 4.再來,則是檢查是否插了多條的內存,由於不一樣廠牌的內存混插很容易形成系統不穩定。 5.電源供應器是否合乎標準?這些均可以進行檢測喔!
  • 目前在我的計算機上面常見的硬盤與主板的鏈接介面有哪兩個?
    有早期的 IDE 介面與最近的 SATA 介面,購買時要分的很清楚!

大標題的圖示參考數據與延伸閱讀


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:從新修訂習題與解答,尤爲一些計概方面的問題將他挪開!

相關文章
相關標籤/搜索