[[Vorlage(Getestet, xenial, precise, trusty, )]] {{{#!vorlage Wissen [:Datenverwaltung:] [:Datenträger:] [:mount:Datenträger einbinden] [:Terminal: Ein Terminal öffnen] [:sudo:Mit Administrator-Rechten arbeiten] [:Pakete_installieren:Installieren von Paketen] }}} [[Inhaltsverzeichnis(2)]] Um auf Datenträger [2] zugreifen zu können, müssen diese (oder genau genommen die darauf befindlichen Partitionen) nach jedem Systemstart neu in die lokale Dateistruktur [1] eingebunden (eingehängt, "gemountet") werden. Dies gilt gleichermaßen für lokale wie für externe oder entfernte Datenträger. Von Hand geschieht dies mit dem Befehl `mount` [3] oder verwandten Befehlen (z.B. `gvfs-mount`). Es gibt aber auch verschiedene Möglichkeiten, das Einbinden von Partitionen zu automatisieren. Diese werden hier vergleichend erläutert; für einige davon gibt es weiterführende Artikel. = Was bedeutet "Automount"? = Im weitesten Sinne ist "Automount" ein Sammelbegriff für alle Vorgänge, bei denen das Einbinden von Datenträgern oder Partitionen automatisch ohne Eingriffe des Benutzers im Hintergrund erfolgt. Im engeren Sinne spricht man bei Wechseldatenträgern (CD- oder DVD-Laufwerken) und externen Datenträgern (USB-Geräten) aber nur dann von "Automount", wenn dies ebenso auch beim Einlegen oder Einstecken des Datenträgers ([wikipedia:Hotplug:]) geschieht. Entsprechendes gilt für Netzwerk-Freigaben, wenn die Netzwerk-Verbindung erst nachträglich hergestellt wird. Hiervon zu unterscheiden sind "Automounter". Dies sind Programme, die Partitionen erst bei Bedarf, also erst beim Versuch, auf sie zuzugreifen, automatisch einhängen. Üblicherweise bieten solche Automounter auch die Option, Partitionen bei längerem Nichtgebrauch automatisch wieder auszuhängen. = Einträge in /etc/fstab = Die klassische Methode, Datenträger und Partitionen automatisch systemweit statisch einzubinden, sind Einträge in der Datei '''/etc/fstab'''. Diese Datei und ihre Funktionen sind im Artikel [:fstab:] ausführlich beschrieben. Einige Einträge in '''/etc/fstab''' werden bei der Installation von Ubuntu bereits automatisch angelegt, sodass zumindest die zur Funktion des Systems notwendigen Partitionen bei jedem Systemstart automatisch eingebunden werden. Er ist jederzeit möglich, diese Datei mit einem [:Editor:] mit Root-Rechten [3] durch eigene Einträge zu erweitern. Ein grafisches Frontend zur Bearbeitung von '''fstab'''-Einträgen ist [sourceforge2:pysdm:PySDM] {en} (bis Ubuntu 12.04); inzwischen eignet sich auch die [:Laufwerksverwaltung:] ("Laufwerke" / "Disks") für das grafische anpassen. Die Datei '''/etc/fstab''' wird beim Systemstart, schon vor dem Anmelden eines bestimmten Benutzers und auch vor allen anderen Vorgängen, nach dem im Folgenden beschriebenen Verfahren abgearbeitet. Partitionen, für die dort ein Eintrag ohne die Option `noauto` besteht, werden deshalb auf jeden Fall sofort eingebunden, wenn mit einem der im Folgenden beschriebenen Verfahren versucht wird, sie einzubinden. Deshalb müssen die betreffenden '''fstab'''-Einträge auf jeden Fall zuerst entfernt oder deaktiviert werden, wenn eines der anderen Verfahren Erfolg haben soll. Möchte man das System nicht anschließend mit der veränderten '''fstab''' neu starten, müssen die betreffenden Partitionen außerdem noch von Hand ausgehängt werden. Möchte man externe Partitionen mit anderen Optionen einbinden (z.B. andere Besitz- und Zugriffsrechte), als dies beim automatischen Mounten über die grafische Oberfläche und den Dateimanager geschehen würde, kann man diesem einfach durch einen geeigneten Eintrag in '''/etc/fstab''' zuvorkommen. Siehe dazu auch [:USB-Datenträger automatisch einbinden:]. Da die Datei '''/etc/fstab''' nur beim Systemstart automatisch abgearbeitet wird, genügen '''fstab'''-Einträge allein noch nicht, um Wechseldatenträger, USB-Geräte oder Netzwerk-Freigaben automatisch nachträglich einzubinden. Mit dem Befehl `mount -a` kann das Abarbeiten der '''fstab'''-Einträge jedoch jederzeit wiederholt werden. ==Crontab== Über einen [:Cron:Cronjob] kann man festlegen, dass der Befehl `mount -a` automatisch in regelmäßigen Zeitabständen mit Administrator-Rechten [5] ausgeführt wird. Dazu gibt man in einem Terminal [4] folgende Zeile ein: {{{#!vorlage Befehl sudo crontab -e }}} und editiert auf diese Weise die Cron-Tabelle von `root`. Dort trägt man am Ende folgende Zeile ein und schließt diese mit einem Zeilenwechsel (Leerzeile) ab: {{{ */2 * * * * /bin/mount -a > /dev/null 2>&1 }}} Damit wird `mount -a` alle zwei Minuten ausgeführt. Aufgrund des Konstrukts `> /dev/null 2>&1` unterbleiben Fehlermeldungen, wenn Befehlszeilen in '''fstab''' nicht ausgeführt werden können. ==udev-Regel== Mit udev-Regeln lassen sich sehr komplexe Aufgaben "maßgeschneidert" lösen. Eine ausführliche Beschreibung für fortgeschrittene Benutzer findet sich im Artikel [:udev:]. Hier wird nur der einfache Fall, dass beim Einstecken oder Einlegen eines externen Datenträgers sofort der Befehl `mount -a` mit Administrator-Rechten [5] ausgeführt wird, kurz dargestellt. Hierzu muss man im Ordner '''/lib/udev/rules.d/''' eine Regel-Datei anlegen. Auch hierzu sind Root-Rechte erforderlich. Der Dateiname muss mit einer zweiziffrigen Zahl beginnen und mit '''.rules''' enden, z.B. '''80-mount.rules'''. In diese trägt man nun folgende Zeile ein: {{{ SUBSYSTEM=="block", RUN+="/bin/mount -a" }}} Damit wird der Befehl `mount -a` immer beim Hinzufügen oder Entfernen eines blockorientierten Gerätes (block device) ausgeführt. Hierzu gehören z.B. Festplatten und USB-Sticks, aber auch Daten-CDs und -DVDs sowie Disketten. Die Datenträger werden nach '''/media/$User/''' gemountet. Möchte man sie an die früher übliche Stelle nämlich '''/media/''' mounten, muss eine udev Regel erstellt werden, indem in die Datei '''/etc/udev/rules.d/99-udisks2.rules''' dies {{{#!code bash # UDISKS_FILESYSTEM_SHARED # ==1: mount filesystem to a shared directory (/media/VolumeName) # ==0: mount filesystem to a private directory (/run/media/$USER/VolumeName) # See udisks(8) ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1" }}} eingetragen wird. {{{#!vorlage Hinweis Udev und das früher verwendete HAL reagieren nur auf Veränderungen der lokalen Hardware und eignen sich deshalb nicht für den Automount von Netzwerk-Freigaben. }}} = Automount mittels GUI = Die großen Desktop-Umgebungen [:GNOME:]/[:Unity:] (Ubuntu), [:KDE:] (Kubuntu), [:Xfce:] (Xubuntu) und [:LXDE:] (Lubuntu) können externe Datenträger sowohl beim Einloggen des jeweiligen Benutzers als auch beim nachträglichen Einstecken oder Einlegen des Datenträgers automatisch einbinden. Dies geschieht entweder selbstständig oder unter zu Hilfenahme des jeweiligen Dateimanagers. Diese Möglichkeit ist standardmäßig für alle diejenigen Partitionen aktiviert, für die kein Eintrag in '''/etc/fstab''' besteht. Außerdem bieten die Desktop-Umgebungen die Möglichkeit, nach dem Einbinden externer Datenträger noch bestimmte, vom Inhalt abhängige Aktionen automatisch auszuführen. Diese sind jeweils in eigenen Artikeln beschrieben. Das Verhalten der Desktop-Umgebungen sowie der Dateimanager beim Automount hat sich in den Ubuntu-Versionen schrittweise wesentlich verändert. Dabei unterscheiden sich auch die Desktop-Umgebungen untereinander. Externe Datenträger werden von den Desktop-Umgebungen nur dann automatisch eingebunden bzw. der Zugriff auf dieselben ist nur möglich, wenn der jeweilige Benutzer Mitglied der Gruppe `plugdev` (GID=46) ist. Standardmäßig sind alle Benutzer Mitglieder dieser Gruppe, doch kann der Administrator jederzeit einzelne Benutzer aus dieser Gruppe ausschließen. ==Automount deaktivieren== Es ist nicht immer erwünscht, dass externe Datenträger automatisch eingebunden werden. So können z.B. manche Anwendungen, wie z.B. [:K3b:] oder [:GParted:] Probleme haben, externe Datenträger zu löschen bzw. zu bearbeiten, wenn diese bereits per Automount eingebunden sind. Außerdem muss man verhindern, dass Datenträger automatisch eingebunden werden, wenn man dafür einen der Automounter (z.B. Autofs) verwenden will. Das automatische Einbinden externer Datenträger über einen Dateimanager bzw. eine Desktop-Umgebung lässt sich generell deaktivieren und wieder aktivieren. Hier unterscheiden sich die Desktop-Umgebunden voneinander. === GNOME und Unity === Seit der Umstellung auf [:Unity:] in [:Natty:Ubuntu 11.04] sind die Einstellungen für das automatische Einbinden bei GNOME und Unity unter ''gsettings'' im Schema ''org.gnome.desktop.media-handling'' enthalten (siehe `man gsettings`). Die momentan gültigen Einstellungen erhält man mittels: {{{#!vorlage Befehl gsettings list-recursively org.gnome.desktop.media-handling }}} Wenn Automount und das Öffnen eines Fensters für gemountete Partitionen aktiviert sind, erhält man folgende Ausgaben: {{{ org.gnome.desktop.media-handling automount true org.gnome.desktop.media-handling automount-open true }}} Sind sie deaktiviert, steht dort statt `true` eben `false`. Um die Einstellungen zu verändern, gibt man folgende Befehlszeilen ein: {{{#!vorlage Befehl gsettings set org.gnome.desktop.media-handling automount 'false' gsettings set org.gnome.desktop.media-handling automount-open 'false' }}} Hat man das Paket '''dconf-tools''' installiert, so steht über {{{#!vorlage Befehl dconf-editor }}} auch eine grafische Oberfläche zur Verfügung. Man navigiert dann zu ''"org → gnome → desktop → media.handling"'' und verändert dort die Einstellungen für ''"automount"'' und optional auch für ''"automount-open"''. === KDE (Kubuntu) === Die Einstellungen zum automatischen Einbinden sind per [:KDE_Systemeinstellungen:] unter ''"Hardware → Wechselmedien"'' kontrollierbar. === Xfce (Xubuntu) === Bei Xubuntu (Xfce) werden externe Datenträger unmittelbar beim Einstecken eingebunden und nicht erst beim ersten Zugriff auf dieselben. Das Verhalten von Xubuntu beim Einstecken oder Einlegen externer Datenträger lässt sich im [[Bild(Wiki/InterwikiMap/xubuntu.png,,)]] Anwendungsmenü über "''Einstellungen -> Einstellungen -> Wechseldatenträger und Medieneinstellungen''" konfigurieren. Nähere Einzelheiten siehe [:Xfce_Einstellungen#Wechseldatentraeger-und-Medieneinstellungen:hier]. == Einzelne Datenträger ausschließen == Für einzelne Datenträger lässt sich das Einbinden mit einem Eintrag in '''fstab''' unterbinden. Sollen die betreffenden Datenträger nicht an anderer Stelle, sondern gar nicht eingebunden werden, findet man oftmals den Vorschlag, sie gemäß folgendem Beispiel "ins Leere" (Mountpunkt `none`) zu mounten: {{{ BEZEICHNER none auto noauto 0 0 }}} Für "BEZEICHNER" kann dann die '''/dev'''-Kennung ("node"), das [:Labels:Label] oder die [:UUID:] der Partition verwendet werden [4]. In neueren Ubuntu-Versionen funktioniert dies nicht mehr, da diese nur noch "erfolgreiche" '''fstab'''-Einträge berücksichtigen. Man muss dann statt `none` einen wirklich existierenden Ordner als Mountpunkt wählen, der aber innerhalb eines versteckten Ordners liegen kann, zu dem gewöhnliche Benutzer keinen Zugang erhalten, und von dem man dann weiter keinen Gebrauch macht. = Einbinden über Startprogramme = Jede der großen Desktop-Umgebungen bietet die Möglichkeit, einzelne Programme oder Skripte als ''"Startprogramme"'' einzutragen, sodass diese beim Einloggen des betreffenden Benutzers automatisch ausgeführt werden. Näheres hierzu findet man im Artikel [:Autostart:]. Während bei den bisher beschriebenen Verfahren Datenträger immer systemweit, d.h. ohne Differenzierung der Benutzer, eingebunden wurden, lässt sich mittels ''"Startprogramme"'' das automatische Einbinden beim Einloggen für einzelne Benutzer differenzieren. Startprogramme werden mit der Identität eines gewöhnlichen Benutzers ausgeführt. Das Einbinden von Partitionen oder Freigaben erfordert aber standardmäßig Administrator-Rechte. Deshalb müssen zuerst folgende Vorkehrungen getroffen werden, damit man mittels Startprogrammen automatisch mounten kann: * Die betreffenden Mount-Befehle müssen jeweils durch einen '''fstab'''-Eintrag mit den Optionen `noauto` und `users` für gewöhnliche Benutzer "freigeschaltet" werden. Für die eigentlichen Mount-Befehle genügt dann die Kurzform. * Werden vom Mount-Befehl intern Hilfsprogramme verwendet (z.B. `mount.cifs` für das cifs-vfs), so muss für diese das [:Rechte#Sonderrechte:SUID-Bit] gesetzt sein. Siehe dazu auch z.B. [:Samba Client cifs#mount.cifs:]. * Manche dieser Hilfsprogramme verlangen, dass der Mountpunkt Eigentum desjenigen Benutzers ist, mit dessen Identität gemountet wird. {{{#!vorlage Hinweis Der Befehl `mount -a` benötigt grundsätzlich Administrator-Rechte [5]. Er kann deshalb nicht als Startprogramm ausgeführt werden. }}} Eine weitere Möglichkeit, einzelne externe Datenträger in Verbindung mit Startprogrammen individuell automatisch zu mounten, bietet das Programm [:pmount:]. =Automounter= "Automounter" sind spezielle Hilfsprogramme (Tools) zum automatischen Einbinden von Netzwerk-Freigaben, die sich aber auch zum Einbinden externer Datenträger verwenden lassen. Automounter hängen Freigaben und Partitionen immer erst dann ein, wenn auf diese zugegriffen wird. Außerdem bieten sie in der Regel optional die Möglichkeit, dass diese bei Nichtgebrauch nach einer bestimmten Zeitspanne automatisch wieder ausgehängt werden. Automounter richten sich üblicherweise nach dem Abarbeiten der Datei '''/etc/fstab''', aber vor dem Einloggen eines Benutzers als Dienst ([wikipedia_en:daemon:Daemon]) ein, sodass sie Mount-Vorgänge systemweit mit Administrator-Rechten ausführen können. In der Desktop-Umgebung Unity sind für externe Datenträger schon einige Funktionen eines Automounters (Einhängen erst bei Zugriff, jedoch nicht automatisches Aushängen bei Nichtgebrauch) integriert. Man sollte es nach Möglichkeit vermeiden, Automounter und andere Automount-Verfahren nebeneinander zu verwenden, da sie sich gegenseitig beeinträchtigen können. Die in Linux am weitesten verbreiteten Automounter sind [:Autofs:] und der im Paket '''am-utils''' enthaltene [wikipedia_en:Berkeley Automounter:Berkeley-Automounter (amd)]. Sie werden in gesonderten Artikeln beschrieben. =Automount und GVFS= Zum Einbinden von Netzwerk-Freigaben verwenden die Dateimanager [:Nautilus:] (Ubuntu, GNOME/Unity), [:Thunar:] (Xubuntu, Xfce) und [:PCManFM:] (Lubuntu, LXDE) sowie das Tool [:Gigolo:] das virtuelle Dateisystem GVFS. Weil das dabei verwendete Programm [:gvfs-mount:] nicht über einen allgemeinen Mount-Befehl [3] angesprochen wird, lassen sich die bisherigen Erklärungen nicht ohne Weiteres auf GVFS übertragen. Weil das Tool gvfs-mount grundsätzlich von einem gewöhnlichen Benutzer ohne Root-Rechte auszuführen ist, kann es weder über einen '''fstab'''-Eintrag noch über einen Eintrag in [:rc.local:/etc/rc.local] automatisiert werden. Auch Automounter lassen sich nicht ohne Weiteres dafür verwenden. Dagegen lässt sich gvfs-mount problemlos über [#Einbinden-ueber-Startprogramme Startprogramme] automatisieren. Am besten legt man hierfür ein kleines Skript an, in dem alle einzuhängenden Freigaben eingetragen sind, macht dieses ausführbar und trägt es unter ''"Startprogramme"'' ein. Sollte das automatische Einhängen (Mounten) beim Neustart nicht auf Anhieb funktionieren, schafft meist eine kleine Pause via `sleep 5` am Anfang Abhilfe: {{{#!code bash #! /bin/bash sleep 5 gvfs-mount smb://192.168.1.101/Musik gvfs-mount smb://192.168.1.101/Photos }}} Da gvfs-mount ohne zusätzlich zu installierende Plugins nicht nur [:Samba:], sondern auch [:FTP:], [:SSH:] und [:WebDAV:] (jedoch leider nicht [:NFS:]) unterstützt, handelt es sich hier um eine besonders einfache und vielseitige Möglichkeit, Netzwerk-Freigaben automatisch zu mounten. ## = USB-Datenträger automatisch einbinden = ## Wie USB-Sticks und Festplatten auch ohne Unterstützung einer Desktop-Umgebung automatisch eingebunden werden können, wird in ## [:USB-Datenträger_automatisch_einbinden:USB-Datenträger automatisch einbinden] erklärt. = Problembehebung = == PowerTOP und hal-disable-polling == Ein weitere Fehlerquelle ist evtl., dass der eine oder andere Laptopbesitzer mit [:PowerTOP:] versucht hat, den Stromverbrauch seines Gerätes zu senken. Eine von PowerTOP vorgeschlagenen Optionen lautet ''"hal-disable-polling --device /dev/cdrom"''. Diese Option, eingetragen in die '''/etc/[:rc.local:]''' oder direkt auf der Kommandozeile aufgerufen, verhindert, dass das Laufwerk von HAL auf neue Medien kontrolliert wird. Somit erkennt Software, die sich auf HAL verlässt, auch keine eingelegten Medien. Um dies zu wieder zu ändern, sollte zunächst ein evtl. vorgenommener Eintrag in die '''/etc/rc.local''' wieder entfernt oder auskommentiert werden. Im nächsten Schritt wird das Überprüfen des Laufwerks mit {{{#!vorlage Befehl sudo hal-disable-polling --enable-polling --device /dev/cdrom }}} wieder permanent aktiviert. Sollen die Änderungen noch vor einem Neustart des Computers wirksam werden, muss noch der Befehl `sudo /etc/rc.local` ausgeführt werden. = Links = * [:Autofs:] - der unter Linux wohl gebräuchlichste Automounter ## * [:Archiv/FritzBox/Automount_USB-Speicher:] - automatisches Einhängen von Datenträger an der FritzBox * [:pmount:] - Datenträger ohne Administrator-Rechte einhängen * [http://pysdm.sourceforge.net/ PySDM] - ein grafisches Werkzeug zur Bearbeitung von '''fstab'''-Einträgen {en} * [wikipedia_en:Berkeley Automounter:Berkeley-Automounter (amd)] - die Alternative zu Autofs * [http://gparted.sourceforge.net/faq.php GParted FAQ] {en} # tag: System