天天看點

[RHEL5系統管理攻略]--第3章 ext與swap檔案系統(1)

<b>對于</b><b>IT</b><b>的學習來說,把握</b><b>“</b><b>心法與招式</b><b>”</b><b>的平衡,是至關重要的!要想成為高手!</b><b>“</b><b>心法與招式</b><b>”</b><b>必須兼修!</b>

<b>所謂心法,就是理論基礎知識,是底層的原理性知識,是那些跟特定的廠家無關的跨平台共性知識;</b>

<b>所謂招式,就是應用層面的技能,配置、操作和調試的步驟,跟具體的軟體或者硬體緊密關聯的特殊知識。</b>

<b></b>

<b><b>      ext</b><b>與</b><b>swap</b><b>檔案系統是</b><b>Red Hat Enterprise Linux</b><b>系統中是最重要的檔案系統,本章将深入介紹這</b><b>3</b><b>個檔案系統的功能,以及如何管理這</b><b>3</b><b>個檔案系統。</b></b>

<b><b>3.1 </b>ext2檔案系統</b>

<b>ext2檔案系統是全名為第二代延伸式檔案系統(2nd extended filesytem),是針對Linux特性特别開發的,是以幾乎是為Linux量身打造的檔案系統。是以,ext2最後成為各種Linux産品内置的檔案系統。當然Red Hat Enterprise Linux也提供ext2檔案系統。本節将介紹ext2檔案系統的特色與功能。</b>

<b>   ext2檔案系統究竟提供了什麼魅力,深得所有Linux廠商的推崇?ext2提供的功能整理為以下幾點:</b>

<b>⑴ 支援255個字元的檔案名稱。</b>

<b>⑵ 支援各種類型的檔案。</b>

<b>⑶ 單一檔案系統最大為8TB 。</b>

<b>⑷ 單一檔案最大為8TB 。</b>

<b>⑸ 提供檔案的特殊屬性。</b>

<b>⑹ 可以為ext2檔案系統設定卷标名稱。</b>

<b>⑺ 可以調校ext2檔案系統。</b>

<b>⑻ 通過cache/buffer提高ext2檔案系統的效率。</b>

<b>下面将詳細介紹上述各項特色與功能,并且介紹如何在Red Hat Enterprise Linux系統中操作ext2的特殊功能。</b>

<b>3.1.1 ext2檔案系統名稱與支援的檔案類型</b>

<b>支援255個字元的檔案名稱。</b>

<b>       在以前最多隻能存儲255個字元或者127個中文的檔案名:不過,現在的RHEL的ext2檔案系統已經支援萬國碼(Unicode),是以,最多可以存儲255個英文或者中文的檔案名稱。而檔案名稱中可以使用除了“/”外的任何字元。但是,強烈建議避免使用以下的特殊符号作為檔案名稱。</b>

<b>⑴ 特殊符号:eg: “,” 、“;” 、“-” “~” 、“空白”等。</b>

<b>⑵ 無法顯示的字元:eg: ASCⅡ的007字元。</b>

<b>⑶ 此外,ext2檔案系統也建立、存儲下列幾種類型的檔案。</b>

<b>⑷ 正常檔案(Regular File):包含文字檔案、二進制檔案(Binary File)、執行檔案、連結庫……</b>

<b>⑸ 目錄(Directory)。</b>

<b>⑹ 連接配接檔案(Link File): 包含硬性連接配接檔案(Hard-Link File)、軟性連接配接檔案(Soft-Link File)。</b>

<b>⑺ 裝置檔案(Device File): eg: 區塊裝置(Block Device)、字元裝置(Character File)。</b>

<b>⑻ 跨程序通信檔案(Inter-Process Communcation File,IPC File): 例如:Socket檔案、FIFO檔案。</b>

<b>3.1.2 制作ext2檔案系統</b>

<b>   制作ext2檔案系統,則可用mkfs或者mkfs.ext2指令:</b>

<b>       mkfs [-t  ext2] [options…] device [size]</b>

<b>       mkfs.ext2  [options…] device [size]</b>

<b>⑴ device :  檔案系統的裝置檔案名稱。</b>

<b>⑵ size   :  建立的檔案系統大小。若未指定,則為預設值。</b>

<b>⑶ options:  參數。常用參數如下表所示。</b>

<b>mkfs與mkfs.ext2常用參數表</b>

<b><b>參數</b></b>

<b><b>說明</b></b>

<b><b>-c</b></b>

