Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Unter einem USB-Datenträger versteht man meist einen 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.
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 auf das Symbol und klickt auf "aushängen" (sicher entfernen).
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 Miniprogramm "Geräteüberwachung" ein- und ausgehangen werden.
Zuerst muss aus den Paketquellen das Programm [6]:
autofs
mit apturl
Paketliste zum Kopieren:
sudo apt-get install autofs
sudo aptitude install autofs
installiert [1] werden.
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:
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
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).
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]:
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.
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
-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 Manpages von mount und in dessen 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:
sudo service autofs reload
bzw. ab Ubuntu 16.04 mit systemd
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 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 umount von Hand durchführen.
Man findet ebenfalls, wie 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 Manpages von mount und in dessen Wikiartikel.
Zuletzt muss der udev-Dienst neugeladen werden:
sudo service udev reload
bzw. ab Ubuntu 16.04
sudo systemctl reload udev
Ab jetzt wird der USB-Datenträger beim Einstecken automatisch eingehängt.
Bei älterer Hardware könnte es sein, dass nur USB 1.1 Anschlüsse vorhanden sind. Oder der PC hat sowohl USB 1.1 als auch USB 2.0. USB 2.0 Geräte sind mit 480 MBit/s erheblich schneller als ihr Vorgänger.
Zunächst muss folgendes Paket installiert werden:
hwinfo (universe, bis einschließlich Ubuntu 13.04)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install hwinfo
sudo aptitude install hwinfo
Dann kann man eine Auflistung der angeschlossenen USB-Geräte erstellen:
hwinfo --usb
01: SCSI 700.0: 10600 Disk [Created at block.243] UDI: /org/freedesktop/Hal/devices/storage_serial_TrekStor_DS_maxi_g_u_200901052248_0_0 Unique ID: ADDn.tDKPVCgzqj6 SysFS ID: /class/block/sdd SysFS BusID: 7:0:0:0 SysFS Device Link: /devices/pci0000:00/0000:00:13.3/usb1/1-1/1-1:1.0/host7/target7:0:0/7:0:0:0 Hardware Class: disk Model: "TrekStor DS maxi g.u" Vendor: usb 0x1e68 "TrekStor" Device: usb 0x001b "DS maxi g.u" Serial ID: "200901052248" Driver: "usb-storage", "sd" Driver Modules: "usb_storage" Device File: /dev/sdd (/dev/sg4) Device Number: block 8:48-8:63 (char 21:4) Features: Hotpluggable Speed: 480 Mbps Module Alias: "usb:v1E68p001Bd0000dc00dsc00dp00ic08isc06ip50" Driver Info #0: Driver Status: usb_storage is active Driver Activation Cmd: "modprobe usb_storage" Drive status: no medium Config Status: cfg=new, avail=yes, need=no, active=unknown
Am Eintrag Speed
erkennt man die Geschwindigkeit des Ports, hier 480 Mbps
(USB 2.0). Bei 1,5 Mbps oder 12 Mbps ist es ein Anschluss mit USB 1.1.
Wenn man trotz USB 2.0 langsame Dateioperationen hat, kann das auch am USB-Kabel liegen, empfehlenswert sind kurze oder Y-USB-Kabel, die eine bessere Stromversorgung von Platten ohne eigenem Netzgerät gewährleisten.
Diese Revision wurde am 28. Oktober 2016 18:54 von Benno-007 erstellt.