Иногда вы можете получить сообщение об ошибке при запуске команды df, говорящее, /etc/mtab file is either corrupt or empty(removed.
Возможно, кто-то случайно отредактировал файл /etc/mtab или указал неверные данные.
Это руководство поможет вам восстановить ваш правильный файл mtab.
Для чего нужен файл /etc/mtab
Прежде чем мы начнем, давайте рассмотрим, что такое файл mtab.
/etc/mtab – это файл, который содержит список смонтированных файловых систем.
Поэтому, когда вы запускаете команду «df», она обращается к этому файлу для генерации вывода.
Файл mtab содержит софт ссылку на файл /proc/self/mounts.
Есть еще один файл с именем «/ proc/mounts», который также связан с файлом «/proc/self/mounts».
# ls -lrt /proc/mounts lrwxrwxrwx. 1 root root 11 Jun 11 11:49 /proc/mounts -> self/mounts
/proc/mounts – представление ядру точек монтирования.
Так что его сущность хранится в оперативной памяти системы.
Из справочной страницы mount:
# man mount ... It is possible that files /etc/mtab and /proc/mounts don’t match. The first file is based only on the mount command options, but the content of the second file also depends on the kernel and oth- ers settings (e.g. remote NFS server. In particular case the mount command may reports unreliable information about an NFS mount point and the /proc/mounts file usually contains more reliable information.)
Как восстановить поврежденный или удаленный файл /etc/mtab
1. Чтобы воссоздать файл /etc/mtab, нам просто нужно скопировать содержимое /proc/mounts в файл /etc/mtab.
Другими словами, скопируйте таблицу монтирования ядра в файл mtab с помощью:
# cp /proc/mounts /etc/mtab
/proc/mounts – это представление ядру всех файловых систем, тогда как файл /etc/mtab – это файл конфигурации для текущих монтируемых файловых систем.
Таким образом, /proc/mounts имеет более точное представление обо всех файловых системах, которые в настоящее время смонтированы.
Он также имеет полный набор параметров, которые использовались при монтировании этих файловых систем.
Случайное удаление симлинка на /proc/self/mounts
Может случиться так, что мягкая ссылка на файл /etc/mtab может быть случайно удалена, из-за чего df не будет работать.
Это также может серьезно повлиять на сервер, сделав его не загружаемым.
Чтобы решить эту проблему, вы можете восстановить символическую ссылку, используя:
# rm -f /etc/mtab # ln -s /proc/self/mounts /etc/mtab