Das Dateisystem eines Speichermediums bestimmen

Aus LinuxUser 02/2017

Das Dateisystem eines Speichermediums bestimmen

© Luis Santos, 123RF

Ratespiele

Linux bringt kleine Werkzeuge mit, mit denen Sie schnell herausfinden, welches Dateisystem auf einem Speichermedium vorliegt. Wir zeigen Ihnen, wie Sie diese nutzbringend einsetzen.

Linux kann mit vielerlei Dateisystemen umgehen. Das problemlose Nutzen eines Datenträgers setzt jedoch voraus, dass man zumindest weiß, welcher Dateisystemtyp darauf vorliegt: Rettungsversuche auf Speichermedien, deren Dateisystem Sie nicht kennen, gestalten sich recht schwierig. Ähnliches gilt, wenn Sie ein heruntergeladenes Abbild einer DVD oder einen fremden Datenträger lesen und daher ins System einbinden müssen. Das betrifft auch neue Medien wie beispielsweise frisch erworbene Speicherkarten.

Deswegen sehen wir uns im Folgenden näher an, mit welchen bordeigenen Werkzeugen Sie den korrekten Typ eines Dateisystems ermitteln und danach die Partition, das via Netzwerk bereitgestellte Verzeichnis oder das Speichermedium in das System integrieren.

Das Einhängen (“mounten”) eines Dateisystems nehmen Sie über das Mount-Kommando als Benutzer mit administrativen Rechten vor, also in der Regel als root. Dabei geben Sie einen Einhängepunkt (“mountpoint”) an, teilen dem System also mit, an welcher Stelle im lokalen Dateisystembaum es das neue Dateisystem einbinden soll. Geben Sie keinen Mountpoint an, zieht das Kommando die Liste der vorbereiteten Partitionen beziehungsweise Speichermedien in der Datei /etc/fstab (“file systems table”) zurate, um das Verzeichnis zu ermitteln, das als Einhängepunkt dienen soll.

Eine Liste der bereits eingebundenen Dateisysteme finden Sie in der Datei /proc/mounts, die die Informationen des Kernels widerspiegelt. Demselben Zweck diente früher einmal die Datei /etc/mtab (“mounted file systems table”), bei der es sich heute in den meisten Distributionen nur noch um einen symbolischen Link auf /proc/mounts handelt.

Der Schalter -t des Mount-Befehls bestimmt, als welchen Typ das Betriebssystem das einzubindende Dateisystem interpretiert. Listing 1 zeigt ein Beispiel für einen Aufruf, der die mit Ext3 formatierte erste Partition der zweiten Festplatte im Verzeichnis /opt/usb-platte/ einhängt.

Listing 1

# mount -t ext3 /dev/sdb1 /opt/usb-platte

Welche Dateisystemtypen das System unterstützt, hängt davon ab, welche Kernel-Bestandteile für Dateisysteme es statisch integriert oder als Kernelmodul geladen hat. Um den korrekten Typ zu ermitteln, können Sie a) so lange mit Mount herumprobieren, bis es klappt, b) das Betriebssystem erkennen lassen, was sich für ein Dateisystem auf dem Speichermedium befindet, oder c) mithilfe der passenden Werkzeuge selbst herausfinden, was für ein Dateisystem vorliegt.

Variante a) kann länger dauern und gestaltet sich oft frustrierend, b) dagegen gelingt mittlerweile recht zuverlässig. Die Variante c) hilft weiter, wenn Ihnen a) nicht liegt, b) schief geht und Sie wissen wollen, woran es liegen könnte.

Autodetect

Für eine automatische Erkennung des Dateisystemtyps rufen Sie Mount entweder ohne den Schalter -t auf oder stattdessen explizit mit -t auto. Daraufhin versucht Mount das Dateisystem mithilfe der Bibliothek Libblkid [1] zu erkennen. Gelingt das, bindet es das Medium ohne direkte Rückmeldung im sogenannten Silent Mode ein.

Anderenfalls wertet Mount anschließend die Einträge in der Datei /proc/filesystems aus. Abbildung 1 zeigt die Datei, wie sie auf einem Ubuntu-System vorliegt. Die mit dem Schlüsselwort nodev markierten Einträge zeigen an, dass derzeit kein entsprechendes Dateisystem einem Block-Device zugeordnet ist [2].

Abbildung 1: Integrierte Filesysteme eines Standard-Kernels unter Ubuntu.

