Normalerweise mount
prüfe ich mit, welche Dateisysteme gemountet sind. Ich weiß auch, dass es einen Zusammenhang zwischen mount
und gibt, /etc/mtab
aber ich bin mir nicht sicher, was die Details angeht. Nachdem ich gelesen habe, wie man überprüft, ob / proc / gemountet ist, bin ich verwirrter.
Meine Frage ist: Wie bekomme ich die genaueste Liste der gemounteten Dateisysteme? Sollte ich nur mount
den Inhalt von /etc/mtab
oder den Inhalt von verwenden oder lesen /proc/mounts
? Was würde das zuverlässigste Ergebnis liefern?
linux
filesystems
mount
Xanpeng
quelle
quelle
Antworten:
Die endgültige Liste der gemounteten Dateisysteme befindet sich in
/proc/mounts
.Wenn sich auf Ihrem System Container in irgendeiner Form befinden, werden
/proc/mounts
nur die Dateisysteme aufgelistet, die sich in Ihrem aktuellen Container befinden. Zum Beispiel in einer chroot ,/proc/mounts
listet nur die Dateisysteme , deren Bereitstellungspunkt innerhalb des chroot. ( Es gibt Möglichkeiten, der Chroot zu entkommen. )Es gibt auch eine Liste der gemounteten Dateisysteme in
/etc/mtab
. Diese Liste wird mit den Befehlenmount
und verwaltetumount
. Das heißt, wenn Sie diese Befehle nicht verwenden (was ziemlich selten vorkommt), wird Ihre Aktion (Aktivieren oder Deaktivieren) nicht aufgezeichnet. In der Praxis ist es meistens in einer Chroot, dass Sie/etc/mtab
Dateien finden , die sich stark vom Zustand des Systems unterscheiden. In der Chroot ausgeführte Reittiere spiegeln sich auch in der Chroot wider,/etc/mtab
jedoch nicht in der Haupttierliste/etc/mtab
. Aktionen, die/etc/mtab
in einem schreibgeschützten Dateisystem ausgeführt werden, werden dort ebenfalls nicht aufgezeichnet.Der Grund, warum Sie manchmal lieber
/etc/mtab
oder zusätzlich zu konsultieren möchten,/proc/mounts
ist, dass es manchmal in der Lage ist, Informationen auf eine Art und Weise darzustellen, die einfacher zu verstehen ist, da es Zugriff auf die Mount-Befehlszeile hat. Beispielsweise werden die angeforderten Mount-Optionen angezeigt (wobei auch die/proc/mounts
Standardeinstellungen desmount
Kernels und des Kernels aufgelistet werden ), und Bindungs-Mounts werden als solche in angezeigt/etc/mtab
.quelle
mount
pflegen,/etc/mtab
wenn man sich nicht darauf verlassen kann? Wäre es nicht besser, wenn stattdessenmount
Informationen von präsentiert würden/proc/mounts
?/etc/mtab
kann Informationen aufzeichnen, die der Kernel nicht verfolgt, z. B. die ursprünglich angeforderten Optionen, und Bereitstellungen binden, die als solche angezeigt werden, anstatt als doppelte Einträge für Geräte angezeigt zu werden. Nichtsdestotrotz tendieren viele Distributionen dazu,/etc/mtab
einen Symlink zu erstellen/proc/mounts
./etc/mtab
einen Symlink zu erstellen/proc/mounts
. Gut zu hören - wenn Sie diese Informationen zur Beantwortung hinzufügen, wird dies noch besser. Halten Sie die Verfolgung der vom Kernel angeforderten Optionen für machbar und vorteilhaft?findmnt
Dies ist seit 2010 der bevorzugte und wahrscheinlich in naher Zukunft der einzig sichere Weg, wenn Mount-Namespaces häufig vorkommen.Ab Version 2.18 (Juli 2010) steht
util-linux
ein Tool zur Verfügung, mit dem Sie eine Liste der aktuell bereitgestellten Dateisysteme anzeigen können:Sie können von der Standardbaumansicht zur Listenansicht mit wechseln
-l
, Ausgabespalten definieren mit-o
(ähnlich wielsblk
), Ergebnisse nach Dateisystemtyp filtern mit-t
etc ...Für weitere Informationen lesen Sie die
man
Seite (undfindmnt --help
um die Liste der verfügbaren Spalten zu erhalten)quelle
Vielleicht, weil es 5 Jahre her ist, dass diese Frage beantwortet wurde, haben sich die Dinge geändert. Das
cat /proc/mounts
erzeugt eine Menge Informationen, die Sie nicht interessieren. Heute, meiner Meinung nach, ist dies die ultimative Lösung.Wenn Sie die Manpages lesen, gibt es viele Möglichkeiten, die Sie tun können, aber das ist, was Sie tun. Um beispielsweise die Ergebnisse noch weiter zu bereinigen, können Sie mit diesem Befehl Dateitypen von "tmpfs" ausschließen:
df
Funktioniert auf Dateisystemebene und nicht auf Dateiebene.Die obigen Befehle enthalten auch Netzwerk-Mounts.
Um ein bisschen mehr Informationen zu sehen, benutze dies:
HINWEIS Bei langsam gemounteten Netzwerkverbindungen kann dies einige Minuten dauern!
Wenn Sie nicht über gemountete Netzwerkverbindungen verfügen (und über Root-Berechtigungen verfügen), ist dies sogar noch besser:
quelle
--output
etwas wie Ubuntu 12 zu verwenden, das diese Optionen nicht akzeptiert, lesen Sie diefindmnt
Antwort von don_crissti .findmnt
scheint höhere Fähigkeiten zu benötigen (getestet mit root; root hat alle Fähigkeiten), um Beschriftungen anzuzeigen.Meistens
mount
ist dies die bequemste Methode. Um eine vollständige und genaue Liste der aktuell gemounteten Dateisysteme zu erhalten, sollten Sie den Inhalt von/proc/mounts
(zcat /proc/mounts
. B. mit ) lesen .Wenn zum Beispiel das Mounten von
/
Readwrite fehlgeschlagen ist und es dann nur als Fallback gemountet wurde/etc/mtab
(woraus dermount
Befehl liest, um Ihnen mitzuteilen, was gemountet ist, und auf was geschrieben wird - wenn dies möglich ist -, wenn es das Mounten ändert), wird es nicht aktualisiert zu reflektieren, dass/
(was enthält/etc/mtab
) derzeit schreibgeschützt gemountet ist. In dieser Situation wird beim Ausführenmount
normalerweise (falsch) angegeben, dass/
Readwrite aktiviert wurde.Enthält unter normalen Bedingungen (dh wenn das Dateisystem, in das es sich befindet, beschrieben werden kann)
/etc/mtab
eine Liste der aktuell gemounteten Dateisysteme. Dies ist nicht zu verwechseln mit/etc/fstab
einer Liste von Dateisystemen, die beim Systemstart automatisch eingehängt werden sollen.Wenn das
/proc
virtuelle Dateisystem selbst nicht gemountet ist, können Sie natürlich auch keine der darin enthaltenen virtuellen Dateien lesen/proc/mounts
. Dies ist sehr selten der Fall. In dieser Situationmount
ist es wahrscheinlich die beste Option, um zu sehen, was montiert ist.quelle