This strange behavior begins в few day ago. This is df of all file system
michele@OptiPlex-360:~$ df
File system 1K-blocchi Usati Disponib. Uso% Montato su
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
Now I ask for sda1 and it gives я в wrong answer
michele@OptiPlex-360:~$ df /dev/sda1
File system 1K-blocchi Usati Disponib. Uso% Montato su
udev 1974808 8 1974800 1% /dev
instead sda6 works
michele@OptiPlex-360:~$ df /dev/sda6
File system 1K-blocchi Usati Disponib. Uso% Montato su
/dev/sda6 190822060 65912468 115193268 37% /media/volume1
Well, what's wrong?
Ах, same issue I have on my other ПК with same Ubuntu installed.
Additional output схвати muru asked for:
michele@OptiPlex-360:~$ mount | grep /dev/sda1
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
michele@OptiPlex-360:~$ df /
File system 1K-blocchi Usati Disponib. Uso% Montato su
/dev/disk/by-uuid/2438603c-1bfd-4e79-9f6c-ad6575988aee 45225008 14448908 28455720 34% /
Это нормально (для второго вывода), поскольку разделы смонтированы их uuid, не используя имена устройств (это - более старый стиль), Некоторые дистрибутивы Linux используют старый стиль и некоторое использование новые. Вот примечание, чтобы лучше объяснить, что выпуск монтирует разделы uuid
, Этот механизм защищает от изменения порядка дисковода Вас диски подкачки в Ваших аппаратных средствах. Если Вы хотите, можно легко изменить это путем определения имени устройства в/etc/fstab.
Мое персональное объяснение с этой целью следующее: df
чтения /proc/self/mountinfo
файл, но не находит /dev/sda1
там.
Я знаю, что это читает /proc/self/mountinfo
потому что, когда я делаю strace df /dev/sda1
Я получаю следующую строку в выводе
open("/proc/self/mountinfo", O_RDONLY) = 3
Теперь, если мы исследуем тот файл, /dev/sda
нет ли, но это действительно находит /dev/sdb
там, который объясняет корректные отчеты для тех разделов.
================
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
Почему это не там?Я не знаю. Я могу только обеспечить то, что я нашел.
Но почему это сообщает udev
в выводе? df
взгляды на файловые системы, и /dev/sda1
находится под /dev
папка, которая является где udev
виртуальная файловая система смонтирована. Это - то же поведение, если мы звонили бы df FILE
, как df /home
или df /media/MYWINDOWSPARTITION/RANDOMFILE.txt
Я предложил бы сообщить об этом как об ошибке или по крайней мере спросил бы разработчиков GNU об этом поведении (скопированный со страницы справочника)
REPORTING BUGS
Report df bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report df translation bugs to <http://translationproject.org/team/>
Править
Кроме того, df /
поведением объясняют снова /proc/self/mountinfo
файл, имеющий следующую запись
22 0 8:1 / / rw,noatime,nodiratime - ext4 /dev/disk/by-uuid/86df21bf-d95f-435c-9
292-273bdbcba056 rw,errors=remount-ro,data=ordered
Сама корневая файловая система смонтирована как /dev/dis/by-uuid/ACTUAL-UUID-NUMBER.
Но у меня нет объяснения df
без создания отчетов аргументов /dev/sda1
вместо пути к диску uuid. Вероятно, причина состоит в том потому что /dev/dis/by-uuid/ACTUAL-UUID-NUMBER
самостоятельно символьная ссылка на /dev/sda1
, таким образом, это разрешает, что полностью без аргументов, но с аргументами должно искать /proc/self/mountinfo
файл