Abbildung 1: Integrierte Filesysteme eines Standard-Kernels unter Ubuntu.

In den meisten Fällen gelingt auf diesem Weg das Einhängen – zumindest dann, wenn es sich beim einzubindenden Dateisystem um einen der üblichen Verdächtigen handelt. Dazu zählen Ext2/3/4, VFAT und MSDOS. MINIX, BTRFS, XFS und ZFS hingegen bedürfen als Wackelkandidaten zusätzlicher Module und gegebenenfalls auch weiterer Softwarepakete. Damit funktionieren dann auch die entsprechenden Kommandovarianten von Fsck, Mount und und Mkfs.

Mit dem Schalter -v veranlassen Sie Mount, nach dem erfolgreichem Abschluss des Vorgangs eine zusätzliche Statusmeldung auszugeben. Listing 2 demonstriert das für ein Fedora-Abbild, das Mount als CD/DVD (ISO9660) erkennt.

Listing 2

# mount -v Fedora-Xfce-Live-x86_64-24-1.2.iso /tmp/usb-platte/
mount: /dev/loop0 is write-protected, mounting read-only
mount: /dev/loop0 mounted on /tmp/usb-platte.

Schlägt die automatische Erkennung des einzubindenden Filesystems fehl, müssen Sie zwangsläufig zur Variante c) übergehen und selbst herausfinden, welcher Dateisystemtyp vorliegt. Das klappt erfreulicherweise mit Bordmitteln recht problemlos.

Typ mit (C)Fdisk auslesen

Mit Fdisk und dessen etwas komfortableren Ncurses-Variante Cfdisk arrangieren Sie die Partitionen auf einem Speichermedium, legen also neue Partitionen an, löschen alte oder machen eine Partition durch Setzen des Bootable-Flags bootfähig. Mit dem Aufruf fdisk /dev/sda -l geben Sie beispielsweise die gesamte Partitionstabelle der ersten Festplatte im Terminal aus, analog befördert cfdisk /dev/sda die gesuchten Informationen auf den Bildschirm.

Meist zeigen Fdisk und Cfdisk nur den Partitionstyp an, was lediglich ein Eingrenzen auf möglicherweise unterstützte Dateisysteme gestattet – was eben bei Linux, Solaris, BSD, OS X oder Windows so üblich ist. Bei dem in Abbildung 2 eingebundenen ISO-Image haben wir etwas mehr Glück und erfahren nützliche Details: Der zweite Eintrag enthält ein FAT-Dateisystem.

Abbildung 2: Dateisysteme in einem gemounteten ISO-Image (oben in Fdisk, unten in Cfdisk).

Abbildung 2: Dateisysteme in einem gemounteten ISO-Image (oben in Fdisk, unten in Cfdisk).

Blkid

Das Werkzeug Blkid (“Block ID”) liest die Informationen zum Dateisystem aus, wozu es auf die bereits erwähnte gleichnamige Bibliothek zurückgreift. Listing 3 zeigt den entsprechenden Aufruf für die erste Partition der ersten Festplatte.

Listing 3

# blkid -ps TYPE /dev/sda1
/dev/sda1: TYPE="ext2"

Der Schalter -p sorgt hier dafür, dass das Tool die Informationen aus dem Plattencache ignoriert und stattdessen direkt auf den Datenträger zugreift. Da die Ausgabe von blkid üblicherweise recht umfangreich ausfällt, grenzen Sie sie mit -s TYPE auf die Informationen zum Dateisystem ein. In Listing 4 sehen Sie die Informationen, die Blkid zum bereits in Abbildung 2 verwendeten ISO-Image ermittelt hat. TYPE enthält auch den korrekten Parameter, den Mount zum nachfolgenden Einbinden benötigt.

Listing 4

# blkid -s TYPE Fedora-Xfce-Live-x86_64-24-1.2.iso
Fedora-Xfce-Live-x86_64-24-1.2.iso: TYPE="iso9660"

Blkid wartet daneben noch mit anderen nützlichen Fähigkeiten auf: So kann es beispielsweise auf das Vorhandensein bestimmter Dateisysteme prüfen sowie zahlreiche Zusatz- und Detailinformationen darstellen. Die entsprechenden Schalter beschreibt die Manpage des Programms.

Lsblk

