it-swarm.com.de

Was ist / etc / mtab unter Linux?

Was ist /etc/mtab unter Linux?

Warum wird es benötigt und welche Vorteile hat es?

30
Sathish kumar
% file /etc/mtab[.____.‹/etc/mtab: symbolischer Link zu ../proc/self/mounts[.____.‹% file /proc/mounts[.____.‹/proc/mounts: symbolischer Link zu sich selbst/Reittiere 
%

/etc/mtab Ist ein Kompatibilitätsmechanismus. Vor Jahrzehnten hatte Unix keinen Systemaufruf zum Lesen der vorhandenen Mount-Informationen. Stattdessen wurde von Programmen, die Dateisysteme bereitstellten, erwartet, dass sie kooperativ und freiwillig eine Tabelle in /etc/mtab Von dem, was wo bereitgestellt wurde, verwalten.

Aus offensichtlichen Gründen war dies kein idealer Mechanismus.

Linux hat den Begriff "procfs" erhalten, und eines der Dinge, die es gewonnen hat, war eine vom Kernel gepflegte Version dieser Tabelle in Form einer pseudoregulären Datei mounts. Der "Systemaufruf" zum Lesen der Mount-Informationen aus dem Kernel wurde zu einer Open-Read-Close-Sequenz für diese Datei, gefolgt vom Parsen des Ergebnisses von einer für Menschen lesbaren in eine maschinenlesbare Form (etwas, das wie Sie einige subtile Probleme aufweist kann aus den Fehlerberichten von vor etwas mehr als zwei Wochen ersehen).

/etc/mtab Ist somit im Volksmund zu einer symbolischen Verknüpfung zu /proc/mounts Geworden, sodass Programme, die diesen Namen fest verdrahtet haben, weiterhin eine Mount-Tabelle aus dieser Datei lesen können, die die Programme, die Dateisysteme gemountet und nicht gemountet haben, nicht mehr benötigen explizit alles selbst tun, um auf dem Laufenden zu bleiben. (Einige von ihnen werden es dennoch tun, wenn sich herausstellt, dass /etc/mtab Eine beschreibbare reguläre Datei ist. Und es gibt einige Eckfälle, in denen die normalisierten Informationen in mounts alle Nicht-Kernel-Inhalte enthalten ist nicht ganz das, was benötigt wird, obwohl sie die allgemeinen Probleme mit /etc/mtab nicht überwiegen.)

Jeder Prozess kann heutzutage seine eigene individuelle Ansicht dessen haben, was gemountet wird, und infolgedessen gibt es jetzt individuelle mounts -Dateien für jeden Prozess in den Prozessen, auf die über die self symbolischer Link als self/mounts und /proc/mounts ist jetzt auch ein Kompatibilitätsmechanismus. (Interessanterweise sind im aktuellen Linux-Dokument weder pro Prozess mounts noch das Format von mounts dokumentiert, obwohl die ähnliche pseudoreguläre Datei mountinfo ist.)

SunOS/Solaris verfügt über einen ähnlichen Mechanismus. Die Datei /etc/mnttab Ist eigentlich ein Dateisystem mit einer einzelnen Datei. Zusätzlich zum Lesen der Tabelle über einen geöffneten Dateideskriptor für diese Datei mit dem Systemaufruf read() kann nach Mount gesucht werden Punktänderungen mit poll() und Erhalt verschiedener weiterer Informationen mit ioctl().

In HP-UX ist /etc/mnttab Ebenfalls der Name der Datei, aber ab Version 11 war es immer noch eine reguläre Datei, deren Inhalt von den Systemdienstprogrammen kooperativ verwaltet wurde.

AIX exportiert keine für Menschen lesbare Texttabelle, die von Programmen analysiert werden muss, und es gibt keine entsprechende Datei. In ähnlicher Weise haben die BSDs vollwertige Systemaufrufe getfsstat() unter FreeBSD und OpenBSD, damit Programme die Mount-Tabelle in maschinenlesbarer Form vom Kernel abrufen können, ohne sie über eine von Menschen lesbare Zwischenform zu marshallen.

Weiterführende Literatur

51
JdeBP

Gemäß man mount:

Die Programme mount und umount haben traditionell eine Liste der aktuell gemounteten Dateisysteme in der Datei/etc/mtab verwaltet. Diese echte mtab-Datei wird weiterhin unterstützt, aber auf aktuellen Linux-Systemen ist es besser, sie stattdessen als Symlink zu/proc/mounts zu verwenden, da eine reguläre mtab-Datei, die im Benutzerbereich verwaltet wird, nicht zuverlässig mit Namespaces, Containern und anderen erweiterten Linux-Funktionen funktioniert.

Bei Montage ohne Aufnahme in /etc/mtab:

-n, --no-mtab

Mounten, ohne in/etc/mtab zu schreiben. Dies ist beispielsweise erforderlich, wenn sich/etc in einem schreibgeschützten Dateisystem befindet.

Viele weitere Nuancen finden Sie auf der Handbuchseite.

12
Christopher