<b><b>在制作檔案系統前,先檢查磁盤是否有壞軌(</b><b>Bad Block</b><b>)</b></b>

<b><b>-l file</b></b>

<b><b>從</b><b>file</b><b>讀入壞軌扇區資料</b></b>

<b><b>-b size</b></b>

<b><b>指定</b><b>ext2</b><b>檔案系統的區塊大小</b></b>

<b><b>-i size</b></b>

<b><b>指定每隔多少</b><b>size</b><b>位元組建立一個索引節點</b></b>

<b><b>-N count</b></b>

<b><b>指定建立幾個索引節點</b></b>

<b><b>-L lable</b></b>

<b><b>指定</b><b>ext2</b><b>檔案系統的卷标名稱</b></b>

<b><b>-m reserved_percent</b></b>

<b><b>設定保留區塊的百分比</b></b>

<b><b> </b><b>下面我們來看建立</b><b>ext2</b><b>檔案系統:</b></b>

<b><b></b></b>

<b><b>① </b><b>mkfs</b><b>沒有加任何參數,則采用預設值,即把</b><b>/dev/hda8</b><b>的所有磁盤空間制作成  為</b><b>ext2</b><b>檔案系統。</b></b>

<b><b>       </b><b>溫馨提醒:在制作檔案系統時,會清除掉磁盤空間上原來的所有檔案資料,故在建立檔案系統前,一定要仔細思量。</b></b>

<b><b>3.1.3</b><b> ext2</b><b>檔案特殊屬性</b></b>

<b><b>       </b><b>在</b><b>ext2</b><b>檔案系統建立一個檔案時,</b><b>ext2</b><b>除了會記錄檔案的權限、擁有者、異動時時間等資訊外,還會存儲</b><b>ext2</b><b>檔案系統的屬性資料。通過</b><b>ext2</b><b>檔案系統的屬性,可以對</b><b>ext2</b><b>的檔案提供更細緻的管理,賦予</b><b>ext2</b><b>上的檔案更多的功能。</b></b>

<b><b>       </b><b>常用的</b><b>ext2</b><b>檔案系統特殊屬性如下表:</b></b>

<b><b>ext2</b><b>檔案系統的檔案特殊屬性</b></b>

<b><b>屬性</b></b>

<b><b>a</b></b>

<b><b>隻能附加,意即不能删除,也不能覆寫</b></b>

<b><b>c</b></b>

<b><b>允許由核心自動壓縮</b></b>

<b><b>d</b></b>

<b><b>通過</b><b>dump</b><b>工具進行備份時,要跳過這個檔案</b></b>

<b><b>i</b></b>

<b><b>恒久不變的,意即不能删除,不能覆寫,也不能附加</b></b>

<b><b>j</b></b>

<b><b>挂載參數是</b><b>data=ordered</b><b>或</b><b>data=writeback</b><b>時,将所有資料寫入日志區塊</b></b>

<b><b>s</b></b>

<b><b>安全地删除</b></b>

<b><b>u</b></b>

<b><b>可以進行反删除</b></b>

<b><b>A</b></b>

<b><b>讀取該檔案時,不需要更新讀取時間戳記錄,啟用這個屬性時,可以提高檔案的讀取效率</b></b>

<b><b>D</b></b>

<b><b>當目錄被異動時,立即寫回磁盤</b></b>

<b><b>S</b></b>

<b><b>檔案一經修改,立即存回磁盤</b></b>

<b><b> </b></b>

<b><b>  檢視檔案的特殊屬性:</b></b>

<b><b>              lsattr  files</b><b>...</b></b>

<b><b>  配置檔案的特殊屬性:</b></b>

<b><b>              chattr  </b><b>+-</b><b>  attributes</b><b>... </b><b>files</b><b>...</b></b>

<b><b>⑴ </b><b>attributes </b><b>:就是要設定的特殊屬性代号(如:</b><b> i </b><b>、</b><b>a </b><b>)。</b></b>

<b><b>⑵ </b><b>+</b><b> attributes </b><b>:</b><b> </b><b>表示啟用這項屬性(如:+</b><b>i </b><b>)</b></b>

<b><b>⑶ </b><b>-</b><b> attributes </b><b>:</b><b> </b><b>表示停用它個屬性</b><b> (</b><b>如:-</b><b>i )</b></b>

<b><b>好啦,我們一起來看看如何設定</b><b>ext2</b><b>檔案系統特殊屬性:</b></b>

<b><b>為了友善初學者,故從初步開始……</b></b>

<b><b>② </b><b>建立</b><b>tmp</b><b>目錄,在</b><b>/mnt/</b><b>下。</b></b>

