[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:sudo: Programme als Root ausführen] [:Autofs: Autofs (Partitionen bei Bedarf automatisch einhängen)] }}} [[Inhaltsverzeichnis()]] Unter einem [wikipedia:Universal_Serial_Bus:USB]-Datenträger versteht man meist einen [wikipedia:USB-Massenspeicher#USB-Speicherstick:USB-Stick] oder eine USB-Festplatte. Wenn man unter Linux einen USB-Datenträger einsteckt, dann muss dieser erst in ein Verzeichnis eingehängt werden, damit man Zugriff auf ihn hat. Unter einigen Desktop-Umgebungen geschieht dies mittlerweile automatisch, unter anderen jedoch nicht. Hängt die Desktop-Umgebung, die man benutzt, USB-Datenträger nicht automatisch ein, hat man die Möglichkeit, den Stick von Hand mit [:mount:] einzuhängen und wieder auszuhängen oder man lässt dies automatisch durch Dienste übernehmen. = GNOME = Unter [:GNOME:] werden USB-Datenträger nach dem Einstecken automatisch erkannt und es erscheint ein Symbol auf dem Desktop, über das der Datenträger eingehängt werden kann. Will man den Datenträger wieder abziehen, macht man einen Rechtsklick [[Vorlage(Tasten, rmb)]] auf das Symbol und klickt auf "''aushängen''" (sicher entfernen). = KDE = Bei [:KDE:] werden USB-Datenträger nach dem Einstecken automatisch erkannt, es erscheint aber kein Symbol auf dem Desktop. Stattdessen können die Datenträger über das [:Archiv/Plasma/Miniprogramme#System-und-Netzwerk:Miniprogramm] "Geräteüberwachung" ein- und ausgehangen werden. Zudem erscheint der Datenträger in [:Dolphin:] unter ''Orte'' → ''Geräte'', wo er beim erstem Zugriff automatisch eingebunden wird. = Mit Hilfe von autofs = == Installation == Zuerst muss aus den Paketquellen das Programm [6]: {{{#!vorlage Paketinstallation autofs }}} installiert [1] werden. == auto.master Konfiguration == Jetzt muss man den USB-Datenträger in autofs konfigurieren, damit er automatisch eingehängt wird. Dazu editiert man zuerst die '''/etc/auto.master'''-Datei mit einem Editor [4] mit Root-Rechten [5] und fügt eine Zeile für das übergeordnete Verzeichnis, in welches der Datenträger eingehängt werden soll, ein. Eine gültige Zeile besteht dabei aus der Angabe des übergeordneten Verzeichnisses, der Angabe der Konfigurationsdatei für das Verzeichnis und weiteren Optionen. Zu beachten ist hierbei, dass autofs das übergeordnete Verzeichnis blocken wird, man also nur Zugriff auf die Ordner in ihm haben wird, die von autofs verwaltet werden. Deswegen sollte man nicht die üblichen Linux-Verzeichnisse zum Mounten verwenden, wie '''/media''' oder '''/mnt''', da dort unter anderem das CD/DVD-Laufwerk liegen. Es empfiehlt sich also mit Root-Rechten [5] ein neues Verzeichnis auf der Root-Partition zu erstellen, zum Beispiel: {{{#!vorlage Befehl sudo mkdir /automnt }}} Wenn man als übergeordnetes Verzeichnis nun '''/automnt''' und als Konfigurationsdatei '''/etc/auto.automnt''' verwendet, sieht die Zeile für einen USB-Datenträger so aus: {{{ /automnt /etc/auto.automnt --timeout=5 --ghost }}} {{{#!vorlage Hinweis Die Option `--timeout=5` sorgt dabei dafür, dass der Datenträger nach 5 Sek. Inaktivität automatisch ausgehängt wird und ``--ghost`` sorgt dafür, dass autofs das Mountverzeichnis nach dem Aushängen nicht automatisch löscht. Dadurch wird durch ein Klicken auf das Verzeichnis bzw. das Aufrufen des Verzeichnisses aus der Konsole direkt der Datenträger eingehängt, wenn er eingesteckt ist. Beide Optionen sind essentiell für das automatische Einhängen und Benutzen eines USB-Datenträgers und sollten nicht verändert werden. Ohne die Angabe von `--timeout=5` gilt der Defaultwert: 300 (5 Minuten). }}} [[Anker(Device_Pfad)]] == Device-Pfad == Als nächstes muss man den Device-Pfad, unter dem der USB-Datenträger erkannt wird und dessen Dateisystem in Erfahrung bringen. Man steckt dazu den USB-Datenträger ein und führt dann im Terminal [3]: {{{#!vorlage Befehl sudo blkid -o list -w /dev/null }}} aus. Man bekommt eine Auflistung aller angeschlossenen Datenträger, aus der man alle Informationen beziehen kann: {{{ device fs_type label mount point UUID ----------------------------------------------------------------------------------------------------------------------------- /dev/sda1 ext4 / 1847456f-c740-48ac-bff9-198f2591c90c /dev/sda2 ext4 Home /home 69979c60-4739-4a50-aac2-f74654478544 /dev/sdb1 vfat USB-Platte1 (not mounted) 94B46829B4681052 /dev/sdc1 vfat Erde (not mounted) ACDC-0002 /dev/sdd1 vfat Sonne /media/SANDISK CCB6-9B80 }}} In diesem Fall wird der USB-Datenträger unter der UUID '''94B46829B4681052''' erkannt, hat das Label (Namen) USB-Platte1 und benutzt das FAT-Dateisystem. == Konfiguration der Mount-Einstellungen == Jetzt öffnet man die Konfigurationsdatei, die man in der '''/etc/auto.master''' angegeben hat (im Beispiel oben '''/etc/auto.automnt'''), mit einem Editor [4] mit Root-Rechten [5] und fügt eine Zeile für den USB-Datenträger hinzu. Diese Zeile besteht aus dem Unterordner, in den der Datenträger eingehängt werden soll, der Angabe des Dateisystems und dessen Optionen und der Angabe des Device-Pfades, unter welchem der Datenträger erkannt wird. Will man, dass der Datenträger aus dem Beispiel in '''/automnt/usb-stick''' eingehängt werden soll, sieht die Zeile so aus: {{{ usb-stick -fstype=vfat,sync,uid=0,gid=46,umask=007 :/dev/disk/by-uuid/94B46829B4681052 }}} {{{#!vorlage Hinweis `-fstype=` verweist auf das Dateisystem. Alle weiteren Optionen nach `vfat` sind davon abhängig, ob das Dateisystem sie unterstützt. `sync` sorgt dafür, dass die Daten in Echtzeit auf den Datenträger geschrieben wird. Setzt man diese Option nicht, werden die Daten erst auf den Datenträger geschrieben, sobald man ihn aushängen will. `uid=0` setzt den Besitzer des Datenträgers auf `root` und `gid=46` die Gruppe auf `plugdev`. `umask=007` gibt dem Besitzer und der Gruppe volle Rechte und allen anderen gar keine Rechte auf dem Datenträger. Der normale User-Account unter Ubuntu ist Mitglied der Gruppe `plugdev` und hat somit volle Rechte. Entscheidet man sich für ein anderes Dateisystem als FAT und NTFS für den USB-Datenträger, kann es sein, dass manche dieser Optionen nicht existieren oder anders heißen. Eine Auflistung aller möglichen Dateisysteme und deren Optionen findet man in den [:man:Manpages] von ''mount'' und in dessen [:mount: Wikiartikel]. Es sollte jedoch beachtet werden, dass es bei anderen Dateisystemen als FAT, insbesondere bei Linuxdateisystemen wie ext2, ext3 oder reiserfs, nicht die Möglichkeit gibt, die richtigen Rechte direkt beim Mounten zu setzen. Man kann höchstens danach die Rechte manuell setzen, sollte jedoch beachten, dass diese dann an die UID bzw. GID gekoppelt sind. Wenn man den Datenträger auf einem anderen System einhängt, hat dort dann nur ein User mit der richtigen UID/GID zugriff, und diese muss nicht auf jedem System gleich sein. }}} Wurde die Datei erfolgreich editiert, muss zuletzt nur noch der autofs-Dienst neu geladen werden: {{{#!vorlage Befehl sudo systemctl reload autofs }}} Bei Problemen statt `reload` jeweils den Befehl `restart` verwenden. Ab jetzt wird der USB-Datenträger beim Einstecken automatisch ein- und wieder ausgehängt. = Mit Hilfe von udev = Mit [:udev:] geht das ganze etwas einfacher, jedoch hat diese Methode den Nachteil, dass der Datenträger nicht mehr automatisch ausgehängt wird. Man muss also jedes mal [:mount#umount: umount] von Hand durchführen. == Konfiguration == Man findet ebenfalls, wie [#Device_Pfad oben] unter autofs erklärt, den Device-Pfad und das Dateisystem heraus. Danach öffnet man mit Root-Rechten [5] einen Editor [4] und erstellt eine Datei mit dem Namen: '''80-usbdevice.rules''' und speichert sie unter '''/etc/udev/rules.d/'''. In diese fügt man nun eine Regel zum automatischen Einhängen ein: {{{ RUN+="/bin/mount -t vfat -o uid=0,gid=46,umask=007 /dev/sdb1 /automnt/usb-stick" }}} Die Bedeutung der einzelnen Optionen hier sind identisch mit denen, die im autofs-Abschnitt oben erklärt sind. Auch hier findet man weitere Informationen wieder in den [:man:Manpages] von ''mount'' und in dessen [:mount: Wikiartikel]. Zuletzt muss der udev-Dienst neugeladen werden: {{{#!vorlage Befehl sudo systemctl reload udev }}} Ab jetzt wird der USB-Datenträger beim Einstecken automatisch eingehängt. #tag: Dateisystem, Netzwerk, System