如何在Linux文件系統中創建循環?我想打破Linux文件系統的有向無環圖(DAG)屬性。這可能嗎?當我在我的Ubuntu上安裝了scratchbox交叉編譯器時,我曾經看到過這種情況。在Linux文件系統中創建循環
我不知道如何重現它。
如何在Linux文件系統中創建循環?我想打破Linux文件系統的有向無環圖(DAG)屬性。這可能嗎?當我在我的Ubuntu上安裝了scratchbox交叉編譯器時,我曾經看到過這種情況。在Linux文件系統中創建循環
我不知道如何重現它。
使用回送設備啓動安裝,但是您特別詢問了有關bind
安裝座,其中ar有點不同。如果你想使用綁定掛載,你只需在mount命令中指定--bind
即可。例如:
mount --bind /original/path /new/path
這將使系統位置在/original/path
也訪問通過/new/path
訪問。請注意,這將會在安裝點之後而不是!例如,假設我有以下掛載點:
/something
/something/underneath/that
現在假設我做一個bind
掛載/something
:
mount --bind /something /new_something
我將能夠通過路徑/new_something/myfile
訪問像/something/myfile
文件。但我會不是能夠通過路徑/new_something/underneath/that/otherfile
訪問像/something/underneath/that/otherfile
這樣的文件。您必須爲每個文件系統設置一個單獨的bind
裝入;或者如果你有一個相對較新的內核,你可以使用rbind
坐騎,這做後續掛載點:
mount --rbind /something /new_something
一個需要注意的有關rbind
坐騎:後rbind
是他們不處理一個文件系統安裝的情況下建立。也就是說,假設我有一個安裝這樣的:
/something
然後,我建立了我的rbind
同上,然後我安裝/something/underneath/that
:該rbind
不會神奇地讓新通過rbind
位置安裝可見。另外請注意,顯然是由於內核中的錯誤,您無法卸載rbind
安裝。
而且,萬一你的意思是「我如何設置綁定安裝使用mount(2)系統調用?」:當你調用mount(2)
對於普通bind
安裝必須指定MS_BIND
標誌(在mount.h
定義) 。對於rbind
裝載,您必須指定MS_BIND
和非文檔MS_REC
標誌(在linux/fs.h
中定義)。
希望幫助,
埃裏克Melski
mount /path/to/device /path/to/mount/location -o loop
其中/路徑/到/設備是要麼要裝入的分區,或路徑磁盤映像,和/路徑的路徑/到/安裝/位置是路徑到你的文件夾要下
來安裝設備/圖像,你可能還需要包括文件系統,像這樣的類型(使用FAT16/FAT32):一些其他反應已經回答瞭如何設置
mount /path/to/device /path/to/mount/location -o loop -t vfat
它看起來像所有的答案至今大約安裝在環回設備,而不是創建一個使用bind mounts循環。
正如你可能已經發現,
$ mkdir -p test/test
$ mount --bind test test/test
只允許您訪問test/test/test
,並沒有進一步。甚至沒有
$ mount --rbind test test/test
的工作,因爲遞歸綁定安裝有效地通過查找源上的現有坐騎並將其綁定到目標中。
由於綁定座標不能跨越掛載點,因此您所要求的內容是不可能的。如果你真的想模擬一個文件系統循環,試試用像localfs這樣的僞綁定安裝。我沒有嘗試過自己,試圖讀取自己提供的文件系統時,它可能會鎖定。剛纔,我試着用crossmnt
導出一個NFS樹並將其安裝在它自己的下面,但由於類似的原因失敗了。
您可能還需要創建一個從頭開始:
首先創建映像文件並對其進行初始化
dd if=/dev/zero of=/tmp/loop.img bs=1024k count=$IMG_SIZE
接下來,使其使用自己選擇的FS型有效分區
mkfs.ext3 -F /tmp/loop.img
登上你的新形象
mkdir -p /mnt/image
mount /tmp/loop.img /mnt/image -o loop
您現在可以在新圖像中創建/複製文件和目錄。
玩得開心,
Jeach!
我對這個問題的解釋不同於大家似乎正在回答的問題......我在想OP需要一個無限遞歸的目錄結構。這可以創建使用硬鏈接,也許符號鏈接,但idk如何與裝載,所以我不會回答。 – rmeador 2009-04-08 16:13:06
您無法在「傳統」UNIX文件系統中硬連接目錄。 – ephemient 2009-04-08 16:32:14