我有一个问题,我的服务器,让我感到困惑。 我想创build一个空文件,然后作为循环设备安装文件。 所以我试试这个:
dd if=/dev/zero of=/tmp/loop.img bs=1024k count=10
当我检查文件时,它有适当的大小:
ls -lisah 528484126 10M -rw-r--r-- 1 root root 10M 31. Mär 04:06 loop.img
下一步是创buildfs:
mkfs.ext4 /tmp/loop.img
之后文件更小:
ls -lisah 528484126 1,2M -rw-r--r-- 1 root root 10M 31. Mär 04:10 loop.img
而我无法安装该文件。 有没有人知道发生了什么,或者可以告诉我我的错误?
那么,你最大的问题是你没有在运行mkfs之前通过一个循环挂载镜像,你可能打算这样做(例如,在losetup /dev/loop0 /tmp/loop.img之后加上mkfs.ext4 /dev/loop0 )
但是,至于收缩和为什么数字改变,1.2M是实际的文件使用; 10M是磁盘分配。 这就是说“你已经授予/ tmp上的loop.img 10M,目前正在使用它们的1.2M”。
文件系统映像是less数几种文件之一(连同稀疏分配的文件); 一般磁盘分配只是比实际文件大小更高的下一个块边界。