請問可以俻份LINUX8 DISK? |
尚未結案
|
ksvm
一般會員 發表:29 回覆:42 積分:14 註冊:2004-07-27 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
http://www.cyut.edu.tw/~ckhung/b/sa/filesystem.shtml 請停止製造二手煙, 停止寄送 .doc 檔。 這不是技術問題; 這是公德心問題。 本網站尊重訪客選擇瀏覽器的自由, 絕不替特定廠商推銷其產品, 淪為壟斷的幫手。 本頁經 tidy 整理, 力求維持符合 w3c 的 xhtml 1.0 規範。
Linux 下的特殊檔案系統 -------------------------------------------------------------------------------- 掛載案系統
在 /lib/modules/2.*/kernel/fs/ 底下可以看到許多與 file system 相關的 kernel modules。 它們的功用是將一長條沒有組織的陣列 (就是硬碟的一個分割啦), 翻譯成我們習慣的樹狀結構 (就是檔案總管或 shell 底下所看到的層層目錄啦)。 例如 fat.o 認得微軟的 fila allocation table 分割; 而 isofs.o 則認得光碟片的 iso9660 file system ... 等等。 欲啟動或終止這種對應關係, 就下 mount 或 umount 指令。 例如 mount -t vfat /dev/hda1 /mnt/windows 指令, 會載入 vfat.o 模組, 從此以後由它將 /dev/hda1 分割上的資料翻譯成樹狀結構, 並將整棵樹掛在 /mnt/windows 目錄下。 此處的 /mnt/windows 叫做 mount point 掛載點, 通常是我們任意建立的空目錄。 大部分情況下, linux 會自動偵測該分割的格式, 自己會判斷它是那種檔案系統, 應載入那些模組來辨認, 所以 -t 其實並不需要。 直接編譯入核心的模組: ext2 是 linux 最基本的檔案系統, 如果連它的程式碼 ext2.o 也放在硬碟的某個目錄上, 核心開機時又如何認得根目錄底下的一切呢? (包含 /lib/modules/.../ext2.o) 這是雞生蛋蛋生雞的問題, 解決之道就是將 ext2.o 的程式碼直接編譯入核心, 根本不必載入。 從 /boot/config 檔案裡面可以看出有那些模組直接編在核心裡面。 檢查映象檔
有時候會從網路上抓回來一些映象檔, 例如: 可以用 cdrecord 命令直接燒錄成一片 cd 的 .iso 檔。
大小恰為 1.44MB 的磁片映象檔 .img。 可以用 dd < floppy.img > /dev/fd0h1440 倒入磁碟片。
當然在 Linux 下, 檔名不是判斷檔案類別的最終指標。 在製作光碟片或磁碟片之前, 應該下 file 命令檢查一下前者是否確實為 "ISO 9660 CD-ROM ..." 而後者是否確實為 "x86 boot sector"。 問題是: 如果只是想看看映象檔裡面有什麼東西, 可以不必燒光碟/製作磁片嗎? 回想 isofs.o 與 vfat.o 的功用, 主要是線性陣列與樹狀目錄結構之間的翻譯, 其實與硬體無關。 映象檔本身也不過就是一個很大的陣列, 當然可以叫 isofs.o 或 vfat.o 將它翻譯成樹狀結構。 這個機制叫做 loopback file system, 意思是將一個映象檔當成是一片實體的光碟或磁片一樣掛載進來, 像這樣: mount -o loop slackware.iso /mnt/test_cd 或 mount -o loop floppy.img /mnt/test_floppy 此處 /mnt/test_cd 與 /mnt/test_floppy 與平常一樣只是一個普通的 mount point, 可以是任意的空目錄。 掛載完畢之後, 可以下 df 命令檢查。 從此以後, 就可以從 mount point 看到映象檔的內容。 用完要記得 umount 喔! 修改映象檔
如果進一步想對映象檔做一點小小的修改呢? 磁片映象檔可讀寫, 所以用 loopback 方式掛入之後, 可以直接進入 mount point 底下修改其中的檔案, 改完之後 umount 就完成了。 至於光碟片的映象檔與光碟片一樣是唯讀的。 你可以燒一片光碟, 拷貝到硬碟上, 修改, 再用 mkisofs 指令製作新的光碟映象檔; 也可以用 loopback 方式, 省下一片光碟: mount -o loop slackware.iso /mnt/test_cd
mkdir /tmp/worksp
cp -r /mnt/test_cd/* /tmp/worksp
進入 /tmp/worksp 修改。
mkisofs ... -o slackware_new.iso /tmp/worksp
製作光碟映象檔的指令 mkisofs 有很多選項, 老實說我從來就記不清楚。 沒關係, 只要成功過一次, 把指令抄在你的筆記, 以後照抄就可以了。 希望你也是用文字格式的 .txt .html .tex 等等檔案格式在做筆記 :-) 為省時起見, 建議先拿小的目錄/檔案做實驗。 為環保起見, 建議用 cdrw, 比較不會製造那麼多垃圾。 請按照以下步驟, 由簡而繁多作幾次實驗: 先從完全不給選項開始, 至少可以燒出一片簡單的資料片。
讀 knoppix 或 morphix 等介紹文件, 看看裡面用到那些 mkisofs 奇怪的選項? 手冊怎麼說? 然後用實驗證實加與不加有何差別。
學會 製作開機光碟。
製作開機光碟很花時間對吧? 從 mkisofs, cdrecord 到重新開機, 都要在一旁傻等。 趁這個機會起來運動一下吧! ...
Loopback-Root-FS 即時解壓縮的唯讀檔案系統之一: cloop
許多玩過 Knoppix 的人都知道 knoppix 可以裝那麼多軟體, 靠的是 cloop ("compressed loopback file system") 模組, 將光碟上一個六百多 MB 的檔案, 當做一個 1.7G 左右的唯讀映象檔在用。 最近才發覺想使用 cloop, 並不局限於 knoppix 底下。 在 rpmfind 可以找到 cloop-utils 套件。 我找到的是 mandrake 版; 這個套件的相依性很低, 我將它用 rpm2tgz 轉成 .tgz, 直接安裝在 slackware 不需要調整就可以用。 如果要做實驗, knoppix 的檔案有點太大, 不妨找一個比較小的 morphix 迷你模組 例如 MorphixMini-rescue.mod 或更小的 MorphixMini-rootpass.mod 與 MorphixMini-xbroadcast.mod 等等, 這些也都是 cloop 檔。 首先將 cloop 映象檔解壓縮成 iso 映象檔: extract_compressed_fs MorphixMini-rescue.mod > MorphixMini-rescue.iso 然後你可以用上一節的方式查看, 甚至修改這個 iso 檔, 例如產生一個新的 MorphixMini-rescue_new.iso。 最後可以下 create_compressed_fs MorphixMini-rescue_new.iso 65536 MorphixMini-rescue_new.mod 新的 cloop 壓縮檔就包好了。 即時解壓縮的唯讀檔案系統之二: cramfs
cloop 的製作過程需要很大的記憶體。 想製作即時解壓縮的唯讀檔案系統, 另一個選擇是使用輕薄短小的 cramfs。 這是 kernel 的標準配備, 你可以看一下 /lib/modules/2.4.*/kernel/fs/cramfs/ 確認你的系統已內建此模組。 先談使用, 等一下再談製作。 因為它是 kernel 內建的模組, 所以像 ext2, vfat 等等一樣, 不需要多一道轉檔手續, 直接用 loopback 的方式就可以掛載: 例如你已製作好一個 ckhung_wp.cramfs 映象檔, 可以下: mount -o loop ckhung_wp.cram /mnt/test 將它掛在 /mnt/test 目錄底下。 一如其他 loopback 映象檔, 從 mount point 進去就可以看到映象檔的內容。 當然它是唯讀的, 無法寫入。 常用功能都很正常: 權限, 擁有人, symolic link ...。 最大的幾個問題: 沒有時間戳記; 每個檔案大小不可超過 16MB; 整個映象檔不可超過 256MB。 掛載入系統的 cramfs, 用 df 看不到, 要用 mount 才看得到。 如何製作 cramsfs 的映象檔呢? 先確定你的系統有 mkcramfs 這個指令。 在 Mandrake 下, 只要安裝 util-linux 套件就會有。 同樣地, 它的相依性不高, 可以將 rpm -ql util-linux | grep cram 列出的所有檔拿到 slackware 底下一樣可以用。 (但不可將 util-linux 轉成 tgz 在 slackware 下安裝, 因為 slackware 有它自己的 util-linux, 會發生衝突。) 例如想將 public_html 目錄整個壓縮成一個 ckhung_wp.cramfs 映象檔, 可以下: mkcramfs public_html/ ckhung_wp.cram 壓縮起來的映象檔, 比同一個目錄壓縮成 .tgz 稍微大一些, 應該是因為檔案系統的索引部分為加速隨機讀取, 多用了一些空間。 Translucent/Overlay/union/copy-on-write/inheriting file system
Morphix 是模組化的 knoppix。 可是仔細想想: 光碟是唯讀的, 如果每個迷你模組各自為政, 並沒有與主要模組放在同一個 cloop 映象檔裡面, 而是各有各的 /usr /bin ... 等等, 那開機之後該怎麼辦呢...? Translucent File System 就是用來解決這個問題的機制。 以下說明假設已用 morphix 開機, Translucent File System 已正常運作, 並假設已開啟一個終端機, 下過 sudo bash 指令, 變身為 root 在操作。 請到 /proc/sys/translucency 底下, 逐一將 0, 1, .. 等檔案 cat 出來看, 或者一次看完: cat [0-9]。 Symbolic link 怪怪的... 更詳細的文件: Translucent fs 的作者 Bernhard M. Wiedemann 收集了一些 連結, 其中一篇 觀念介紹 解釋得很清楚。 這個 project 有 新家, 不過新家幾乎沒有文件。 --------------------------------------------------------------------------------
本頁最新版網址: http://www.cyut.edu.tw/~ckhung/b/sa/filesystem.shtml; 你所看到的版本: 20-Jun-2004; 這一層 及 上一層 可能也有相關網頁。
作者: 朝陽科技大學 資訊管理系 洪朝貴
寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。
|
ksvm
一般會員 發表:29 回覆:42 積分:14 註冊:2004-07-27 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
ksvm 兄
那不是庵寫的 是轉貼文章
庵忘記po上 轉貼 可以看看此產品 基本上運行方式類似ghost但對於hdd的磁叢隱藏應是寫入IC
隱藏 所以使用低階格式也無效
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=55312 要玩Linux就玩Debian (大便系統)
要玩UINX的X86就玩Freebsd
要知道整合應用技術部份 玩knoppix 因為很多重點再這看的到 發表人 - conundrum 於 2004/08/27 00:10:49
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |