跳至內容

Loop裝置

出自Taiwan Tongues 客語維基
這是此頁批准,以及是最近的修訂。

/ dev / loop(抑係講vnd( vnode disk )、lofi(迴圈檔案介面)) 在類 Unix 系統肚係一種假个,這種裝置使得檔案可比講共垤裝置一般分人取。

在使用進前,迴圈裝置必須摎現存檔案系統上个檔案相關聯。這種關聯將提供分使用者係一個應用程式介面,介面會允准檔案看做係塊特殊个檔案(參見裝置檔案系統)使用。故所,像係果檔案當中包含一個完整个檔案系統,該恁仔這隻檔案就像磁碟裝置一般分人吊起來。

這種裝置檔案輒常分人用在光碟抑係磁碟鏡像。通過迴圈掛載來掛載包含檔案系統个檔案,正使處在這個檔案系統當中个檔案案件做得存取。這兜檔案將出現在掛載點目錄。假使掛載目錄中本身有檔案,這兜檔案在檔案當中掛載以後會分人禁止使用。

一隻迴圈裝置可能做得在重新導向過程當中進行一兜資料處理。比將講,裝置可能係一個分加密檔案个解密形式。在恁樣个情況下,摎迴圈裝置相關个檔案可能係另外一種假个裝置。做裝置包含加密檔案系統个時節,這種資料處理十分个有用。假使資料處理得著支援還有原本个檔案乜分人加密,迴圈裝置會係恁樣加密檔案个解密形式還過裝置做得像普通檔案系統共樣分人吊起來。

迴圈掛載个使用

因為檔案內統个檔案過後,儲存在這檔案系統當中个檔案無需要特殊函式个支援就做得被常規个檔案系統介面抑係系統存取。比論講在應用程式當中讀寫光碟鏡像檔案。

應用包括管理摎編輯檔案系統鏡像來提供日後使用(尤其係 CD、DVD 鏡像抑係鬥系統)抑係在實際應用當中永久隔離一息資料(比將講在抽取式媒體上類比一個還較遽,還較方便个硬碟抑係封裝加密个檔案系統)。

迴圈裝置提供了在單個檔案當中鬥緊作業系統一種利便捷運个方法,使得安裝作業系統毋使為磁碟機重新分割區。

==可用性==在各種作業系統中迴圈裝置个名存在等一兜个混亂。各種類 Unix 作業系統裡背,功能性个迴圈裝置分無共樣个名仔安名。

在 Linux 中,裝置名仔按照相應裝置驅動程式个符號表項進行安名。 這兜裝置分人喊做「loop」裝置,裝置節點一般安名仔安做 / dev / loop 零 , / dev / loop 這種類。 靜態裝置目錄做得用 makedev 指令碼建立,或者動態地由裝置檔案系統( udev ) 設施建立。迴圈裝置个管理介面係 losetup,這係 util-linux 軟體套件个一部分。

有成時,迴圈裝置著毋著个地認為係迴環裝置,但係這個術語在 Linux核心中係為網路裝置保留个(參見迴環網卡)。 迴圈裝置个概念同迴環裝置無共樣,雖然在名仔項有相像个地方。

在 NetBSD 摎 OpenBSD 等 BSD 產生个系統肚,迴圈裝置分安到「虛擬節點裝置」抑係「vnd」,還過裝置分人放到無人 / dev / vnd 零 , / dev / rvnd 零抑係 / dev / svnd 零等處。在檔案系統肚項,使用 vnconfig 程式來進行組態。FreeBSD 在發行版五之前還有其他个 BSD 系統共樣遵守約定,過後迴圈裝置斯分人納入記憶磁碟裝置(" md ")。 目前使用 mdconfig 程式進行組態。

在 Solaris / OpenSolaris 中,迴圈裝置分人喊做 " 迴環檔案介面 " 抑係 lofi , 位在 / dev / lofi / 一等處。SunOS 有 lofiadm 組態程式。" lofi " 驅動程式支援單淨讀壓縮摎可讀寫个加密。 自從一九八八年夏季開始更有 SunOS / Solaris 平台个第三方逐動 " fbk " ( 檔案類比塊裝置,英文:File emulates Blockdevice )

Mac OS X 實現了一個原生个鏡像掛載機制還過做為佢隨機存取磁碟裝置个抽象。這兜裝置斯像普通裝置共樣出現在 / dev 中,讀寫操作分人送往一隻使用者模式个輔導助行程,還過由輔助行程負責讀取摎寫入个操作。在使用者介面當中打開磁碟鏡像个時節自動被啟用。這做得處理多種格式个碟片、CD-ROM 抑係 DVD 鏡像。

在 Microsoft Windows 作業系統上背並做毋得原生支援个迴圈掛載(一直到 Windows 七,這個功能正分人原生實現,乜通過了工具 diskpart 進行著工作 )。 毋過,這項能力輒常通過第三方程式得實現,比將講 _ Daemon Tools _ 摎 _ Alcohol 百分之一百二十 _ VMware 个免費工具過 LTR Data ( ImDisk ) 都做得實現相像个功能。

實例

在目錄上有檔案系統个檔案一般需要兩步:

一 . 用一個迴圈裝置節點連接檔案。 二 . 在目錄上掛載該迴圈裝置這兩個操作既做得用兩條命令來完成,也做得通過加上特殊个掛載符號个掛載命令來完成。第一個操作做得通過如 Linux 平台下个 losetup 無就係 SunOS 上个 lofiadm 命令完成。

比將講,係講 ` example . img ` 係一個包含檔案系統个常規檔案,還過 ` / home / you / dir ` 好 Linux 使用者个目錄,超級使用个人(root)無定著做得通過執行如下个命令來將檔案掛載在目錄頂高:

` ` ` losetup / dev / loop 零 example . img mount / dev / loop 零 / home / you / dir ` ` `

其中第二條命令會裝置掛載在目錄 ` / home / you / dir `。執行上背講著句仔个效果就係檔案分人做檔案系統吊載,檔案个內容出現在分人掛載个目錄當中(用被掛載个目錄來做根目錄)。

另外 mount 工具輒常可以勝任歸隻掛載个程式:

` ` `mount -o loop example . img / home / you / dir ` ` `

下後裝置就做得用下列命令實現解除安裝:

` ` ` umount / home / you / dir# 或者通宵如 mount | grep " / home / you / dir "

  1. 抑係 losetup -a | grep example . img 个查尋著与文件相㓾个 loop奸奸臣
  2. 種草蜢个相關命令:(< N > 代表隊伍)

umount / dev / loop < N > ` ` `

在較底層个應用程式介面,檔案个關聯摎解除關聯通過在迴圈裝置頂項个 ioctl系統喊來實現。

參見

  • 裝置檔案系統
  • 虛擬硬碟
  • 網路塊裝置
  • 磁碟鏡像

參照

外部連結

  • 組成迴圈裝置 from the cryptoloop HOWTO .
  • 使用迴圈裝置掛載个磁碟鏡像 from the _ Bochs User Manual _