Block-Device

我如何讓 losttup -a 表現得更好?

  • April 6, 2019
# losetup /dev/loop0 /tmp/tmpuUwgbn
# losetup -a
# losetup -f
/dev/loop1
# losetup /dev/loop0
/dev/loop0: [0806]:33654 (/tmp/tmpuUwgbn)
# ls -la /tmp/tmpuUwgbn
-rw------- 1 root root 0 2011-08-24 15:49 /tmp/tmpuUwgbn
# losetup -a
#

為什麼明明知道就不losetup -a列出來?/dev/loop0man頁面沒有給出任何提示。

備份文件小於 512B 的 Loop 設備未在 中列出/proc/partitions,losetup 用於查找 Loop 設備。我相信沒有列出它的原因是通過創建這樣的循環設備,你會得到比它的塊大小更小的塊設備(在循環設備的情況下是 512B)。

因此,雖然 losttup 和核心允許您創建小於 512B 的循環設備,但您無論如何都不能使用它(不能讀取或寫入它,blocksize --getsize returns 0)。你可以用這種設備做的唯一一件事是 - 據我了解 - 增加支持文件並呼叫losetup -c /dev/loopX- 如果支持文件> = 512B,則循環設備現在出現在/proc/partitionsand中$(losetup -a)

恕我直言,核心支持losetup -c使用 <511B 支持文件創建循環設備而不是返回錯誤的原因。

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