Das Kommando Lsblk gibt eine Liste der Blockgeräte in Form eines Baums aus, wodurch sich die Zuordnung leichter erfassen lässt. Der Schalter -f (Langform --fs) liefert dieselben Informationen wie -o NAME,FSTYPE,LABEL,MOUNTPOINT. So sehen Sie detailliert, wie die einzelnen Speichermedien eingehängt sind.

Die zweite Spalte der Ausgabe enthält die Information zum Dateisystem. In Abbildung 3 sind das sda1 (Ext2) sowie sda5 (Crypto-FS); darunter liegt ein LVM2 mit als Ext4 beziehungsweise Swap angelegten und formatierten Logical Volumes. Alle Dateisysteme wurden bereits eingehängt.

Abbildung 3: Lsblk bietet eine &uuml;bersichtliche Ausgabe aller Blockger&auml;te in Form eines Baums. Dabei liefert der Schalter <code>-f</code> ausf&uuml;hrliche Informationen zum Dateisystem.

Abbildung 3: Lsblk bietet eine übersichtliche Ausgabe aller Blockgeräte in Form eines Baums. Dabei liefert der Schalter -f ausführliche Informationen zum Dateisystem.

Abbildung 4 zeigt hingegen ein Beispiel mit einem erkanntem, aber noch nicht eingehängten ISO-Image. Dem Gerät /dev/sr0 ist bereits ein ISO9660-Dateisystem zugeordnet, das Sie bei Bedarf über folgenden Befehl einhängen:

# mount -t iso9660 /dev/sr0 /tmp/iso

Dazu muss das Verzeichnis /tmp/iso/ bereits existieren – falls nicht, legen Sie es vorab flink mit mkdir /tmp/iso an.

Abbildung 4: Unter den von Lsblk erkannten Filesystemen findet sich auch ein noch nicht eingeh&auml;ngtes ISO-Image.

Abbildung 4: Unter den von Lsblk erkannten Filesystemen findet sich auch ein noch nicht eingehängtes ISO-Image.

Parted

Auch Parted sowie die grafischen Werkzeuge Kvpm [3] und Gparted [4] erweisen sich als auskunftsfreudig. Detaillierte Informationen zu einer Partition liefert Parted mit dem Schalter -l (--list). Listing 5 zeigt den Ausschnitt zu der Partition aus der letzten Zeile von Abbildung 3. In der fünften Spalte der Ausgabe finden Sie das Dateisystem – hier handelt es sich um Ext4. Gparted liefert ähnlich umfangreiche Informationen, allerdings wesentlich schicker in grafischer Form (Abbildung 5).

Listing 5

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/fehmarn--vg-home: 227GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number  Start  End    Size   File system  Flags
 1      0,00B  227GB  227GB  ext4

Abbildung 5: Gparted liefert bei Bedarf umfangreiche Detailinformationen zu einem eingeh&auml;ngten Dateisystem.

Abbildung 5: Gparted liefert bei Bedarf umfangreiche Detailinformationen zu einem eingehängten Dateisystem.

File

Auch der Befehl File erweist sich gelegentlich als nützlich. Es liefert Informationen zu einem Dateisystemeintrag, ignoriert dabei jedoch in der Vorgabe unübliche Einträge wie “special files”. Mithilfe des Schalters -s (--special-files) liest File jedoch auch diese. Listing 6 zeigt den Aufruf für die fünfte Partition auf der ersten Festplatte, der darauf korrekt ein verschlüsseltes Dateisystem (LUKS) ermittelt.

Listing 6

# file -s /dev/sda5
/dev/sda5: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 305a1a1b-797a-4634-9acd-49c1f530978b

Fazit

Mit wenig Aufwand liefern Ihnen spezialisierte Werkzeuge wie Blkid, Lsblk, Parted und File umfangreiche Informationen zum Dateisystem eines Speichermediums. Damit steht einer sauberen Integration des jeweiligen Datenträgers Ihrerseits nichts mehr im Weg. 

Danksagung

Der Autor bedankt sich bei Wolfram Eifler und Axel Beckert für deren Anregungen und kritische Kommentare im Vorfeld dieses Artikels.

Der Autor

Frank Hofmann arbeitet in Berlin im Büro als Dienstleister mit Spezialisierung auf Druck und Satz. Seit 2008 koordiniert er das Regionaltreffen der LUGs aus der Region Berlin-Brandenburg. Er ist zudem Koautor des Debian-Paketmanagement-Buchs (http://www.dpmb.org).

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben