歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 8.04 初學之安裝篇 (准備知識)

Ubuntu 8.04 初學之安裝篇 (准備知識)

日期:2017/2/28 17:05:02   编辑:Linux教程

也許你看到下面密密麻麻的文字時,就開始頭大了——這算哪門子零命令啊!不過請允許我在這裡啰唆一番,也許你對下面即將介紹的知識已經了如指掌,但是我還是建議你簡單的浏覽一番,或者就當是為我挑錯。而如果你是第一次安裝Ubuntu,下面的這些准備知識是對於順利地安裝Ubuntu必要的。本文並不打算成為百科全書式的介紹,因此下面涉及到很多內容是非常粗略的。想深入了解更多知識,你可以請教搜索引擎,而我的唯一建議是,請盡量看新的文章。Linux的發展日新月異,老舊的Linux文檔很可能會對讀者認識Linux產生誤導。

1. 硬盤分區
一塊硬盤可以分為四個主分區,或三個主分區加上一個擴展分區。擴展分區其實只是一個容器,我們實際上並不直接使用擴展分區。在擴展分區內,我們可以繼續劃分邏輯分區。一般的認為在一個擴展分區內,能分出無數個邏輯分區。正因為有了邏輯分區,一塊硬盤才能被分成很多個分區。

另一個可能涉及的概念是活動分區。電腦加電啟動時,BIOS會尋找硬盤上有活動分區標識的分區尋找操作系統引導程序。如果一塊硬盤上沒有活動分區,則即使這塊硬盤上有引導程序和完好的操作系統,也將無法成功啟動。(關於什麼是引導程序將在後面介紹。)一塊硬盤上只能有一個活動分區,而且只有主分區才能成為活動分區。

2. Linux中的硬盤分區
與Windows不同,Linux並不是用C, D, E, F等盤符來標識每一個分區的,而是用一系列設備文件來標識——Linux把一切硬件設備都當成文件。比如,Linux下,四個主分區分別對應/dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4。其中/dev是設備文件所在的目錄(即,文件夾,下同),sd代表SCSI Disk,a代表第一個SCSI設備,數字1,2,3,4分別代代表了四個主分區。如果你不知道什麼是SCSI Disk,不用擔心,因為你並不需要知道它究竟是什麼。通常,如果你的電腦中只有一塊硬盤,那麼,這塊硬盤一定是/dev/sda。

可能你以前接觸過Linux,或曾經在一些老舊的資料中看到過/dev/hda代表第一個主IDE通道上的硬盤,……你現在已經無需知道這些了。因為Ubuntu已經取消了用hd和sd區分不同類型的硬盤的機制,取而代之的,用sda統一代表電腦中的第一塊硬盤。

Linux下,/dev/sdaX中的數字X的編號是有限的。在Linux下,最大的分區編號是16。因此,主分區和擴展分區編號占用 1~4,邏輯分區占用5~16。即使你的硬盤中只有一個主分區(如,/dev/sda1)和一個擴展分區(/dev/sda2),剩下的兩個主分區編號:/dev/sda3, dev/sda4 也不會分配給邏輯分區。第一個邏輯分區一定是從/dev/sda5開始編號的。這點與Windows下盤符的編制類似。如:A盤一定是3.5英寸軟驅,B盤一定是5.25英寸軟件,而從C盤開始才是硬盤分區。即使電腦上沒有軟驅,第一個硬盤分區的編號也是C,而不是A。

3. 引導程序與MBR
引導程序是負責將操作系統的內核從硬盤上加載到內存中的程序。在使用Windows的時候,我們似乎從沒有關心過引導程序。不過安裝過雙Windows系統的讀者一定認識Windows的引導程序——即使你從來沒有意識到這一點。Windows的引導程序叫做OS Loader,即操作系統加載器,負責在啟動的時候根據boot.ini中的配置信息,在屏幕上顯示操作系統選擇菜單,然後根據用戶的選擇引導合適的操作系統。

