resize2fs의 새로운 크기를 어떻게 결정합니까? 위해 ext4 파일 시스템을 축소하고 프로그램을

새 파티션을위한 공간을 만들기 위해 ext4 파일 시스템을 축소하고 프로그램을 살펴보고 싶습니다 resize2fs. 명령은 다음과 같습니다.

resize2fs -p /dev/mapper/ExistingExt4 $size

$size현재 ext4 파일 시스템에서 정확히 15GiB를 빼려면 어떻게해야 합니까? df어떻게 든 출력을 사용할 수 있습니까 ?



답변

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

파티션을 15GiB로 줄이려고하므로 (15KiB x 1KiB) :

$ python -c 'print 19506168.0 * 4096 / 1024  -  15 * 1024 * 1024'
62296032.0

으로 resize2fs접미사의 여러 종류를 받아, 그들 중 하나 인 K“1024 바이트”, 킬로바이트가된다 62,296,032에 파티션을 축소하기위한 명령 :

resize2fs -p /dev/mapper/ExistingExt4 62296032K

단위가 없으면 숫자는 파일 시스템의 블록 크기의 배수 (이 경우 4096)로 해석됩니다. 참조 남자 resize2fs (8)