Umgang mit Dateisystemen für Einsteiger
Unter Linux werden nicht wie bei anderen PC-Betriebssystemen die einzelnen Partitionen/Laufwerke mit Buchstaben gekennzeichnet. Das kann für Linux-Anfänger in Stress ausarten. Für die erfahreneren Linuxer ist interessant, wie sie auf einem FAT-System Rechte oder Besitzer festlegen können. Beides und vieles mehr werde ich in diesem Artikel über den Zugriff auf Partitionen beschreiben.
Allgemeines Wissen und Vorteile
Da bei Linux und bei allen anderen UNIXen nicht über A: C: oder Ähnliches auf Laufwerke zugegriffen wird, ist hier eine viel bessere Lösung in Gebrauch. Andere Laufwerke werden einfach über ein bestimmtes Verzeichnis angesprochen. Der Vorgang, um ein Laufwerk unter einem Verzeichnis verfügbar zu machen, nennt sich »mounten«, was auf Deutsch montieren heißt. Man montiert also ein Laufwerk an einem anderen Verzeichnis. Eine Partition Ihrer Festplatten muss immer an das Verzeichnis / montiert sein, das den Verzeichnisursprung darstellt. In das Verzeichnis /mnt/windoze könnten Sie z.B. Ihr Windows-Laufwerk montieren. Diese ganze Sache hat einen entscheidenden Vorteil: Nehmen wir an Sie, haben eine Partition an /home/Sie/Daten gemountet. Die Partition wird voll und die Platte ist auch schon an ihrer Grenze. Sie kaufen sich einfach eine größere Festplatte und mounten diese an /home/Sie/Daten. Die andere Festplatte können Sie woanders mounten. Und was wäre unter Windows unser Problem? Die Laufwerksbuchstaben würden alle eins nach hinten rutschen und die Programme und Sie würden die Daten noch auf dem alten Laufwerk suchen. Dieses Problem haben Sie bei der UNIX-Variante nicht, da alles beim Alten bleibt.
Mounten eines Dateisystems
In diesem Abschnitt geht es darum, wie man ein Laufwerk oder eine Partition mountet. Dies geschieht mit dem Befehl mount [-t Dateisystem-Typ] [-o Optionen] Gerät Verzeichnis
. Wir sollten an dieser Stelle klären, was gerät
ist. Dies ist das Laufwerk, das Sie gerne gemountet hätten. Und zwar ist /dev/hda das Master-IDE-Laufwerk (Festplatte oder CD-ROM-Laufwerk) am ersten IDE-Controller, /dev/hdb das Slave-Laufwerk am ersten IDE-Controller, /dev/hdc ist das Master-Laufwerk am zweiten IDE-Controller und so geht es weiter. Bei SCSI-Platten ist es /dev/sda, /dev/sdb, /dev/sdc... Man kann jedoch keine "rohen" Festplatten mounten. Man muss dazu die zu mountende Partition angeben. Diese werden von 1-4 für primäre Partitionen und von 5-16 für logische numeriert. /dev/hdb5
wäre also die erste logische Partition auf meiner zweiten IDE-Platte. Der Verzeichnis
-Parameter ist das Verzeichnis, in welchem die Partition gemountet werden soll. Der Dateisystem-Typ
-Parameter legt den Dateisystem-Typ für die Partition fest. Im Kernel 2.2.14 werden folgende Dateisysteme unterstützt:
Dateisystem | Erklärung |
ext2 | Ist die Bezeichnung des Linux-Standard-Dateisystems »Second Extended Filesystem« |
minix | Das ist das Standard-Dateisystem von Minix, dieses war auch mal Standard-Dateisystem von Linux und wird selten noch auf Disketten verwendet. Dieses Dateisystem kann nur Dateinamenslängen von maximal 31 Zeichen verwalten. |
romfs | Ist die Bezeichnung für ein Read-Only-Dateisystem, welches auf Rettungsdisks eingesetzt werden kann |
umsdos | Ist das UMSDOS-Dateisystem, welches ein Aufsatz auf das normale DOS-Dateisystem ist, aber es hält Dateirechte in Dateien fest, die -linux-.--- heißen. Dadurch, daß diese Dateien immer aktualisiert werden müssen, ist das Dateisystem sehr langsam. Außerdem können die Dateirechte von DOS aus umgangen werden. |
fat | Eine ganz normale Dateizuordnungstabelle, in der steht, welche Datei sich an welcher Adresse befindet |
msdos | Ist die FAT (Dateizuordnungstabelle), die von Microsoft DOS verwendet wird |
vfat | eine Weiterentwicklung von FAT hinsichtlich der Dateinamenslänge. Zu VFAT zählt auch FAT32 |
proc | Ist ein Dateisystem, wo der Status des Systems abgerufen oder Kernel-Parameter verändert werden können. Dieses Dateisystem enthält keine realen Dateien, die auf der Festplatte Speicher wegnehmen. |
nfs | Ist das Dateisystem, um von einem Computer ein Verzeichnis auf einen anderen Computer zu mounten |
smb | Ist das Dateisystem zum Mounten eines Verzeichnisses von einem Win-Rechner über das Netzwerk (ähnlich NFS für UNIX) |
iso9660 | Das Dateisystem vom CD-ROMs |
hpfs | Das "High Performance File System" von OS/2 |
ntfs | Ist das Dateisystem vom Windows NT |
devpts | Ist ähnlich wie proc auch ein Pseudo-Dateisystem. Dieses hier stellt aber ttys für zum Beispiel xterms bereit |
qnx4 | Ist das Dateisystem von QNX 4 |
Nehmen wir jetzt also an, ich will die dritte primäre Partition der Slave-Platte am zweiten IDE-Controller (ext2fs) an /mnt/platte mounten. Dazu benutzt man folgenden Befehl:
mount -t ext2 /dev/hdd3 /mnt/platte
Beim Mounten von NFS, was für Network File System steht, ist jedoch etwas anders. Sie müssen den Computer angeben, von dem Sie ein Verzeichnis mounten wollen. Dieses muss erst freigegeben werden. Das können Sie in einem anderen Artikel lesen. Das Mounten des Verzeichnisses /tmp/daten auf dem Computer ripper
an das Verzeichnis /mnt/daten_von_ripper auf dem lokalen Computer gestaltet sich also folgendermaßen:
mount -t nfs
ripper:/tmp/daten /mnt/daten_von_ripper
Standard-Mountpoints
Mountpoints sind erstmal die Verzeichnisse, wo eine Partition gemountet werden kann. So ein Verzeichnis muss vorher erstellt sein. Die Standardmountpoints für Disketten, CD-ROMs und andere temporäre Datenträger sind nach Filesystem Hierarchy Standard (FHS) 2.0:
Gerät | Mountpoint |
Diskettenlaufwerk 1 (/dev/fd0) | /mnt/floppy |
Diskettenlaufwerk 2 (/dev/fd1) | /mnt/floppy |
CD-ROM-Laufwerk ATAPI/IDE (/dev/hd*) | /mnt/cdrom |
CD-ROM-Laufwerk SCSI (dev/scd[1..7]) | /mnt/cdrom |
ZIP | /mnt/zip100 |
Temporär gemountete Partition | /mnt/<name_des_geraetes_wie_in_dev> |
Ramdisks (/dev/ram*) | /mnt/ramdisk* |
Allgemeine Mount-Optionen
Zwei Abschnitte weiter oben habe ich schon den Parameter -o
erwähnt. Hinter diesem können verschiedene Optionen für die zu mountende Partition angegeben werden. Diese hier gelten für alle Dateisystem-Typen:
Option | Funktion |
atime | Immer wenn auf eine Datei zugegriffen wird, die atime auf die aktuelle Zeit setzen (Standard) |
auto | Diese Option nützt nichts an der Kommandozeile, steht diese Option jedoch in der fstab (erklärt weiter unten), dann wird diese Partition automatisch gemountet |
defaults | Benutzt automatisch die Optionen dev,suid,rw,exec,auto,nouser |
dev | Gerätedateien werden interpretiert (d.h. sind echte Geräte) |
exec | Starten von Programmen erlauben |
noatime | Die Zugriffszeit nicht updaten (Geschwindigkeitsgewinn) |
noauto | Die Partition wird nicht automatisch gemountet (das Gegenteil zu auto ) |
nodev | Gegenteil zu dev |
noexec | Gegenteil zu exec |
suid | erlaubt das Setzen von suid-Bits |
nosuid | Das Gegenteil zu suid |
nouser | Die Partition darf nur von root gemountet werden |
user | Die Partition darf von jedem gemountet werden |
remount | Ein gemountetes Dateisystem umounten und wieder mounten, wird oft zum Ändern der Optionen benutzt |
ro | Die Partition wird nur lesbar gemountet |
rw | Die Partition kann auch beschrieben werden |