<b><b>③ </b><b>再次檢視</b><b>/mnt/</b><b>目錄下是否有</b><b>tmp</b><b>目錄,顯然有。</b></b>

<b><b>④ </b><b>檢視</b><b>/mnt/tmp</b><b>目錄下是否有檔案,顯然沒有。</b></b>

<b><b>⑤ </b><b>建立一個檔案</b><b>file1.</b></b>

<b><b>⑥ </b><b>再次檢視</b><b>/mnt/tmp/</b><b>目錄下是否有檔案</b><b>file1</b><b>,顯然有。</b></b>

<b><b>⑦ </b><b>檢視</b><b>/mnt/tmp/file1</b><b>中是否有内容,明顯沒有。</b></b>

<b><b>⑧ </b><b>把</b><b>/dev/hda8</b><b>分區的檔案系統挂載到</b><b>/mnt/tmp/</b></b>

<b><b>⑨ </b><b>/dev/hda8</b><b>被制作成為</b><b>ext2</b><b>檔案系統,已挂載到</b><b>/mnt/tmp/</b><b>目錄。</b><b></b></b>

<b><b>①    </b><b>先檢視</b><b>/mnt/tmp/file1</b><b>檔案的特殊屬性,根據</b><b>lsattr</b><b>顯示結果可知,</b><b>file1</b><b>目前沒有設定任何的特殊屬性。</b></b>

<b><b>②    </b><b>因沒有任何特殊屬性,故可直接覆寫</b><b>/mnt/tmp/file1</b><b>檔案的内容。</b></b>

<b><b>③    </b><b>檢視</b><b>/mnt/tmp/file1</b><b>檔案的内容僅有“</b><b>Linux</b><b>”了。</b></b>

<b><b>④    </b><b>用</b><b>chattr</b><b>指令開啟</b><b>/mnt/tmp/file1</b><b>檔案的永恒不變特殊屬性(即:+</b><b>i</b><b>參數!</b><b> </b><b>)。</b></b>

<b><b>⑤    </b><b>再次用</b><b>lsattr</b><b>檢視</b><b>/mnt/tmp/file1</b><b>的特殊屬性,目前的确開啟了</b><b>i</b><b>的特殊屬性。</b></b>

<b><b>⑥    </b><b>開啟了</b><b>/mnt/tmp/file1</b><b>的</b><b>i</b><b>特殊屬性,故</b><b>RHEL</b><b>會顯示“</b><b>permission denied(</b><b>拒絕不符權限的操作</b><b>)</b><b>”的錯誤資訊。即無法覆寫</b><b>/mnt/tmp/file1</b><b>檔案的内容。</b></b>

<b><b>⑦    </b><b>用</b><b>cat</b><b>指令檢視隻有“</b><b>Linux</b><b>”。</b></b>

<b><b>3.1.4</b><b> </b><b>多重讀取控制清單</b></b>

<b><b>       </b><b>以往,每一個檔案隻能設定一條權限,而</b><b>UNIX</b><b>系統的權限隻有</b><b>3</b><b>組:擁有者、擁有群組和其他人,意即隻能針對檔案的擁有者、擁有群組或者其他人設定權限,這就限制</b><b>RHEL</b><b>的功能。</b></b>

<b><b>       eg </b><b>:</b><b>Boss</b><b>希望隻有</b><b>koma</b><b>與</b><b>paul</b><b>兩個人可以讀取、寫入</b><b>/data/file1</b><b>,而</b><b>users</b><b>群組的成員隻能讀取,其他人無法讀取。作為系統管理者的你,此時,隻能告訴你的老闆:對不起,</b><b>RHEL</b><b>無法滿足你的要求。(你想想,你的老闆此時如何想???哈……哈……)</b></b>

<b><b>       </b><b>沒事!下面接着看看,為了解決上述問題,</b><b>RHEL</b><b>在</b><b>ext2</b><b>中操作</b><b>POSIX</b><b>的多重讀取控制清單(</b><b>MACL</b><b>)能力,這樣就能為</b><b>ext2</b><b>檔案系統中的每一個檔案設定一條以上的權限資料,以加強</b><b>RHEL</b><b>權限主功能。</b></b>

<b><b>本文轉自 </b></b>

<b><b>beyondhedefang</b></b>

<b><b><b></b> 51CTO部落格,原文連結:http://blog.51cto.com/beyondhdf/258698 ,如需轉載請自行聯系原作者</b></b>

繼續閱讀