Par défaut, Linux réserve une partie d'un système de fichiers à l'utilisateur root, au moins sur ext4 (pour empêcher les utilisateurs ordinaires de remplir complètement le lecteur et de planter le système, et de réduire la fragmentation). Cependant, df
affiche uniquement l'espace libre apparent pour les utilisateurs réguliers (même lorsqu'il est exécuté en tant que root). Comment affichez-vous l'espace "réel" libre, qui serait accessible à root?
la source
tune2fs -l /dev/DEVICE | egrep "Block count|Reserved block count"
. Par exemple pour ma partition "buffer multimédia":Block count: 2621440
etReserved block count: 128449
: 4,9% des blocs disponibles (réglage conservateur pour éviter la fragmentation).cut
commande: vous pouvezawk
directement sélectionner les champs . En fait, lacut
commande n'a pas fonctionné pour moi comme prévu. Quoi qu'il en soit, j'ai donné une autre réponse qui devrait donner une réponse plus précise.tune2fs -m <percentage> <device-name>
pour modifier l'espace disque réservé à un usage root uniquement.sudo tune2fs -l $(df | grep -E '/$' | cut -d\ -f 1) | egrep "Reserved block count|Block size" | paste -sd\ | awk '{print ($4 * $7 / ( 1024 * 1024 ) ), "MB"}'
tune2fs /dev/sda1
ou mieux encorestat -f -c '%a blocks free and %f blocks free for root (%S bytes per block)' /
En utilisant la commande tune2fs (trouvée dans / sbin / tune2fs ), vous pouvez facilement déterminer l' espace réservé : (et plus!)
Je vais fournir les informations de mon système pour référence, je vais supprimer les lignes superflues non importantes pour cette question:
L'en-tête ... et le nom du volume, j'étiquette tous mes disques, les rend faciles à identifier si nécessaire.
VRAIMENT vouloir que cela dise "propre" pendant que le système fonctionne. Honnête!
C'est là que commencent les informations sur la capacité de stockage des données:
Ici, vous pouvez voir que j'ai 121 179 648 blocs au total ... avec une taille de bloc de 4K (4096), qui se multiplie en un grand nombre (462 Go). (La taille des blocs est indiquée ci-dessous)
Et les blocs réservés ... en regardant le nombre ci-dessus, et le nombre ci-dessous ... vous devriez être en mesure de comprendre relativement rapidement que j'ai réservé 1%. Dans ce cas (4,62 Go)
Combien d'espace libre actuellement disponible? Ici!
Et la taille de bloc la plus importante. Utile pour se multiplier.
Ces lignes indiquent QUI les blocs sont réservés à ... l'utilisateur 0, root, dans ce cas
Il y a beaucoup plus d'informations disponibles ici, mais cela devrait vous donner la possibilité de déterminer rapidement combien est disponible et combien plus est réservé pour root. Mathématiques simples.
J'espère que cela t'aides. N'oubliez pas que les pages de manuel sont vos amis.
la source
Ceci affiche l'espace libre en octets dans la partition liée à "/ chemin"
Vous n'avez pas besoin d'être superutilisateur pour l'exécuter.
BTW je ne comprends pas très bien quelle est la différence entre
Taille du bloc% s (pour des transferts plus rapides)
Taille de bloc fondamentale% S (pour le nombre de blocs)
dans l'utilisation de
stat
.la source
bc
pour obtenir le nombre d'octets, ou même l'utiliser--format='%f*%S/1024/1024/1024' | bc
pour obtenir des kilo-octets / mégaoctets / gigaoctets selon le nombre de divisions que vous choisissez.$(( ... ))
fait le calcul, mais elle ne produit que la partie entière du quotient (si vous ajoutez une division). Ou voulez-vous dire que votre shell ne prend pas en charge l'expansion arithmétique?bc
place, vous pourriez obtenir le quotient avec une précision arbitraire, si vous en avez besoin.