4 votes

La commande 'df' ne montre pas le système de fichiers demandé dans Ubuntu 14.04

Ce comportement étrange a commencé il y a quelques jours. Il s'agit de df de tout le système de fichiers

michele@OptiPlex-360:~$ df
Système de fichiers   Blocs de 1K           Utilisé     Disponible    Uti% Monté sur
udev                        1974808                  8       1974800      1% /dev
tmpfs                       397120               1340        395780      1% /run
/dev/sda1                45225008           14448892     28455736    34% /
none                           4                       0              4         0% /sys/fs/cgroup
none                        5120                    4           5116      1% /run/lock
none                     1985596                 80       1985516      1% /run/shm
none                      102400                 68        102332      1% /run/user
/dev/sda6            190822060            65912468   115193268    37% /media/volume1

Maintenant, je demande sda1 et cela me donne une mauvaise réponse

michele@OptiPlex-360:~$ df /dev/sda1
Système de fichiers   Blocs de 1K       Utilisé    Disponible    Uti% Monté sur
udev                           1974808              8         1974800      1% /dev

au lieu de sda6 fonctionne

michele@OptiPlex-360:~$ df /dev/sda6
Système de fichiers   Blocs de 1K          Utilisé    Disponible    Uti% Monté sur
/dev/sda6               190822060        65912468    115193268     37% /media/volume1

Eh bien, qu'est-ce qui ne va pas?

Ah, même problème que j'ai sur mon autre PC avec le même Ubuntu installé.

Sortie supplémentaire comme demandé par muru:

michele@OptiPlex-360:~$ mount | grep /dev/sda1
/dev/sda1 sur / type ext4 (rw,errors=remount-ro)
michele@OptiPlex-360:~$ df /
Système de fichiers                                           Blocs de 1K       Utilisé        Disponible    Uti% Monté sur
/dev/disk/by-uuid/2438603c-1bfd-4e79-9f6c-ad6575988aee   45225008         14448908    28455720    34% /

3voto

Sergiy Kolodyazhnyy Points 97292

Ma explication personnelle à cet effet est la suivante : df lit le fichier /proc/self/mountinfo mais ne trouve pas /dev/sda1 là-bas.

Je sais qu'il lit /proc/self/mountinfo car lorsque je fais strace df /dev/sda1, j'obtiens la ligne suivante dans la sortie

open("/proc/self/mountinfo", O_RDONLY)  = 3

Maintenant, si nous examinons ce fichier, /dev/sda n'est pas là, mais il trouve /dev/sdb, ce qui explique les rapports corrects pour ces partitions.

================
xieerqi:
$ grep 'sda' /proc/self/mountinfo                                              

================
xieerqi:
$ grep 'sdb' /proc/self/mountinfo                                              
43 22 8:18 / /media/WINDOWS rw,nosuid,nodev,noatime - fuseblk /dev/sdb2 rw,user_id=0,group_id=0,allow_other,blksize=4096
49 22 8:21 / /media/xieerqi/0ca7543a-5463-4a07-8bbe-233a7b0bd625 rw,nosuid,nodev,relatime - ext4 /dev/sdb5 rw,data=ordered

Pourquoi n'est-il pas là ? Je ne sais pas. Je ne peux que fournir ce que j'ai trouvé.

Mais pourquoi signale-t-il udev dans la sortie ? df regarde les systèmes de fichiers, et /dev/sda1 se trouve sous le dossier /dev, où le système de fichiers virtuel udev est monté. C'est le même comportement si nous appelons df FICHIER, comme df /home ou df /media/MYWINDOWSPARTITION/FICHIERALEATOIRE.txt

Je suggérerais de le signaler comme un bogue ou au moins demander aux développeurs GNU à propos de ce comportement (copié à partir de la page de manuel)

SIGNALEMENT DES BUGS
       Signalez les bugs de df à bug-coreutils@gnu.org
       Page d'accueil de GNU coreutils : 
       Aide générale sur l'utilisation des logiciels GNU : 
       Signalez les bugs de traduction de df à 

Éditer

De plus, le comportement de df / est à nouveau expliqué par le fichier /proc/self/mountinfo ayant l'entrée suivante

22 0 8:1 / / rw,noatime,nodiratime - ext4 /dev/disk/by-uuid/86df21bf-d95f-435c-9
292-273bdbcba056 rw,errors=remount-ro,data=ordered

Le système de fichiers racine lui-même est monté en tant que /dev/dis/by-uuid/NUMÉRO-UUID-RÉEL.

Mais je n'ai pas d'explication pour df sans arguments signalant /dev/sda1 plutôt que le chemin du disque par uuid. Probablement la raison en est que /dev/dis/by-uuid/NUMÉRO-UUID-RÉEL est lui-même un lien symbolique vers /dev/sda1, donc il le résout complètement sans arguments, mais avec des arguments il doit chercher dans le fichier /proc/self/mountinfo

0voto

hp cre Points 63

C'est normal (pour la deuxième sortie) car les partitions sont montées par leur uuid, et non pas en utilisant les noms des périphériques (c'est le style plus ancien). Certaines distributions Linux utilisent l'ancien style et d'autres utilisent les nouveaux. Voici une note pour mieux expliquer le problème monter les partitions par uuid

Ce mécanisme protège contre le changement de l'ordre des disques durs si vous intervertissez les disques à l'intérieur de votre matériel. Si vous le souhaitez, vous pouvez facilement changer cela en spécifiant le nom du périphérique dans /etc/fstab.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X