[PINGUIN] Frage zur fstab
Henning Oschwald
listmail at hoschwald.de
Mon Aug 14 21:18:49 CEST 2006
Hiho,
Ali, das ist aber ne ordentliche Latte. :-)
Am Montag, 14. August schrieb Ali Guerler:
> 1. Die 6. Spalte sagt aus, ob ein Dateisystem von fsck geprüft werden
> soll oder nicht. Auf
> http://debiananwenderhandbuch.de/dateisysteme.html wird empfohlen,
> für die Rootpartition in der 6. Spalte eine 1 zu setzen. Bei
> solchen, die nicht geprüft werden, soll eine Null gesetzt werden.
> Das verstehe ich ja noch. Aber warum sollen andere Partitionen, die
> geprüft werden sollen, den Wert 2, und nicht ebenfalls den Wert 1,
> erhalten?
Damit das Root-Dateisystem auf jeden Fall als Erstes geprüft wird.
Die Manpage zu fstab sagt dazu:
<zitat>
Das sechste Feld, (fs_passno), wird von fsck(8) benutzt um die Reihen-
folge, in der die Dateisysteme während des Reboots geprüft werden,
festzulegen. Das root-Dateisystem sollte mit einer fs_passno von 1
versehen sein, andere Dateisysteme mit einer fs_passno von 2. Dateisys-
teme innerhalb eines Laufwerks werden sequentiell geprüft, Dateisysteme
auf verschiedenen Laufwerken jedoch gleichzeitig, um parallel arbeit-
ende Hardware zu unterstützen. Ist das sechste Feld nicht vorhanden
oder Null, wird eine Null zurückgegeben und fsck geht davon aus, daß
das Dateisystem keiner Prüfung bedarf.
</zitat>
> 2. Warum ist 'proc' ein eigener Device-Name, und was genau liegt in
> 'proc'?
Das ist praktisch eine Schnittstelle zwischen Kernel und
Anwendungsprogrammen, über die die beiden Schichten Informationen
austauschen können.
In /proc/cpuinfo stehen z. B. Informationen zum verwendeten Prozessor,
/proc/loadavg verrät die durchschnittliche Systemauslastung bezogen auf
die letzen 60, 10 und 1 Sekunden.
Weiterhin findet man dort Informationen über laufende Prozesse,
gemountete Dateisysteme, Speicherbelegung, Laufwerke, usw. Weiterhin
kann man dem Kernel auf diesem Weg auch Informationen ermitteln, der Weg
fürht also auch in die andere Richtung. Z. B. aktiviert man das IP
Forwarding des Kernels, indem man eine 1 in die Quasi-Datei
/proc/sys/net/ipv4/ip_forward schreibt.
> Es sieht für mich so aus, daß es sich bei 'proc' um ein
> eigenes Gerät und um einen eigenen Typ handelt.
Kein Gerät, sondern ein virtuelles Dateisystem. Da es kein echtes Device
ist, wird der erste Parameter in der entsprechenden Zeile in der fstab
ignoriert, nur da stehen muß er. Wichtig ist allerdings, daß als
Dateisystem proc angegeben wird.
> 'proc' scheint hier eine Ausnahmeregelung darzustellen.
Ein Sonderfall, ja. Aber eine Ausnahme ist das keineswegs, da es sehr
viele virtuelle Dateisysteme gibt, von denen Du später ja auch welche
aufzählst.
> 3. Wie kommt es, daß in der 3. Spalte des o.g. Beispiels der Typ des
> Floppys mit 'auto' gekennzeichnet ist? Der Typ von Floppy ist also
> 'auto', oder gilt das für alle Wechseldatenträger?
Das bedeutet lediglich, daß das Dateisystem automatisch erkannt werden
soll. Wäre auch unglücklich da was Anderes einzutragen, da eine
Diskette ja mit allen möglichen Dateisystemen beschrieben sein kann.
Wäre als Dateisystem beispielsweise fat eingetragen, könntest Du mit dem
Befehl 'mount /floppy' nur Disketten mit FAT-Dateisystem mounten.
> 4. Wann empfehlen sich die Option 'sync' bzw. 'async'? Ist diese
> Option eine Frage der Performance des Systems?
Damit wird angegeben, ob Schreiboperationen auf dem Dateisystem direkt,
oder gepuffert geschrieben werden sollen. Bei USB-Sticks wäre sync
eigentlich sinnvoll, da man sie so direkt nach Beendigung des
Kopiervorgangs abziehen könnte. Allerdings sind so wesendlich mehr
Schreibzugriffe nötig, was die Lebensdauer eines Sticks drastisch
verkürzt, was die Option nicht empfehlenswert macht. Um sicherzugehen,
daß alle Daten geschrieben wurden, muß man dann allerdings 'sync'
aufrufen, bzw. den Stick auf jeden Fall unmounten, was ebenfalls einen
sync auslöst. Normalerweise sollte man Dateisysteme also immer async
mounten, was ja auch default ist.
> 5. Warum sollte ich in der fstab ein Divice mit der Option 'noauto'
> mounten, wenn ich es sowieso nachher von Hand einbinden muß? Das
> hört sich erst einmal ziemlich sinnlos an, als ob der Eintrag nur
> so in der fstab steht.
Nee, der hat schon seinen Sinn. Eine Diskette "auto" zu mounten wäre ja
ziemlich schwachsinnig. Wenn man aber überhaupt keinen Eintrag für das
Diskettenlaufwerk in der fstab hat, muß man immer das volle
Mount-Kommando mit allen evtl. gewünschten Mountoptionen angeben.
mount -o noatime,noexec -t ext2 /dev/fd0 /floppy
Ok, in dem Beispiel sind mehr Optionen als nötig angegeben, aber das ist
ja nur zur Verdeutlichung.
Wenn ich hingegen in der fstab einen Eintrag für das Diskettenlaufwerk
hab
/dev/fd0 /floppy auto noatime,exec 0 0
Kann ich eine Diskette einfach mit
mount /floppy
oder
mount /dev/fd0
mounten. Die restlichen Optionen werden aus der fstab geholt.
> 6. Welchen Sinn macht es, mit der Option 'nodev' Gerätedateien zu
> ignorieren?
Aus Gründen der Sicherheit. Gleiches gillt auch für noexec.
> 7. Was ist das suid-Bit?
Mit gesetztem suid-Bit wird eine ausführbare Datei nicht im Kontext des
Aufrufenden, sondern des Dateieigentümers ausgeführt.
Mit den Mount-Optionen suid bzw. nosuid kann man steuern, ob dieses Bit
auf dem gemounteten Dateisystem berücksichtigt wird oder nicht.
> 8. Welche Geräte sollten für ein funktionierendes System noch
> gemountet werden? Was ist mit 'sys' und 'tmp', und mit welchen
> Optionen sollte man diese Verzeichnisse mounten?
Du meinst sysfs und tmpfs. Die einzig wichtigen Parameter sind hier
AFAIK das Dateisystem und das Mountziel, also der zweite und dritte
Parameter.
> Danke schon einmal für Antworten.
Kein Problem. Schau Dir auf jeden Fall auch mal die Manpages zu mount
und fstab an.
$ info mount
$ info fstab
ciao
Henning
--
Wenn aus einem Raum mit 3 Leuten 5 rauskommen, dann müssen erst wieder
2 reingehen, damit der Raum leer ist.
Registered Linux user #388515 with the Linux counter at
http://counter.li.org