如何调整 Linux 文件系统数据 .bin 文件的大小?

Noa*_*ain 7 filesystem binary

我有一个 2 MB 的文件:root.bin,这是一个 Linux rev 1.0 ext2 文件系统,我想扩展它以便我可以在其中放置更多文件,但它不会像我想象的那样调整大小。如何调整它的大小,最好将文件保留在其上,使其达到特定大小?

Rav*_*ina 12

我们将尝试将您的 2 MBroot.bin文件制作为 12 MB 以演示这些步骤。


创建文件的副本(以防万一):

cp root.bin 12mb.bin
Run Code Online (Sandbox Code Playgroud)

运行以下命令将文件大小增加 10M:

dd if=/dev/zero of=12mb.bin bs=1MiB count=10 conv=notrunc oflag=append
Run Code Online (Sandbox Code Playgroud)

现在 12mb.bin 不再是 2M 了,实际上它的大小是 12M。

跑:

e2fsck -f 12mb.bin
Run Code Online (Sandbox Code Playgroud)

检查文件上的文件系统,然后运行:

resize2fs 12mb.bin
Run Code Online (Sandbox Code Playgroud)

完毕。将其安装在某处:

sudo mount 12mb.bin /mnt
Run Code Online (Sandbox Code Playgroud)

检查尺寸:

df -h --output=size /mnt/
Size
 12M
Run Code Online (Sandbox Code Playgroud)

以及文件的存在:

ls /mnt
Run Code Online (Sandbox Code Playgroud)

我们还可以losetup像块设备一样使用文件:

sudo losetup -f 12mb.bin
Run Code Online (Sandbox Code Playgroud)

然后:

sudo losetup -l | grep -i "12mb.bin" | awk '{print $1}'
/dev/loop0
Run Code Online (Sandbox Code Playgroud)

我们可以调整大小/dev/loop0