Linux下有兩種引導程序:一種叫做Lilo,一種叫做Grub。Lilo是一個非常經典的引導程序。最初因為它不支持引導位於1024柱面後的Linux內核,而被Grub所取代。新版的Lilo已經能夠支持引導1024柱面後的Linux內核了。現在,幾乎所有的主流發行版都使用Grub作為默認的引導程序。Linux的引導程序與Windows的OS Loader類似。比如,Grub的作用就是負責讀取配置文件(menu.lst),顯示操作系統的選擇菜單,並根據用戶的選擇引導合適的操作系統。

MBR,又稱主引導記錄,位於硬盤的第一個柱面的第一個磁道的第一個扇區中。大小為512B,引導程序就位於MBR中。BIOS在開機過程中,會讀取並運行MBR中的引導程序,由它來加載操作系統內核。同樣位於第一個柱面的第一個磁道的第一個扇區中的還有主分區表。因為主分區表的大小有限,因此只能存下四個分區的信息,這也是一塊硬盤只能分為四個主分區的原因。也許你也猜到了,還有一個叫做“擴展分區表”的東東,位於擴展分區的最前面,保存了邏輯分區的信息。

Linux安裝時,通常會把Grub安裝到MBR。這樣,你就可以用Grub同時引導Linux和Windows了。

4. 文件系統和SWAP
在一個硬盤分區可以使用之前,必須格式化成特定的文件系統。Windows下常見的文件系統有FAT32和NTFS。一些U盤的文件系統還可能是FAT(16)格式的。關於FAT(16),FAT32和NTFS這三種文件系統之間的區別,你只要知道FAT(16)支持的最大單文件為2GB,FAT32支持的最大單文件為4GB,而NTFS則可以支持大於4GB的單個文件。

Linux支持很多種不同類型的文件系統。Linux能夠對FAT16/32和NTFS進行讀寫。但是因為這兩種文件系統不支持Linux文件權限,因此Linux操作系統無法安裝在這兩種文件系統的分區中。常見的用於安裝Linux的文件系統主要有EXT3, ReiserFS, XFS, JFS等。關於Linux支持的文件系統,我可以列出常常的一串來。不過你知道這4種文件系統就足夠了。通常我們都會使用EXT3作為默認的文件系統。關於各種文件系統孰優孰劣的爭論,實在是太多了,我不想對加評論。我的個人看法是,我們使用Ubuntu是作為桌面系統來使用的,大多數情況下,文件系統的性能並不是我們所需要考慮的大問題。也許你會看到很多對EXT3的負面評價,但是我可以告訴你,EXT3是最老牌,最久經考驗的Linux文件系統,所以選擇它沒錯。事實上,如果這篇文章介紹的是Gentoo Linux,我會推薦ReiserFS的。因為ReiserFS處理大量小文件的性能非常出眾。(你可能還會見到一種叫做EXT2的文件系統。正如其名字所暗示的那樣,EXT3是EXT2的升級版本。)

Linux Swap,即Linux交換分區,也是一種文件系統,它的作用是作為Linux的虛擬內存。在Windows下,虛擬內存是一個文件: pagefile.sys,而Linux下,虛擬內存需要使用獨立分區,這樣做的目的據說是為了提高虛擬內存的性能。通常,虛擬內存的大小設置為物理內存的1~2倍。(下面的分區建議中會更多的講述Linux交換分區的問題。)

5. Linux文件結構,掛載與分區建議
Windows的文件結構是多個並列的樹狀結構,最頂部的是不同的磁盤(分區),如:C,D,E,F等。Linux的文件結構是單個的樹狀結構。最頂部的為根目錄,即 / 。在根目錄下,分為多個子目錄,包括/bin,/boot,/dev,/etc,/home,/lib,/media,/mnt,/opt,/proc,/root,/sbin,/tmp,/usr,/var等。這些目錄的具體作用我就不做詳細介紹了。磁盤分區都需要掛載到目錄樹中的某個目錄上才能進行讀寫。

顯然,根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區。上面還提到,Linux交換分區也需要獨立使用一個分區,因此,安裝一個Linux至少要兩個分區。(事實上只使用一個分區安裝Linux也是可能的,而且,如果電腦的物理內存足夠大,交換分區並不是必須的。不過本文不打算介紹這個高級話題。)

在不同的Linux安裝教程中,不同的作者闡述了各種不同的分區建議,本教程也不例外。以下的一些建議有很多包含了強烈的個人喜好,因此讀者並不一定要完全按照我的建議進行分區,選擇最適合自己的方案才是最好的。盡管如此,我還是希望讀者能夠參考一些我下面的一些建議。

