Loop-Device

如何設置可增長的環回設備?

  • November 28, 2014

我知道我可以創建和使用這樣的環回設備:

# Create the file
truncate disk.img --size 2G
# Create a filesystem
mkfs.ext4 disk.img
# Mount to use
mount disk.img /mnt
# Clean up
umount /mnt

但是在這種情況下,磁碟映像固定為 2GB。空的時候是2GB,滿的時候是2GB。它不會增長。

有沒有一種可以變大的環回設備?或者,有沒有一種只需要儲存空間的環回設備?

@jordanm 的評論確定了這一點。當我查看ls -lh disk.img. 當我ls -s disk.img@Stephan 的回答中使用時,會顯示真實的文件大小。作為測試,我創建了一個比我的硬碟大的圖像文件:

truncate test.img -s 1000G

它工作得很好,這意味著答案就在問題中:)

使用 dd 創建一個稀疏文件設備。

df -hm # to show where we started
dd of=sparse-file bs=1k seek=102400 count=0 # creates a 100Meg sparsefile
mkfs.ext4 sparse-file
mkdir blah
mount sparse-file blah
cp somefile blah
ls -lahts sparse-file  # The 's' option will report the actual space taken in the first column
ls -lahts blah
df -hm # doublecheck my work
echo 'profit :)'

參考:維基百科稀疏文件文章

引用自:https://unix.stackexchange.com/questions/104790