Di solito uso mount per controllare quali filesystem sono montati. So anche che c'è qualche connessione tra mount e /etc/mtab ma non sono sicuro dei dettagli. Dopo aver letto Come verificare se /proc/ è montato, divento più confuso.
La mia domanda è:come ottenere l'elenco più preciso dei filesystem montati? Dovrei semplicemente usare mount oppure leggi il contenuto di /etc/mtab o contenuto di /proc/mounts ? Cosa darebbe il risultato più affidabile?
Risposta accettata:
L'elenco definitivo dei filesystem montati è in /proc/mounts .
Se hai una qualsiasi forma di container sul tuo sistema, /proc/mounts elenca solo i filesystem che si trovano nel tuo attuale contenitore. Ad esempio, in un chroot, /proc/mounts elenca solo i filesystem il cui punto di montaggio è all'interno del chroot. (Ci sono modi per sfuggire al chroot, mente.)
C'è anche un elenco di filesystem montati in /etc/mtab . Questo elenco è mantenuto da mount e umount comandi. Ciò significa che se non usi questi comandi (cosa piuttosto rara), la tua azione (montare o smontare) non verrà registrata. In pratica, è principalmente in un chroot che troverai /etc/mtab file che differiscono notevolmente dallo stato del sistema. Inoltre, i mount eseguiti nel chroot si rifletteranno nel /etc/mtab del chroot ma non nel /etc/mtab principale . Azioni eseguite durante /etc/mtab è su un filesystem di sola lettura, inoltre non vengono registrati lì.
Il motivo per cui a volte vorresti consultare /etc/mtab in preferenza o in aggiunta a /proc/mounts è che poiché ha accesso alla riga di comando di montaggio, a volte è in grado di presentare le informazioni in un modo più facile da capire; ad esempio, vedi le opzioni di montaggio richieste (mentre /proc/mounts elenca il mount e anche le impostazioni predefinite del kernel) e i mount di bind appaiono come tali in /etc/mtab .