Laufwerksbuchstaben wie unter Windows kennt der Pinguin nicht – stattdessen bindet Linux Datenträger direkt in die Verzeichnishierarchie ein. Das Mounten findet schon beim Booten oder manuell auf Befehl statt. Wir geben Tipps und Tricks für das Ein- und Aushängen auf der Kommandozeile.
Im Linux-Verzeichnisbaum hat alles seinen Platz – für sämtliche Geräte, wie z. B. Netzwerk-Devices, Wechseldatenträger oder Festplattenpartitionen finden Sie in der Regel unterhalb des Ordners /dev (wie englisch “device” = “Gerät”, Abbildung 1) eine Gerätedatei.
Namen von IDE-Geräten (Festplatten oder CD-ROM-/DVD-Laufwerke) beginnen mit hd (Hard Disk); welcher Buchstabe danach kommt, hängt vom Anschluss und der Reihenfolge ab: Jeder Controller stellt zwei Anschlüsse zur Verfügung. Der erste heißt Master, der zweite Slave. Daraus ergeben sich die Gerätebezeichnungen hda (Master) und hdb (Slave) für die Geräte des ersten Controllers; die des zweiten heißen hdc (Master) und hdd (Slave).
SATA-Platten, USB Mass Storage Devices und Zip-Laufwerke behandelt Linux wie SCSI-Geräte, die Namen ihrer Gerätedateien fangen mit sd (SCSI Disk) an. SCSI-CD-/DVD-Laufwerke finden Sie unter scd (SSI CD) und Diskettenlaufwerke heißen fd (Floppy Disk).
Neben den Buchstaben sehen Sie für viele Geräte Nummern; diese werden entsprechend der logischen Struktur des Speichermediums verteilt: So trägt die erste primäre Partition einer IDE-Festplatte des Masters am ersten Controller beispielsweise den Namen hda1, die zweite hda2 usw. Logische Partitionen erhalten die Ziffern ab 5 – die zweite logische Partition von hdc hat beispielsweise die Gerätedatei /dev/hdc6.
SCSI-CD-/DVD-Laufwerke zählt das System genau so durch (scd0, scd1 usw.) wie Diskettenlaufwerke (fd0, fd1 etc.), von denen heute aber nur selten zwei und oft kein einziges in einem PC verbaut sind.
Bei vielen Distributionen finden Sie außerdem für CD-ROM-/DVD-Laufwerke Verknüpfungen, wie /dev/cdrom oder /dev/dvd, die auf den tatsächlichen Gerätenamen verweisen.
Um den Zugriff auf die verschiedenen Geräte und deren Dateisysteme zu ermöglichen, stellt man eine Verbindung zwischen dem Gerät und einem Verzeichnis im Linux-Verzeichnisbaum her: Die Gerätedatei wird “eingehängt”. Dieser Vorgang heißt Mounten.
Eingehängt
Das Einhängen geschieht entweder schon während des Boot-Vorgangs oder später manuell. Plattenpartitionen bindet man normalerweise beim Systemstart ein, CDs, DVDs und andere Wechseldatenträger machen Sie in der Regel von Hand mit dem System bekannt. Das Mounten ist – sofern es nicht ausdrücklich anders definiert ist (siehe Abschnitt Tabellarisch — die Datei “/etc/fstab”) – dem Administrator Root vorbehalten.
Das Dienstprogramm zum Einhängen auf der Kommandozeile heißt Mount; neben optionalen Parametern geben Sie die Gerätedatei und den Mountpunkt an. Ohne Parameter aufgerufen, zeigt der Befehl an, welche Datenträger aktuell eingebunden sind:
# mount /dev/hda10 on / type ext3 (rw,errors=remount-ro) /dev/hda5 on /boot type ext2 (rw) /dev/hda13 on /home type ext3 (rw) /dev/hdd on /media/cdrom0 type iso9660 (ro,noexec,nosuid,nodev,user=huhn) …
Neben den Partitionsbezeichnungen und dem Einhängepunkt verrät Mount mehr über die Dateisysteme der Geräte und die verwendeten Mount-Optionen. Die Partition /dev/hda10 ist beispielsweise mit Ext3 formatiert und als Root-Partition (unter /) eingehängt, das IDE-CD-Laufwerk enthält einen Datenträger mit dem Dateisystem ISO9660 (Standard für Daten-CDs), der nach /media/cdrom0 gemountet wurde. Weiter sehen Sie im Listing, dass die Plattenpartitionen les- und schreibbar (rw für “read-write”) sind; die Option
errors=remount-ro
sorgt dafür, dass im Fall eines Dateisystemfehlers der Datenträger ohne Schreibrechte (read-only) neu gemountet wird – d. h., die Daten sind noch lesbar, aber weitere Schreibzugriffe sind unmöglich.
Wechseldatenträger einbinden
Daten-CDs/-DVDs, Disketten und USB-Medien hängen Sie normalerweise von Hand ein, sofern sich kein Automounter darum kümmert. Linux sieht für die Wechselmedien Verzeichnisse unterhalb von /mnt oder /media vor. Auf der Kommandozeile geben Sie den Namen der Gerätedatei und den Mount-Punkt an. Im Fall von USB Mass Storage Devices verrät ein Blick ins Logfile /var/log/messages, ob das Gerät erkannt wurde und wie die Gerätedatei heißt (siehe Kasten “Kernel-Meldungen bei USB-Stick”).
Kernel-Meldungen bei USB-Stick
Mar 31 19:05:14 transpluto kernel: Attached scsi removable disk sdd at scsi0, channel 0, id 0, lun 3 Mar 31 19:05:14 transpluto usb.agent[4316]: usb-storage: loaded successfully Mar 31 19:05:14 transpluto kernel: usbcore: registered new driver usb-storage Mar 31 19:05:14 transpluto kernel: USB Mass Storage support registered.
Um das hier erkannte Gerät sdd in ein bestehendes Verzeichnis /media/usb einzuhängen, tippen Sie beispielsweise:
mount /dev/sdd /media/usb
Hier entfällt eine Partitionsangabe, weil der USB-Stick aus dem Beispiel nicht partitioniert ist – bei einem formatieren Stick wäre es /dev/sdd1 gewesen.
In der Regel erkennt Linux das verwendete Dateisystem des Datenträgers selbst. Erhalten Sie hingegen eine Beschwerde, helfen Sie nach und geben das Dateisystem über den Parameter -t explizit an, zum Beispiel
mount -t vfat /dev/sdd /media/usb
für einen mit dem älteren Windows-Dateisystem FAT formatierten Datenträger. Neben vfat (für das DOS-/Windows-Dateisystem) sind hier Angaben, wie ext2 (Extended Filesystem, Version 2), ext3 (Extended Filesystem, Version 3), reiserfs (Reiser Filesystem), iso9660 (ISO9660), ntfs (NT Filesystem) usw., möglich.
Für CDs/DVDs und Disketten ist auf den meisten Systemen schon definiert, wie das Gerät und der entsprechende Mountpunkt heißen (siehe Abschnitt Tabellarisch — die Datei “/etc/fstab”), so dass normalerweise ein Befehl wie
mount /media/cdrom
ausreicht.
Wichtige Mount-Optionen
Das Programm Mount bringt einige interessante Parameter mit: Die Option -o ro sorgt z. B. dafür, dass ein Gerät “read-only” (nur lesend) verfügbar gemacht wird; entsprechend erlaubt -o rw (“read-write”) lesenden und schreibenden Zugriff, was aber in der Regel der Standard ist. Weiterhin sind Kombinationen möglich: Um für einen les- und schreibbar gemounteten Datenträger die Schreibberechtigung zu entfernen, geben Sie gleich zwei Parameter beim Befehlsaufruf an, zum Beispiel:
mount -o remount,ro /media/usb
Damit fordern Sie Mount auf, den Datenträger neu zu mounten (remount) und dabei den Schreibzugriff zu deaktivieren (ro).
Der Mount-Befehl bringt einen praktischen Parameter mit, mit dem Sie ISO-Images ins Dateisystem einhängen. Um eine solche 1:1-Kopie eines Datenträgers beispielsweise vor dem Brennen auf CD/DVD testweise in den Linux-Verzeichnisbaum einzuhängen, tippen Sie:
mount -o loop datei.iso /media/tmp
Linux benutzt dann ein so genanntes Loop Device, um das Image wie ein echtes Gerät anzusprechen.
Tabellarisch – die Datei “/etc/fstab”
Wie schon erwähnt, mountet Linux einige Dateisysteme direkt beim Booten. Die Datei /etc/fstab (“Filesystem Table”) enthält Einträge für die einzuhängenden Dateisysteme und alle Optionen. Neben sämtlichen Plattenpartitionen finden Sie in dieser Datei Definitionen für verschiedene Wechseldatenträger (Abbildung 2).

