Hallo Stefan,
Ich will jetzt ein Script schreiben, was mir den aktuellen
State der FS zurückgibt, habe aber ein Verständnisproblem:
Nach meinen Infos liest der ‚mount‘ Befehl ja nur die
/etc/mtab. Die /proc/mounts soll aktueller sein und daher mit
z.B.
egrep " ro,|,ro " /proc/mounts
die ro mounts zurückgeben.
Dein egrep gibt dir auch genau diese Infos wieder, insofern würde ich das auch benutzen.
Was den Ausdruck „aktueller“ betrifft, so finde ich ihn etwas unglücklich. Der eventuell vorhandene Unterschied zwischen /etc/mtab und /proc/mounts resultiert ja daraus, daß mtab von mount verwaltet wird, während /proc/mounts auch Kernel-Operationen „registriert“. Die man-Page meint dazu:
„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 others settings (e.g. remote NFS server. In particular case the mount command may reports unreliable information about a NFS mount point and the /proc/mounts file usually contains more reliable information.)“
Aber das sind doch beides Dateien!
In Unix/Linux ist sowieso alles eine Datei
Wie kann ein OS, bei dem
sämtliche FS auf ro stehen, noch in eine Datei schreiben?
Das wird wohl daran liegen, daß /proc nur ein virtuelles Dateisystem ist, das im Hauptspeicher liegt und dynamisch generiert wird. Siehst Du dir /proc/mounts genau an, dann ist dies lediglich ein Softlink auf /proc/self, was wiederum ein Softlink auf /proc/ ist (dabei handelt es sich bei XXXX um eine Zahl, die bei jedem Zugriff hochgezählt wird (dynamische Erzeugung).
So ist es zumindest bei Debian organisiert, ob diese Link-Kette
/proc/mounts -> /proc/self -> /proc/
überall genau so ist, weiß ich nicht. Aber der virtuelle und dynamische Charakter von /proc sollte überall so sein.
Viele Grüße
Marvin