私は新しいパーティションのためのスペースを作るためにext4ファイルシステムを縮小したかったので、このプログラムを見つけましたresize2fs
。コマンドは次のとおりです。
resize2fs -p /dev/mapper/ExistingExt4 $size
$size
現在、ext4ファイルシステムから15GiBを減算するかどうかを決定する必要がありますか?出力を使用する方法はありますかdf
?
答え1
df
ファイルシステム(この場合はext4)によって報告されたサイズを表示するため、使用しないでください。
このdumpe2fs -h /dev/mapper/ExistingExt4
コマンドを使用してパーティションの実際のサイズを確認します。この-h
オプションを使用すると、dumpe2fs
他の不要な詳細なしでスーパーブロック情報が表示されます。必要な出力からブロック数そしてブロックサイズ。
... ブロック数: 19506168 予約済みブロック数:975308 フリーブロック:13750966 フリーインデックスノード:4263842 最初のブロック:0 ブロックサイズ: 4096 ...
この値を乗算すると、パーティションのサイズが与えられます。バイト。
上記の数字は1024の完全な倍数なので、結果をKiB単位で計算できます。
$ python -c 'print 19506168.0 * 4096 / 1024' # python2
$ python -c 'print(19506168.0 * 4096 / 1024)' # python3
78024672.0
パーティションを15GiBだけ縮小しようとしているので(例:15MiB x 1KiB):
$ python -c 'print 19506168.0 * 4096 / 1024 - 15 * 1024 * 1024' #python2
$ python -c 'print(19506168.0 * 4096 / 1024 - 15 * 1024 * 1024)' #python3
62296032.0
resize2fs
複数のサフィックスが許可され、そのうちの1つは「1024バイト」なので、K
パーティションを62296032KiBに縮小するコマンドは次のとおりです。
resize2fs -p /dev/mapper/ExistingExt4 62296032K
単位がない場合、数値はファイルシステムブロックサイズ(この場合は4096)の倍数として解釈されます。バラより人々は2fsのサイズを変更します(8)