/boot:在很多老舊的教程中,都會讓用戶在/boot目錄上掛載一個大小為100MB左右的獨立分區,並推薦把該/boot放在硬盤的前面——即1024柱面之前。事實上,那是Lilo無法引導1024柱面後的操作系統內核的時代的遺物了。當然,也有作者宣稱,獨立掛載/boot的好處是可以讓多個Linux共享一個/boot。
其實,無論是基於上述的哪種理由,都沒有必要把/boot分區獨立出來。首先,Grub可以引導1024柱面後的Linux內核;其次,即使是安裝有多個Linux,也完全可以不共享/boot。因為/boot目錄的大小通常都非常小,大約20MB,分一個100MB的分區無疑是一種浪費,而且還把把硬盤分的支離破碎的,不方便管理。另外,如果讓兩個Linux共享一個/boot,每次升級內核,都會導致Grub的配置文件沖突,帶來不必要的麻煩。而且,不獨立/boot分區僅僅占用了根目錄下的大約20MB左右的空間,根本不會對根目錄的使用造成任何影響。
值得注意的是,隨著硬盤容量的增大,無法引導Linux內核的現象再次出現,這也就是著名的137GB限制。很遺憾,Grub是無法引導137GB之後的分區中的Linux內核的。如果你不巧遇到了這樣的情況(我就遇到過),你就要考慮把/boot獨立掛載到位於137GB前方的獨立分區中,或者索性就把Linux的分區都往前移動,讓根目錄所在分區位於137GB之前。
/usr/local:建議把/opt,/usr或/usr/local獨立出來的教程,基本上也是非常老的了。使用Ubuntu時,我們一般都是使用系統的軟件包管理器安裝軟件,很少自己編譯安裝任何軟件。而建議獨立/usr,/opt,/usr/local的理由無非是為了重裝系統時不再重新編譯軟件而直接使用早先編譯的版本。不過對於大多數普通用戶來說,這個建議通常是沒有意義的。
/var:建議把/var和/tmp獨立出來的教程通常是面向服務器的。因為高負載的服務器通常會產生很對日志文件,臨時文件,這些文件經常改變,因此把/var,/tmp獨立出來有利於提高服務器性能。我們用Ubuntu是做桌面的,甚至有些用戶根本從來沒有關心過系統日志這玩意兒,所以根本沒有必要獨立的為/var和/tmp掛載分區。
/home:這可能是唯一一個值得獨立掛載分區的目錄了。/home是用戶文件夾所在的地方。一個用戶可能在/home/user中存放了大量的文件資料,如果獨立掛載/home,即使遇到Ubuntu無故身亡的尴尬局面,也可以立刻重裝系統,取得自己的文件資料。因此,/home是唯一可以考慮獨立掛載分區的目錄。
看了上面的一些介紹,你可能已經知道我的建議了:

雙分區方案:
/ :至少3GB,建議根據實際情況,盡可能多分���些——特別是喜歡玩各式軟件的讀者。
swap:物理內存小於等於 512MB,建議分配實際物理內存容量2倍大小的SWAP;物理內存大於512MB,建議分配與物理內存等容量的SWAP。

三分區方案:
/ :至少3GB,建議根據實際情況,盡可能多分一些——特別是喜歡玩各式軟件的讀者。
/home:根據實際需要分配1GB~100GB或更多,酌情處理。
swap:物理內存小於等於 512MB,建議分配實際物理內存容量2倍大小的SWAP;物理內存大於512MB,建議分配與物理內存等容量的SWAP。

另外還要說明的一點是,有些老舊的教程中建議把Linux安裝在主分區中,或在/boot下掛載一個主分區。事實上,這也是不需要的。Linux的所有分區都可以位於邏輯分區中。所以不要再為這些舊教程所誤導了,不要再浪費有限的主分區了,放心的把Linux安裝在邏輯分區中吧!

准備知識介紹就這麼多,是不是已經看得昏昏欲睡了?好吧,我就不催眠各位了,下面我們就開始安裝Ubuntu!

Copyright © Linux教程網 All Rights Reserved