Lek*_*eyn 26 partition ext4 resize2fs
我想缩小一个 ext4 文件系统以为新分区腾出空间并遇到了该resize2fs
程序。该命令如下所示:
resize2fs -p /dev/mapper/ExistingExt4 $size
Run Code Online (Sandbox Code Playgroud)
我应该如何确定$size
是否要从当前的 ext4 文件系统中减去 15 GiB?我可以df
以某种方式使用输出吗?
Lek*_*eyn 41
您不应该使用,df
因为它显示文件系统报告的大小(在本例中为 ext4)。
使用该dumpe2fs -h /dev/mapper/ExistingExt4
命令找出分区的实际大小。该-h
选项可以dumpe2fs
显示超级块信息,而没有很多其他不必要的细节。从输出中,您需要块计数和块大小。
... 块数: 19506168 保留块数:975308 免费块:13750966 免费 inode:4263842 第一个区块:0 块大小: 4096 ...
将这些值相乘将得出分区大小(以字节为单位)。上述数字恰好是 1024 的完美倍数:
$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0
Run Code Online (Sandbox Code Playgroud)
由于您想将分区缩小 15 GiB(即 15 MiB 乘以 1 KiB):
$ python -c 'print 19506168.0 * 4096 / 1024 - 15 * 1024 * 1024'
62296032.0
Run Code Online (Sandbox Code Playgroud)
由于resize2fs
接受多种后缀,其中之一是K
“1024 字节”,因此将分区缩小到 62296032 KiB 的命令变为:
resize2fs -p /dev/mapper/ExistingExt4 62296032K
Run Code Online (Sandbox Code Playgroud)
如果没有单位,该数字将被解释为文件系统块大小的倍数(在本例中为 4096)。参见man resize2fs(8)