Linux

USB 上的 Linux Mint - mtab 是一個文件夾,而不是一個文件

  • July 29, 2015

我剛剛使用 uNetbootin ( http://sourceforge.net/projects/unetbootin/ ) 將 Linux Mint Maya (13.2) 安裝到 U 盤上。安裝似乎工作正常,並且有一個“持久性”分區,允許更改在會話之間持久存在。

奇怪的一件事是我無法df看到可用空間:

$ df -h
df: cannot read table of mounted file systems: Is a directory 

我假設它在談論/etc/mtab,實際上當我查看 mtab 時,我可以看到它不是一個文件,而是一個目錄:

$ ls -l /etc
....
-rw-r--r-- 1 root root      63 Jul 29 13:16 fstab
drwxr-xr-x 2 root root       3 Mar 30  2012 fstab.d
....
drwxr-xr-x 2 root root    4096 Jul 29 12:03 mtab
-rw------- 1 root mint       0 Jul 29 11:43 mtab.fuselock
....

(我剛剛列出了我認為相關的條目)。當我查看時,/etc/ls -l mtab有很多連結:

$ ls -l /etc/mtab
total 0
lrwxrwxrwx 1 root root 18 Jul 29 11:29 ex -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 28 Jul 29 11:29 ex.1.gz -> /usr/share/man/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 ex.fr.1.gz -> /usr/share/man/fr/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 ex.it.1.gz -> /usr/share/man/it/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 ex.pl.1.gz -> /usr/share/man/pl/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 ex.ru.1.gz -> /usr/share/man/ru/man1/vim.1.gz
lrwxrwxrwx 1 root root 14 Jul 29 12:03 gnome-text-editor -> /usr/bin/gedit
lrwxrwxrwx 1 root root 30 Jul 29 12:03 gnome-text-editor.1.gz -> /usr/share/man/man1/gedit.1.gz
lrwxrwxrwx 1 root root 29 Jul 29 11:42 gnome-www-browser -> /usr/bin/google-chrome-stable
lrwxrwxrwx 1 root root 29 Jul 29 11:42 google-chrome -> /usr/bin/google-chrome-stable
lrwxrwxrwx 1 root root 18 Jul 29 11:28 rview -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 18 Jul 29 11:28 rvim -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 18 Jul 29 11:28 vi -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 28 Jul 29 11:28 vi.1.gz -> /usr/share/man/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:28 vi.fr.1.gz -> /usr/share/man/fr/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:28 vi.it.1.gz -> /usr/share/man/it/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:28 vi.pl.1.gz -> /usr/share/man/pl/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:28 vi.ru.1.gz -> /usr/share/man/ru/man1/vim.1.gz
lrwxrwxrwx 1 root root 18 Jul 29 11:29 view -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 28 Jul 29 11:29 view.1.gz -> /usr/share/man/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 view.fr.1.gz -> /usr/share/man/fr/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 view.it.1.gz -> /usr/share/man/it/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 view.pl.1.gz -> /usr/share/man/pl/man1/vim.1.gz
lrwxrwxrwx 1 root root 31 Jul 29 11:29 view.ru.1.gz -> /usr/share/man/ru/man1/vim.1.gz
lrwxrwxrwx 1 root root 18 Jul 29 11:28 vim -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 18 Jul 29 11:28 vimdiff -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 29 Jul 29 11:42 x-www-browser -> /usr/bin/google-chrome-stable

fstab看起來很正常,FWIW。

$ cat /etc/fstab
overlayfs / overlayfs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0

有人知道嗎

  1. mtab 這裡發生了什麼?

2)如何在不啟動 USB 安裝的情況下修復它(這花了我很長時間才開始工作)

謝謝!最大限度

編輯:(對於評論來說太囉嗦了)這是對@Celada 的回答的回應,指出/etc/mtab看起來它包含以下內容/etc/alternatives:是的,確實如此!

/etc/alternatives那裡也有,裡面有一切/etc/mtab,還有更多。(我通過將內容複製到數組中並從另一個中減去一個來檢查這一點)。

查看 的內容/etc/mtab,其中的行都指的是我自第一次啟動 USB 記憶棒安裝以來安裝的軟體:即,vim(完整版而不是安裝隨附的“迷你”版)chromegedit(文本編輯器) . 正如我所說,這些線也都在/etc/alternatives

我做了以下事情:

$ sudo mv /etc/mtab /etc/mtab_BACK
$ sudo ln -s /proc/mounts /etc/mtab

現在我可以再次df:

$ df -h
df: `/cow': No such file or directory
df: `/home/max/.gvfs': Transport endpoint is not connected
Filesystem      Size  Used Avail Use% Mounted on
rootfs          4.0G  872M  2.9G  23% /
udev            1.2G  4.0K  1.2G   1% /dev
tmpfs           465M  984K  464M   1% /run
/dev/sdb1        15G  5.0G  9.8G  34% /cdrom
/dev/loop0      869M  869M     0 100% /rofs
/cow            4.0G  872M  2.9G  23% /
tmpfs           1.2G   16K  1.2G   1% /tmp
none            5.0M     0  5.0M   0% /run/lock
none            1.2G  144K  1.2G   1% /run/shm

頂部的錯誤消息令人困惑: /cow已列出(我認為這是持久性分區)但錯誤顯示df: '/cow': No such file or directory。你覺得這是個問題嗎?

的文件列表/etc/mtab似乎屬於/etc/alternatives!有什麼方法可以讓您意外重命名/etc/alternatives/etc/mtab

/etc/alternatives失踪了嗎?如果是這樣,那麼修復只是重命名/etc/mtab/etc/alternatives. 如果不是,那麼您將遇到將 real 的內容與應該是的內容合併/etc/alternatives/etc/mtab問題/etc/alternatives

一旦/etc/mtab移開,最簡單的方法就是將其重新創建為符號連結/proc/mounts

ln -s /proc/mounts /etc/mtab

引用自:https://unix.stackexchange.com/questions/219051