web-dev-qa-db-fra.com

Comment puis-je déterminer la nouvelle taille pour resize2fs?

Je veux rétrécir un système de fichiers ext4 pour faire de la place pour une nouvelle partition et je suis tombé sur le resize2fs programme. La commande ressemble à ceci:

resize2fs -p /dev/mapper/ExistingExt4 $size

Comment devrais-je déterminer $size Si je veux extraire exactement 15 GiB à partir du système de fichiers ext4 actuel? Puis-je utiliser la sortie de df d'une manière ou d'une autre?

23
Lekensteyn

Vous ne devez pas utiliser df car il affiche la taille indiquée par le système de fichiers (dans ce cas, ext4).

Utilisez le dumpe2fs -h /dev/mapper/ExistingExt4 Commande de découvrir la taille réelle de la partition. Les -h option fait dumpe2fs montrer des informations super bloquées sans beaucoup d'autres détails inutiles. À partir de la sortie, vous avez besoin du Nombre de blocs et taille du bloc.

 ... 
 Nombre de blocs: 19506168  
 Nombre de bloc réservé: 975308 
 Blocs gratuits: 13750966 
 inodes gratuits: 4263842 
 Premier bloc: 0 
 Taille du bloc: 4096  
 ... 

Multiplicater ces valeurs donnera la taille de la partition dans octets. Les chiffres ci-dessus sont un multiple parfait de 1024:

$ python -c 'print 19506168.0 * 4096 / 1024'
78024672.0

Puisque vous voulez rétrécir la partition par 15 GiB (qui est à 15 mib, 1 kib):

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

Comme resize2fs Accepte plusieurs types de suffixes, l'un d'entre eux étant K pour "1024 octets", la commande de rétrécissement de la partition à 62296032 kib devient:

resize2fs -p /dev/mapper/ExistingExt4 62296032K

Sans unité, le nombre sera interprété comme un multiple du blocsize du système de fichiers (4096 dans ce cas). Voir homme resize2fs (8)

39
Lekensteyn