## page was renamed from Datenträger [[Getestet(general)]] {{{#!Wissen * [1]: [:Terminal: Ein Terminal öffnen] }}} [[TableOfContents(2)]] Umsteiger von Windows auf Linux fragen sich oft, wo die gewohnten Laufwerksbuchstaben zu finden sind. Die Antwort ist einfach: es gibt sie nicht. Datenträger und Dateisysteme werden unter Linux ganz anders und wesentlich flexibler gehandhabt. Wie, erklärt dieser Artikel. = "Wo" sind die Datenträger? = Datenträger lassen sich auf zweierlei Arten beschreiben: 1. Sie befinden sich physikalisch an einem bestimmten Ort (Partition einer Festplatte, CD-ROM, Netzwerkfreigabe, MP3-Player,...) 1. Sie werden im System an einer bestimmten Stelle verwendet ('''C:\''', '''D:\''', ... '''H:\''' oder '''/home''', '''/media/cdrom''', '''/media/camera''', '''/home/benutzer/mp3''', ...) Die ersten dieser Beispiele sind die von Windows bekannten Buchstaben, die letzteren sind schlicht Verzeichnisse in einem Linux-System. Beliebige Verzeichnisse? Im Prinzip ja. Unter Linux lässt sich der Ort, an dem man auf einen Datenträger zugreifen kann, beliebig festlegen. An der Stelle des Verzeichnisses '''/home/benutzer/mp3''' könnte sich technisch gesehen eine Festplattenpartition befinden, eine CD-ROM, ein mobiles Gerät, eine USB-Platte - ganz wie man es gerade benötigt. Wozu ist das nun gut? Ein Beispiel: Bei der Installation des Betriebssystems wurde einfach alles auf eine einzige Partition gelegt, das System wie auch die Dateien der einzelnen Benutzer. Was geschieht, wenn man jetzt diese Benutzerdaten auf eine andere Partition verlagern will? Unter Windows sind die Daten dann unter einem anderen Laufwerksbuchstaben erreichbar - statt '''C:\Dokumente und Einstellungen''' heißt es '''D:\Dokumente und Einstellungen'''. Und unter Linux? '''/home''' bleibt '''/home''', ob darunter nun die einzige Partition der einzigen Festplatte liegt, die dritte Partition auf dem externen Firewirelaufwerk oder eine Netzwerkfreigabe auf irgendeinem Server. Jeder beliebige Datenträger kann jederzeit an einer beliebigen Stelle in den großen Verzeichnisbaum "eingehängt" werden. Dieser Vorgang wird auch als "einbinden" oder "mounten" bezeichnet. Zwischen dem physischen Ort und dem Zugriffsort besteht kein erzwungener und oft störender Zusammenhang. = Geräte, Dateisysteme und Mountpunkte = Jedes Gerät, auf dem Daten gespeichert werden können, wie zum Beispiel ein USB-Stick oder eine Festplatte, enthält normalerweise ein bestimmtes Dateisystem. Würde das Gerät kein Dateisystem enthalten, wüsste das Betriebssystem nicht, wie und in welcher Form es dort Daten ablegen kann. Nähere Infos findet man hier: [:Dateisystem:]. Jedes Dateisystem kann unter Linux wiederum einem "Einhängepunkt" (Mountpunkt, Mountpoint) zugewiesen werden. Ein Einhängepunkt ist zunächst einmal ein beliebiges Verzeichnis, in welches ein bestimmtes Dateisystem eingebunden werden soll. Wie oben bereits erwähnt, könnte solch ein Einhängepunkt zum Beispiel '''/media/cdrom''', '''/media/camera''' oder '''/home/benutzer/mp3''' heißen. Dorthin wird nun das Wurzelverzeichnis des entsprechenden Dateisystems eingehängt. Um den Zusammenhang zwischen Geräten, Dateisystemen und Einhängepunkten zu verdeutlichen, hier ein Zitat aus der Hilfe zum Befehl "'''mount'''" (Ausgabe in der Konsole über `mount --help`): {{{#!Text Note that one does not really mount a device, one mounts a filesystem (of the given type) found on the device.}}} Das ist ein wichtiger Unterschied, der immer im Hinterkopf behalten werden sollte: ---- ''Man mountet nicht ein Gerät im engeren Sinne (also z.B. einen USB-Stick oder eine Festplattenpartition), sondern immer nur das auf dem jeweiligen Datenträger befindliche Dateisystem.'' ---- {{{#!Experten Einbinden und Dateisystemrechte: Nach dem Einbinden überdecken die [:Rechte:] des eingehängten Dateisystems die des Einhängepunktes. Es ist daher immer wichtig, die Rechte so zu setzen, dass Nutzer und/oder Gruppen, die das Dateisystem einhängen, auch die gewünschten Rechte darauf haben. Andernfalls kann es zum Beispiel vorkommen, dass ein Datenträger über die fstab (siehe unten) zwar eingehängt, aber nicht lesbar oder beschreibbar ist. Das Ändern von Rechten auf dem einzuhängenden Dateisystem ist natürlich erst __nach__ dem Einhängen möglich. Theoretisch könnte dieses Dateisystem hierfür erst einmal irgendwo anders als am letztendlichen Einhängepunkt eingebunden sein. Das Dateisystem nimmt diese Rechte dann beim Einbinden an einen anderen Ort quasi "mit". Denn die Rechte sind im Wurzelverzeichnis des jeweiligen Dateisystems, z.B. der Partition, gespeichert und nicht etwa "im" oder "am" Einhängepunkt. Daher sind die Rechte des Einhängepunkt-Verzeichnisses auch nicht weiter relevant für das Einbinden - entscheidend sind die Rechte im eingehängten Dateisystem sowie die Einhängoptionen bzw. die Einträge in der fstab. }}} = Dateisysteme fest ins System einbinden: Die "fstab" = Die Zuordnungen von Geräten (bzw. von Dateisystemen, siehe oben) zu Einhängepunkten sind in der Datei '''/etc/fstab''' (FileSystemTABle) gespeichert. So weiß das System beim Start, auf welchem Datenträger sich zum Beispiel das Verzeichnis '''/home''' befindet, oder wo das CD-ROM-Laufwerk einzuhängen ist. Ein Eintrag in der '''fstab''' kann zum Beispiel so aussehen: {{{#!Text /dev/hda1 / ext3 defaults 1 1 }}} Sicher ist dieser Eintrag erst einmal unverständlich. Eigentlich ist nur der unscheinbarste Teil dieser Zeile, das "/" bekannt. Das ist die "Wurzel" des Verzeichnisbaumes. Ein anderes Beispiel macht das vielleicht klarer: {{{#!Text /dev/hda5 /home xfs defaults 0 0 }}} '''/home''' ist bekannt, oder? Darin befinden sich die Daten der Benutzer. Was bedeuten nun die anderen Einträge? [[Anchor(Gerätename)]] == Wie heißen die "Geräte"? == Der erste Eintrag ist der "technische" Teil. Das ist das "Gerät", auf dem sich das einzubindende Dateisystem befindet. Dieses Gerät kann zum Beispiel eine Festplattenpartition oder ein CD-ROM-Laufwerk sein. {{{#!Hinweis Wichtiger Hinweis für Edgy-User Ab [:Edgy Eft:] (Version 6.10) werden die Laufwerke nicht mehr per Geräteangabe '''/dev''' eingebunden, sondern per [#UUID UUID]. In manchen Fällen geht dies aber schief. Man kann nach wie vor die herkömmliche Angabe benutzen. }}} Die Geräte sind nach einem einfachen Schema benannt: * Zuerst steht immer das Verzeichnis '''/dev/'''. In diesem Verzeichnis finden sich alle "Gerätedateien"; über Gerätedateien lässt sich die Hardware ansprechen. (Anmerkung: Unter Linux ist alles eine Datei, was Daten annehmen und/oder liefern kann - also buchstäblich ''alles''. Das ist eins der ebenso simplen wie genialen Grundprinzipien von unixartigen Systemen.) An nächster Stelle kommt die Art des Gerätes: * IDE-Festplatten (also fast alle "normalen", internen Festplatten) beginnen mit den Buchstaben '''hd''' * "Normale" CD/DVD-Laufwerke (ATAPI) beginnen ebenfalls mit '''hd''', denn sie werden ebenso wie IDE-Festplatten angeschlossen. * SCSI-Festplatten (dazu zählen auch Festplatten, die über USB oder Firewire angeschlossen sind) beginnen mit '''sd''' * externe oder SCSI-CD/DVD-Laufwerke beginnen mit '''scd''' Dann kommt der Anschluss an die Reihe - es gibt ja mehrere IDE/ATAPI- oder SCSI-Anschlüsse: * bei IDE-Geräten (interne Festplatten und CD-ROM-Laufwerke) ist wichtig, mit welchem IDE-Anschluss das Gerät verbunden ist. Jeder Anschluss kann zwei Geräte aufnehmen (sogenannte "Master" und "Slave"). * Das Master-Gerät am ersten IDE-Anschluss bekommt den Buchstaben ''a'' ('''/dev/hda''') * Das Slave-Gerät am ersten IDE-Anschluss bekommt den Buchstaben ''b'' ('''/dev/hdb''') * Das Master-Gerät am zweiten IDE-Anschluss bekommt den Buchstaben ''c'' ('''/dev/hdc''') * Das Slave-Gerät am zweiten IDE-Anschluss bekommt den Buchstaben ''d'' ('''/dev/hdd''') * bei SCSI-Festplatten werden die Buchstaben der Reihe nach verwendet. ('''/dev/sda''', '''/dev/sdb''', '''/dev/sdc''' usw.) * SCSI- oder externe CD-ROMS werden mit Zahlen bei ''0'' beginnend numeriert. ('''/dev/scd0''', '''/dev/scd1''' usw.) * Festplatten sind darüber hinaus in Partitionen unterteilt. Es gibt zwei Arten von Partitionen: * die "klassischen" ''primären'' Partitionen werden von 1 bis 4 numeriert ('''/dev/hda1''', '''/dev/sdb3''' usw.) * eine der primären Partition kann als ''erweiterte'' Partition weitere "Partitionen", die sogenannten ''logischen Laufwerke'' enthalten. Deren Benennung beginnt in jedem Fall bei der Ziffer 5 ('''/dev/hdb5''', '''/dev/sda12''' usw.) * RAID-Geräte beginnen mit ''md'' und werden dann mit ''0'' beginnend hochgezählt ('''dev/md0''', '''/dev/md1''' usw.) * Logische Volumes, wie sie von [:Logical Volume Manager:LVM] oder EVMS erzeugt werden, finden sich an gesonderter Stelle. Hierzu empfiehlt sich die Lektüre der jeweiligen Anleitung. Um jetzt auf die '''fstab''' zurückzukommen: der genannte Eintrag {{{#!Text /dev/hda5 /home ... }}} bedeutet also, dass das Dateisystem auf dem ersten logischen Laufwerk der Master-Platte am ersten IDE-Anschluss im Verzeichnis '''/home''' eingehängt werden soll. [[Anchor(UUID)]] == Alternativen zu "Gerätenamen" == Die Benennung von Geräten (wie '''/dev/hda5''') kann sich verändern, zum Beispiel bei mobilen Datenträgern oder wenn Festplattenkabel im Computer umgesteckt werden. Um dies zu umgehen, können die '''UUID''' (eindeutiger Bezeichner, der beim Formatieren vergeben wird) oder das '''Label''' des Gerätes (Name der Festplatte, zum Beispiel '''Daten''') angegeben werden: {{{#!Text UUID=fca07690-be07-4520-858b-ff817ceab744 /media/geraet_1 [...] LABEL=Daten /media/geraet_2 [...] }}} Sollten diese Angaben nicht bekannt sein, kann einer der folgenden Befehle verwendet werden, nachdem das Gerät normal eingehängt wurde: {{{#!Befehl ls /dev/disk/by-uuid -al #UUIDs anzeigen ls /dev/disk/by-label -al #Labels anzeigen }}} == Dateisysteme == Das Dateisystem ist der dritte Eintrag in der '''fstab''': {{{#!Text /dev/hda1 / ext3 ... }}} Nähere Infos zu den einzelnen Dateisystem-Typen finden sich hier: [:Dateisystem:] == Einhängoptionen == Als nächstes folgen verschiedene Optionen, die festlegen, auf welche Weise das betreffende Dateisystem eingehängt werden soll. Beispielsweise führt die Option ''ro'' dazu, dass auf dem Dateisystem nichts geschrieben werden kann, ''noexec'' verbietet das Ausführen von Dateien. Eine ausführliche Auflistung findet man in der [:Shell/man:Manpage] von '''mount'''. Einige für die Verwendung von NTFS- oder FAT-Dateisystemen wichtige Optionen werden auf der Seite über das [:Windows-Partitionen einbinden:Einbinden von Windows-Partitionen] im letzten Abschnitt beschrieben. Hier werden über Einhängoptionen die nötigen Lese- und Schreibberechtigungen gesetzt. == Symbole == Auf dem GNOME-Desktop werden standardgemäß alle Symbole eingebundener Medien angezeigt. Wie man dies komplett oder teilweise abstellen kann, kann man unter ["GNOME Symbole"] nachlesen. == Die zwei Zahlen - dump und pass == Am Ende der fstab-Zeile stehen zwei Zahlen. Die zweite Zahl gibt an, ob und in welcher Reihenfolge das Dateisystem beim Systemstart in die regelmäßigen Fehlerüberprüfungen einbezogen werden soll. Meist ist hier für die Root-Partition (die Wurzel des Dateisystems, "/") 1 eingetragen, für alle anderen Partitionen 2 (danach prüfen) oder 0 (keine Überprüfung). == Beispiel == Eine reale fstab enthält noch weitere Einträge, beispielsweise für das spezielle '''/proc'''-Dateisystem oder den Auslagerungsspeicher (swap): {{{#!Text # # proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 /dev/hda6 /home ext3 defaults,user_xattr 0 2 /dev/hdd /media/cdrom0 udf,iso9660 ro,user,noauto 0 0 /dev/scd0 /media/cdrom1 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 }}} Beim zweiten CD-ROM handelt es sich hier um ein direkt beschreibbares externes DVD-RAM-Laufwerk, daher fehlt die Option ''ro''. = Welches ist das gesuchte Gerät? = Wenn man nicht sofort weiß, die wievielte Partition auf welcher wie auch immer angeschlossenen Platte nun das benötigte Dateisystem enthält, kann man sich alle angeschlossenen Geräte (auch Wechseldatenträger) im Terminal [1] mit dem Befehl {{{#!Befehl sudo fdisk -l }}} anzeigen lassen: {{{#!Text Platte /dev/hdc: 40.0 GByte, 40060403712 Byte 16 Köpfe, 63 Sektoren/Spuren, 77622 Zylinder Einheiten = Zylinder von 1008 × 512 = 516096 von Gerät boot. Anfang Ende Blöcke Id System /dev/hdc1 1 39693 20005240+ 83 Linux /dev/hdc2 39694 45876 3116232 7 HPFS/NTFS /dev/hdc3 45877 53812 3999744 c W95 FAT32 (LBA) /dev/hdc4 53813 77616 11996996 5 Erweiterte /dev/hdc5 53813 61749 4000216+ 83 Linux /dev/hdc6 61750 69686 4000216+ 83 Linux /dev/hdc7 69687 77616 3996499+ 83 Linux Platte /dev/sda: 131 MB, 131072000 Byte ##### <-- Dies könnte z.B. ein USB-Stick sein ##### 9 Köpfe 32 Sektoren/Spuren 888 Zylinder Einheiten = Zylinder von 288 x 512 = 147456 von Gerät boot. Anfang Ende Blöcke Id System /dev/sda1 * 1 889 127983 6 FAT16 }}} Anhand des Partitionstyps und der relativen Größen lässt sich dann das gesuchte Gerät bzw. die gesuchte Partition meist leicht erraten. [[Anchor(mount)]] = Einbinden von Hand: Der "mount"-Befehl = Um flexibel Dateisysteme einzubinden, die nicht schon über die fstab eingebunden sind (siehe oben), wird der Befehl "'''mount'''" verwendet. Beispiel: {{{#!Befehl mount -t ext3 -o ro,noexec /dev/hda5 /media/data }}} Die Option ''-t ext3'' gibt den Dateisystemtyp (hier: ext3) an und kann meist entfallen, da das Dateisystem normalerweise automatisch erkannt wird. Die Option ''-o'' wird von den Einhängoptionen gefolgt. Sie entfällt, wenn keine Optionen anzugeben sind. Entweder die Angabe des Gerätes oder die des Einhängpunktes kann entfallen, wenn ein Dateisystem genau wie in der fstab eingetragen eingehängt werden soll. Zum Aushängen dient der Befehl '''umount''', gefolgt von der Angabe des Gerätes __oder__ des Mountpunktes. = Netzlaufwerke einbinden = Das Einbinden von Netzlaufwerken ist in den jeweiligen Artikeln zu [:NFS:] und [:Samba Client:Windows-Freigaben] erklärt. ---- * [:Kategorie/System:] [[Tags(festplatte)]]