ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Automount

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

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 ("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, die Datei /etc/fstab in einem Editor mit Administrator-Rechten [3] durch eigene Einträge zu erweitern. Ein graphisches Frontend zur Bearbeitung von fstab-Einträgen ist PySDM. 🇬🇧

Die Datei /etc/fstab wird beim Systemstart schon vor dem Einloggen eines bestimmten Benutzers und auch vor allen anderen, im Folgenden beschriebenen Verfahren abgearbeitet. Partitionen, für die dort ein Eintrag ohne die Option noauto besteht, sind deshalb auf jeden Fall schon 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 graphische 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 Systemstartautomatisch 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 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:

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. Wegen > /dev/null 2>&1 unterbleiben die 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 Eilegen 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 Administrator-Rechte nötig. 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.

Hinweis:

Udev und 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 (GUI) GNOME/Unity (Ubuntu), KDE (Kubuntu) und Xfce (Xubuntu) können externe Datenträger sowohl beim Einloggen des jeweiligen Benutzers als auch beim nachträglichen Einstecken oder Einlegen des Datenträgers automatisch einbinden. 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 dann 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 die externen Datenträger durch die GUI 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 es verhindern, dass Datenträger automatisch durch die GUI eingebunden werden, wenn man dafür einen der Automounter (z.B. Autofs) verwenden will.

Das automatische Einbinden externer Datenträger über die GUI lässt sich generell deaktivieren und wieder aktivieren. Hier unterscheiden sich die Desktop-Umgebunden voneinander.

GNOME und Unity

Seit der Umstellung auf Unity in Ubuntu 11.04 Natty Narvhal sind die Einstellungen für das automatische Einbinden über GNOME und Unity unter gsettings im Schema org.gnome.desktop.media-handling zu erreichen (siehe man gsettings). Die momentan gültigen Einstellungen erhält man mittels

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:

gsettings set org.gnome.desktop.media-handling automount 'false'
gsettings set org.gnome.desktop.media-handling automount-open 'false' 

Hat man zusätzlich das Paket dconf-tools installiert, so steht dafür über

dconf-editor 

auch eine graphische 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.

In früheren Ubuntu-Versionen wurden die entsprechenden vom Dateimanager (Nautilus) und nicht über gsettings verwaltet. Die Einstellungen konnten über "System → Einstellungen → Wechseldatenträger- und medien" oder im Nautilus-Fenster über "Bearbeiten → Einstellungen → Datenträger" verändert werden.

Eine Beschreibung der Aktionen, die GNOME im Anschluss an das Einbinden externer Partitionen zusätzlich noch automatisch ausführen kann, ist im Artikel GNOME Wechseldatenträger und -medien zu finden.

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 werden und nicht erst beim ersten Zugriff auf dieselben.

Das Verhalten von Xubuntu beim Einstecken oder Einlegen externer Datenträger lässt sich im Wiki/InterwikiMap/xubuntu.png Anwendungsmenü über "Einstellungen → Einstellungen → Wechseldatenträger und Medieneinstellungen" konfigurieren. Nähere Einzelheiten siehe hier.

Einzelne Datenträger ausschließen

Für einzelne Datenträger lässt sich das Einbinden über die GUI 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 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 drei 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 sich 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 "Startprogramme" 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 SUID-Bit gesetzt sein. Siehe dazu auch z.B. Samba Client cifs (Abschnitt „mount.cifs“).

  • Manche dieser Hilfsprogramme verlangen, dass der Mountpunkt Eigentum desjenigen Benutzers ist, mit dessen Identität gemountet wird.

Hinweis:

Der Befehl mount -a benötigt grundsätzlich Administrator-Rechte [5]. Er kann deshalb nicht über "Startprogramme" ausgeführt werden.

Eine weitere Möglichkeit, einzelne externe Datenträger in Verbindung mit "Startprogramme" individuell automatisch zu mounten, bieter das Tool 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 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 Berkeley-Automounter (amd). Sie werden in gesonderten Artikeln beschrieben.

Automount und gvfs

Zum Einbinden von Netzwerk-Freigaben verwenden die Dateimanager Nautilus (Ubuntu, GNOME/Unity) und Thunar (Xubuntu, Xfce) 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 das gvfs übertragen.

Weil das Tool gvfs-mount grundsätzlich von einem gewöhnlichen Benutzer ohne Administrator-Rechte auszuführen ist, kann es weder über einen fstab-Eintrag noch über einen Eintrag in /etc/rc.local automatisiert werden. Auch Automounter lassen sich nicht ohne Weiteres dafür verwenden.

Dagegen lässt sich gvfs-mount problemlos über Startprogramme automatisieren. Am besten legt man hierfür ein kleines Skript an, in dem alle zu mountenden Freigaben eingetragen sind, macht dieses ausführbar und trägt es unter "Startprogramme" ein. Sollte das automatische Mounten beim Neustart nicht auf Anhieb funktionieren, schafft meist eine kleine Pause (sleep 5) am Anfang Abhilfe:

#! /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.

Problembehandlung

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

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:

Intern

Extern

Diese Revision wurde am 1. Mai 2013 12:50 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, ungetestet