Abbildung 2: Die Filesystem Table enthält die Mount-Operationen für das automatische Einbinden von Datenträgern beim Bootvorgang.
In der ersten Spalte sehen Sie die Gerätedatei, die zweite enthält den Mountpunkt. Weiterhin sind hier das jeweilige Dateisystem des Datenträgers (in der Regel erkennt der Kernel dieses automatisch, und es reicht auto) und diverse Mount-Optionen definiert.
Neben den schon erwähnten Parametern ro und rw finden Sie hier häufig Einträge, wie user (Gerät darf ohne Root-Rechte eingehängt werden), nouser (das Gegenteil), auto (Dateisystem wird schon beim Booten eingehängt), noauto, exec (Programme auf diesem Datenträger sind ausführbar) oder noexec. Für CD-ROM-, DVD- und Diskettenlaufwerke zeigt das Beispiel in Abbildung 2, dass diese Datenträger nicht beim Systemstart eingehängt werden (noauto) und dass das manuelle Mounten jedem Benutzer (user) gestattet ist. Da hier auch die zugehörigen Mountpunkte (z. B. /media/cdrom0, /media/floppy0) definiert sind, reicht das Kommando
mount /media/cdrom0
aus, um eine CD einzuhängen.
Weil Windows-Dateisysteme keine Dateibesitzer oder Gruppen kennen, können Sie für Dateien und Verzeichnisse auf solchen Partitionen automatisch einen Besitzer (uid=) und/oder eine Gruppenzugehörigkeit (gid=) definieren. Weiter regelt der umask-Eintrag aus dem Beispiel pauschal bestimmte Zugriffsrechte [1]. Um die Datei /etc/fstab anzupassen, bearbeiten Sie sie als Administrator in einem Text-Editor.
Weg damit!
Das Kommando zum Aushängen von Dateisystemen heißt Umount. Sämtliche eingehängten Geräte hängt Linux zwar automatisch beim Herunterfahren des Rechners aus, es gibt aber auch Mittel und Wege, dies von Hand zu veranlassen. Wechselmedien, wie CD-ROMs/DVDs, Disketten und USB-Geräte, werden Sie ebenfalls auf der Kommandozeile wieder los, zum Beispiel über
umount /media/usb umount /media/cdrom0
Während Sie bei USB-Medien und Disketten selbst darauf achten müssen, diese vor dem Auswerfen ordentlich auszuhängen, blockieren CD- und DVD-Laufwerke automatisch und weigern sich, die Schublade zu öffnen, solange das Medium noch eingebunden ist.
Praktischerweise gibt es hier eine weitere Sicherheitsmaßnahme: Greift noch ein Prozess auf Dateien des Dateisystems zu, zeigt sich Umount unkooperativ:
umount: /media/cdrom0: device is busy
Eventuell verwendet ein Programm Daten der eingelegten CD, oder Sie befinden sich auf der Shell oder in einem grafischen Datei-Manager noch im Verzeichnis /media/cdrom0 (oder einem seiner Unterordner). Mit einem Trick finden Sie auf der Kommandozeile schnell heraus, welcher Prozess auf das Gerät zugreift. Zum Einsatz kommt das Programm Lsof, das unter anderem geöffnete Dateien und Verzeichnisse anzeigt. Um den blockierenden Prozess aufzuspüren, rufen Sie als Administrator den Befehl mit dem Gerätenamen des Laufwerks als Argument auf, zum Beispiel:
# lsof /dev/hdc COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME kdeinit 4466 huhn 12r BLK 22,0 2846 /dev/hdc
Mehr über die auf diese Weise ermittelte Prozessnummer (PID im Listing) erfahren Sie mit dem Programm Ps [2]. Lassen Sie sich eine lange Liste aller Prozesse in einer breiten Ausgabe anzeigen, leiten Sie die Ausgabe über ein Pipe-Zeichen an das Tool Grep [3] weiter und durchforsten Sie die Ausgabe nach der Prozess-ID:
# ps auxwww | grep 4466 huhn 4466 0.0 2.4 27972 12572 ? S 11:33 0:00 kdeinit: kio_audiocd audiocd /tmp/ksocket-huhn/klauncherz9ZRha.slave-socket /tmp/ksocket-huhn/konquerorVPZ1va.slave-socket
Verantwortlich für die Blockade zeigt sich in diesem Fall der Konqueror – schließen Sie das Dateimanager-Fenster, das den CD-Inhalt anzeigt, oder beenden Sie die Anwendung – danach sollte sich die CD mit
umount /media/cdrom0
aushängen lassen. Hilft das alles nicht, beenden Sie den Prozess gewaltsam mit dem Programm Kill [2].
Glossar
-
Partition
-
Festplatten und einige andere Datenträger sind in Abschnitte unterteilt, so genannte Partitionen. Man unterscheidet zwischen primären, erweiterten und logischen Partitionen. Eine Festplatte kann bis zu vier primäre Partitionen enthalten – Dieses Limit umgeht man mit erweiterten Partitionen, die man in weitere Unterabschnitte, die so genannten logischen Partitionen, aufteilt.
Infos
[1] Zugriffsrechte unter Linux: Heike Jurzik, “Gleiches Recht für alle?”, LinuxUser 07/2004, S. 69 ff., http://www.linux-user.de/ausgabe/2004/07/069-zubefehl/
[2] Artikel zu Ps und Kill: Heike Jurzik, “Kurzer Prozess”, LinuxUser 12/2003, S. 77 ff., http://www.linux-user.de/ausgabe/2003/12/077-zubefehl/
[3] Grep-Artikel: Heike Jurzik, “Suchen mit Grep”, LinuxUser 05/2004, S. 76 ff. http://h





