Linux学习之CentOS(八)--Linux系统的分区概念
不知不覺已經記錄了8篇Linux學習隨筆了,雖然還是漂浮在Linux系統的表面,還有很多很多沒有學,但是堅持學下去、堅持寫下去就是成功的!!!!
在講Linux系統分區之前,首先得介紹一下硬盤分區的知識,以及咱們用的最多的windows系統上的分區
一、系統分區
首先先普及一下有關系統分區的一些知識:
硬盤分區有三種,主磁盤分區、擴展磁盤分區、邏輯分區。
在linux下主分區和邏輯分區都可以用來放系統,引導os開機,grub會兼容windows系統開機啟動。分出主分區后,其余的部分可以分成擴展分區,一般是剩下的部分全部分成擴展分區,也可以不全分,那剩的部分就浪費了。
|
MBR、擴展分區、邏輯分區的概念
一個是放置該硬盤的信息區,稱之為主引導分區(master boot recorder,MBR),一個是實際文件數據放置的地方.其中,MBR是整個硬盤最重要的區域.一旦MBR物理實體損壞時,則該硬盤就差不多報廢了.一般來說,MBR有512個字節,且可以分為兩個部分.
|
硬盤的分區主要分為基本分區(Primary Partion)和擴展分區(Extension Partion)兩種,基本分區和擴展分區的數目之和不能大于四個,(根據上面的一些分區概念,是基本分區的數目不能超過4個,而擴展分區的數目最多只有1個,所以兩者數目之和不能超過4個)。且基本分區可以馬上被使用但不能再分區。擴展分區必須再進行分區后才能使用,也就是說 它必須還要進行二次分區。那么由擴展分區再分下去的是什么呢?它就是邏輯分區(Logical Partion),況且邏輯分區沒有數量上限制。
如圖,咱們最常用的windows系統的分區就是這樣分區的,首先分出一個主分區(操作系統一般就是裝在主分區里面),然后分了一個擴展分區,因為擴展分區不能直接使用,所以需要在擴展分區下面將其分為若干個邏輯分區(如圖所示的D、E、F、G盤就是分出來的邏輯分區)。
二、Windows分區和Linux分區的區別
在Windows操作系統中,是先將物理地址分開(分出主分區和邏輯分區),再在分區上建立目錄。在Windows操作系統中,所有路徑都是從盤符開始,如C://Program Files.
?
Linux正好相反,是先有目錄,再將物理地址(分區)映射到目錄中.在Linux操作系統中,所有路徑都是從根目錄開始【/】。Linux默認可分為3個分區,分別是boot分區、swap分區和根分區.
?
無論是Windows操作系統,還是Linux操作系統,每個分區均可以有不同的文件系統,如FAT32、NTFS等。
?
對習慣于使用Dos或Windows的用戶來說,有幾個分區就有幾個驅動器,并且每個分區都會獲得一個字母標識符,然后就可以選用這個字母來指定在這個分區上的文件和目錄,它們的文件結構都是獨立的,非常好理解。但對于Linux系統來說,可不再是這樣了,因為對Linux系統用戶來說,無論有幾個分區,分給哪一目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構。Linux中每個分區都是用來組成整個文件系統的一部分,因為它采用了一種叫"掛載"的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄聯系起來。這時要載入的一個分區將使它的存儲空間在一個目錄下獲得。下面我們先來看看Linux的驅動器是如何標識的。
?
對于IDE硬盤,驅動器標識符為“hdx~”,其中“hd”表明分區所在設備的類型,這里 是指IDE硬盤了。“x”為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),“~”代表分區,前四個分區用數字1到4表示,它們是主分區或擴展分區,從5開始就是邏輯分區。例,hda3表示為第一個IDE硬盤上的第三個主分區或擴展分區,hdb2表示為第二個IDE硬盤上的第二個主分區或擴展分區。對于SCSI硬盤則標識為“sdx~”,SCSI硬盤是用“sd”來表示分區所在設備的類型的,其余則和IDE硬盤的表示方法一樣。如,sda1表示第一個SCSI硬盤上的第一個主分區或者擴展分區。
?
三、Linux的分區
在Linux系統中,我們可以通過 fdisk -l (需要root權限)命令來查看安裝的Linux系統的分區具體情況
[root@xiaoluo?/]#?fdisk?-lDisk?/dev/sda:?21.5?GB,?21474836480?bytes255?heads,?63?sectors/track,?2610?cylinders Units?=?cylinders?of?16065?*?512?=?8225280?bytes Sector?size?(logical/physical):?512?bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes?/?512?bytes Disk?identifier:?0x00066e2bDevice?Boot??????Start?????????End??????Blocks???Id??System/dev/sda1???*???????????1??????????64??????512000???83??Linux Partition?1?does?not?end?on?cylinder?boundary./dev/sda2??????????????64????????2611????20458496???8e??Linux?LVMDisk?/dev/mapper/vg_xiaoluo-lv_root:?18.8?GB,?18832424960?bytes255?heads,?63?sectors/track,?2289?cylinders Units?=?cylinders?of?16065?*?512?=?8225280?bytes Sector?size?(logical/physical):?512?bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes?/?512?bytes Disk?identifier:?0x00000000Disk?/dev/mapper/vg_xiaoluo-lv_swap:?2113?MB,?2113929216?bytes255?heads,?63?sectors/track,?257?cylinders Units?=?cylinders?of?16065?*?512?=?8225280?bytes Sector?size?(logical/physical):?512?bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes?/?512?bytes Disk?identifier:?0x00000000
通過上面的 fdisk -l 命令可以看到,在我安裝的CentOS系統上,一共分了兩個區sda1、sda2.以及swap區。
Linux的分區是不同于其它操作系統分區的,它的分區格式只有Ext2和Swap兩 種,Ext2用于存放系統文件,Swap則作為Linux的交換分區。那么現在我們就可以知道Linux至少需要兩個專門的分區(Linux Native和Linux Swap)況且不能將Linux安裝在Dos/Windows分區。一般來說我們將Linux安裝一個或多個類型為“Linux Native”的硬盤分區,但是在Linux的每一個分區都必須要指定一個“Mount Point”(掛載點),告訴Linux在啟動時,這個目錄要給哪個目錄使用。對“Swap”分區來說,一般定義一個且它不必要定義載入點。下面我們先普及下“Linux Native”和“Linux Swap”。
?
*SWAP分區
SWAP分區是LINUX暫時存儲數據的交換分區,它主要是把主內存上暫時不用得 數據存起來,在需要的時候再調進內存內,且作為SWAP使用的分區不用指定“Mout Point”(載入點),既然它作為交換分區,我們理所當然應給它指定大小,它至少要等于系統上實際內存的量,一般來說它的大小是內存的兩倍,如果你是 16MB的內存,那么SWAP分區的大小是32MB左右,以此類推。但必須還要注意一點,SWAP分區不要大于128MB,如果你是64MB的內存,那么 SWAP分區最大也只能被定為127MB,再大就是浪費空間了,因為系統不需要太大的交換分區。以此類推,如果你是128MB或更大的內存,SWAP分區 也只能最大被定為127MB。況且你還必須注意的是如果你是128MB(或更大)的內存,你必須提醒系統你有這么大的內存,要不然它可不認你這個 128MB內存。具體如下:當順利啟動了安裝過程后,會顯示一個boot:提示符,這時你只要鍵入boot:linux mem=128MB就可以了。另外你也可以創建和使用一個以上的交換分區,最多16個。
?
*Linux Native
Linux Native是存放系統文件的地方,它只能用EXT2的分區類型,上面已說過。對Windows用戶來說,操作系統必須裝在同一分區里,它是商業軟件嗎! 所以你沒有選擇的余地!對Linux來說,你有了較大的選擇余地,你可以把系統文件分幾個區來裝(必須要說明載入點),也可以就裝在同一個分區中(載入點是“/”)。下面我們看看 可以創建哪些分區(僅列常用幾種)。
/boot分區 它包含了操作系統的內核和在啟動系統過程中所要用到的文件,建這個分區是有必要的,因為目前大多數的PC機要受到BIOS的限制,況且如果有了一個單獨的/boot啟動分區,即使主要的根分區出現了問題,計算機依然能夠啟動。這個分區的大小約在50MB—100MB之間(根據Linux版本不同,數值可以不一樣)。但是如果想用LILO啟動Linux系統的話,含有/boot的分區必須完全在柱面1023以下。又由于8GB后的數據LILO不能讀取,所以Linux要安裝在8GB的區域以內。?
根據安裝的Linux版本,可以選擇為/boot分區劃分不同的空間(我設置的是500M),查看具體某一個目錄的所在的分區使用 df [目錄全路徑] 這個命令查看,如:
我們可以看到,我們的/boot目錄是掛載在了 sda1 這個分區上,當然我們可以將/boot目錄從該分區上卸載掉,通過如下命令就可以:
[root@xiaoluo?/]#?umount?/boot此時我們可以看到,/boot下面已經沒有任何東西了,我們設置可以在 / 根目錄下建立一個自己的目錄,然后將自己的這個目錄掛載到 sda1 這個分區上(不推薦)。
| /usr分區,是Linux系統存放軟件的地方,如有可能應將最大空間分給它。/home分區,是用戶的home目錄所在地,這個分區的大小取決于有多少用戶。如果是多用戶共同使用一臺電腦的話,這個分區是完全有必要的,況且根用戶也可以很好地控制普通用戶使用計算機,如對用戶或者用戶組實行硬盤限量使用,限制普通用戶訪問哪些文件等。其實單用戶也有建立這個分區的必要,因為沒這個分區的話,那么你只能以根用戶的身份登陸系統,這樣做是危險的,因為根用戶對系統有絕對的使用權,可一旦你對系統進行了誤操作,麻煩也就來了。/var/log分區,是系統日志記錄分區,如果設立了這一單獨的分區,這樣即使系統的日志文件出現了問題,它們也不會影響到操作系統的主分區。/tmp分區,用來存放臨時文件。這對于多用戶系統或者網絡服務器來說是有必要的。這樣即使程序運行時生成大量的臨時文件,或者用戶對系統進行了錯誤的操作,文件系統的其它部分仍然是安全的。因為文件系統的這一部分仍然還承受著讀寫操作,所以它通常會比其它的部分更快地發生問題。/bin分區,存放標準系統實用程序。/dev分區,存放設備文件。/opt分區,存放可選的安裝的軟件。/sbin分區,存放標準系統管理文件。 |
我們可以如果要查看Linux磁盤的使用情況,使用如下命令即可:
[root@xiaoluo?/]#?df?-h文件系統??????????容量??已用??可用?已用%%?掛載點/dev/mapper/vg_xiaoluo-lv_root18G??8.2G??8.3G??50%?/tmpfs?????????????????245M??228K??245M???1%?/dev/shm/dev/sda1?????????????485M???50M??410M??11%?/boot/dev/sr0??????????????391M??391M?????0?100%?/media/20130331_132633
所以,通過以上的概述,總結一下Linux分區需要注意的地方,在安裝Linux系統時,我們一般為其分配三個區:
①/boot區,通常情況下根據Linux的版本不同,個人分區習慣會不同,我這里分配了500M給這個分區。
②swap區,交換區,通常分配給其的大小為物理內存的2倍,但是最好不要超過256M,所以我這里分配了256M給這個分區。
③ / 區,也就是根目錄,這個分區盡量給其分配大的空間,可以將安裝Linux系統的這個硬盤上除去分給/boot、swap區以外的空間都分配給這個分區。
對于Linux系統分區的概念基本上就是這些,在后續的學習中將繼續記錄自己學習Linux系統的點點滴滴!!!
?
轉載于:https://blog.51cto.com/3237526/1606277
總結
以上是生活随笔為你收集整理的Linux学习之CentOS(八)--Linux系统的分区概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity插件之NGUI学习(8)——
- 下一篇: MVC layout 命名空间引用问题