150 likes | 283 Views
檔案系統的管理. 李爵樺. Kenduest@mail.cynix.com.tw. 檔案系統結構. Linux 的檔案系統: 安裝系統時, linux 所使用的分割區形式為 linux native swap 虛擬記憶體使用部分使用的分割區,為 linux swap 目前一般使用的檔案系統為 ext2fs (extend second filesystem) 目前有其他廠商研發的檔案系統,比方: XFS、JFS、ReiserFS、Ext3FS (ext2 下一代的檔案系統)
E N D
檔案系統的管理 李爵樺 Kenduest@mail.cynix.com.tw
檔案系統結構 • Linux 的檔案系統: • 安裝系統時,linux 所使用的分割區形式為 linux native • swap 虛擬記憶體使用部分使用的分割區,為 linux swap • 目前一般使用的檔案系統為 ext2fs (extend second filesystem) • 目前有其他廠商研發的檔案系統,比方: XFS、JFS、ReiserFS、Ext3FS (ext2下一代的檔案系統) 可以參閱 http://www.linuxgazette.com/issue55/florido.html • Linux 的 ext2 檔案系統: • 該分割區最大為 2TB (2048GB) • 單一檔案大小最大可為 2GB • 檔案名稱最長可以到 255 字元
檔案系統實體結構 • ext2 檔案系統最基本儲存檔案為 block • block 大小可以為 1024、2048、4096 等等。 預設的 block 大小為 4096 byte • 實際管理為數個 block 組成 block group, 每個 block group 分配一定的 i-node • 系統預設 4096byte 分配一個 i-node • 檔案系統的檔案以 i-nodes (index node) 辨識
系統目錄結構 (1) • / : 系統的根目錄,由該目錄開始延伸 • /bin : 放置必備的一些基本指令 • /boot : 用來放置 boot image 的目錄位置 • /dev : 週邊裝置檔案的存放位置 • /etc : 用來存放系統的相關設定檔案目錄位置 • /home : 用來放置使用者家目錄的位置 • /lib : 用來放置系統的相關程式庫與共享程式庫的位置 • /lost+found : 每一個新建立格式化好的分割區都有 該目錄。給 fsck 等程式檢查修復用來存放遺失鏈節
系統目錄結構 (2) • /mnt : 提供暫時檔案系統的掛入點位置 • /opt : 相關附屬的程式套件安裝位置 • /proc : 虛擬檔案系統,實際內容是存放在記憶體內, 裡面存放著系統程式執行程序的資料狀態 • /root : root 超級管理員的家目錄 • /sbin : 用來存放專門給系統管理員使用的相關執行檔案 • /usr : 存放系統相關程式與檔案位置,該目錄內還有 其他的目錄規劃使用
系統目錄結構 (3) • /usr 裡面目錄的劃分: X11R6/ : X Window System 的目錄位置 bin/ : 一般使用者執行工具程式位置 doc/ : 安裝的相關軟體程式提供的文件 etc/ : 與 /etc 類似,存放相關設定檔案 man/ : 存放 manual 文件資訊 (man xxx) sbin/ : 次要系統管理員所用到的相關程式 share/ : 共享的相關檔案,比方字型、圖示等等檔案 include/ : 存放編譯器的相關引入檔案 src/ : 存放 kernel 等相關原始碼目錄 local/ : 存放一般使用者自己編譯安裝使用的目錄
系統目錄結構 (4) • /var : 存放系統變動的相關檔案目錄: /log : 存放系統相關程式的 log 紀錄 /spool : 存放待處理的相關資訊目錄 : /mail : 使用者 mailbox 目錄位置 /mqueue : 處理待寄的信件檔案 /lpd : 存放列印中的工作文件 • /tmp : 提供給一般使用者與程式存放暫時的檔案 在 /var/tmp 與 /usr/tmp 許多目錄都是連向 該目錄
建立與使用檔案系統 • 進行分割: fdisk 裝置名稱 • 進行格式化: mke2fs 裝置名稱 - linux native mkswap 裝置名稱 - linux swap • 掛入使用 : linux native : mount 裝置名稱 掛入點目錄 linux swap : swapon 裝置名稱
檔案系統工具使用 (1) • mke2fs [參數] 分割區位置 : (建立 linux native) -c : 呼叫 badblocks 來檢查是否有壞軌 - i : 指定一個 inode 配給多少 bytes -m : 指定保留空間。預設 5% ex: mke2fs –c –i 1024 -m 1 /dev/hda1 • mkswap [參數] 分割區位置 : (建立 linux swap) -c :呼叫 badblocks 來檢查是否有壞軌 block : 指定建立多大。預設全部使用 swap 在 kernel 2.1.117 版本之後可以支援 2GB ex: mkswap /dev/hda6
檔案系統工具使用 (2) • tune2fs – 調整檔案系統參數 usage : tune2fs [參數] 分割區名稱 -c : 設定檔案系統達到最大掛入次數後要 fsck 檢查 -C : 設定該檔案系統目前已經掛入的次數 -e : 指定偵測到檔案系統錯誤的處理方式: continue : Continue normal execution. remount-ro : Remount filesystem read-only. panic : Cause a kernel panic. -i : 設定檔案系統每次開機間隔多久後會強迫檢查 使用 d、m、w 為單位 (ex: 1d 就是 1 day) -l : 列出該分割區資訊 -r : 設定保留空間的數量 -m : 設定保留空間百分比
檔案系統工具使用 (3) • fsck / e2fsck - 檢查修復檔案系統 fsck 為主程式,會去呼叫適當的程式來處理分割區。 檢查檔案系統,需要先卸下該檔案系統,或者是 要把該分割區設定為 read-only usage : e2fsck [參數] 分割區裝置名稱 -a : 自動修復 -c : 呼叫 badblocks 檢查是否有毀損區域 -f : 強制檢查檔案系統
檔案系統工具使用 (4) • dump2fs – 列出該檔案系統的資訊 usage : dump2fs [參數] 分割區裝置名稱 ex: dump2fs /dev/hda1 • df - 顯示掛入分割區的使用狀態 usage : df [參數] 分割區位置 ex: df ex: df –m • du – 顯示每個目錄使用的空間 usage : du [參數] 目錄位置 ex: du ex: du /usr
檔案系統工具使用 (5) • mount – 掛入某個裝置 / 分割區 usage : mount –a [參數] –t type 裝置名稱 掛入點 type 可以分: msdos,ext2,minix,ntfs,vfat,is9660 等等 -a : 參考並掛入 /etc/fstab 紀錄的資訊 -r : 使用 read-only 模式掛入 (-o ro) -w : 使用 write 模式掛入 (-o rw) -o : 指定其他參數。比方: mount –t vfat –o iocharset=cp950 /dev/hda1 /win98 • umount – 卸下某個裝置 / 分割區 usage : umount 分割區位置或者是掛入點目錄位置 ex: umount /mnt/cdrom
檔案系統設定 (1) • /etc/fstab 檔案內容與格式 : 分割區等檔案系統的掛入設定都在此檔案 開機時系統會依照該檔案內容掛入相關檔案系統 • fstab 檔案內容: 分割區 掛入目錄 檔案系統 相關選項 系統備份 系統檢查 /dev/hda5 / ext2 defaults 1 1 /dev/hda6 /home ext2 defaults 1 2 /dev/hda7 swap swap defaults 0 0 /dev/hda1 /mnt/win98 vfat defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 ro,noauto 0 0 none /proc proc defaults 0 0
檔案系統設定 (2) • fstab 檔案內容: 分割區 掛入目錄 檔案系統 相關選項 系統備份 系統檢查 /dev/hda5 / ext2 defaults 1 1 /dev/hda6 /home ext2 defaults 1 2 /dev/hda7 swap swap defaults 0 0 /dev/hda1 /mnt/win98 vfat defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 ro,noauto 0 0 none /proc proc defaults 0 0 • 系統備份參數選項: ext2 檔案系統請設定為 1,其他為 0 • 系統檢查參數選項: / 跟目錄要設定為 1,其他非 / 跟目錄 的 ext2fs 檔案系統設定為 2 。其他非 linux native 則設定為 0