AutoFS/de
AutoFS ist ein Program, das den Automounter des Linux-Kernels nutzt, um Dateisysteme bei Bedarf automatisch einzuhängen. Es funktioniert mit USB-Flash-Laufwerken und externen Festplatten, Netzwerkfreigaben, CD-ROM/DVD/Blu-Ray und so weiter.
AutoFS überwacht Verzeichnisse im lokalen Dateisystem. Wann immer ein Programm versucht, auf eines dieser Verzeichnisse zuzugreifen, wird AutoFS etwas in dieses Verzeichnis einhängen. Die zu überwachenden Verzeichnisse und die dort einzuhängenden Dateien werden in den AutoFS-Konfigurationsdateien wie /etc/autofs/autofs.master angegeben. Beispiele für die Konfiguration von AutoFS-Einhängungen finden Sie weiter unten auf der Seite unter AutoFS.
Installation
AutoFS erfordert ein Kernelmodul und ein Userspace-Programm.
Um ein Dateisystem einzuhängen (egal ob mit AutoFS oder manuell), muss der entsprechende Mount-Helper zum Zeitpunkt des Einhängens installiert sein. Zum Beispiel ist sys-fs/ntfs3g oder etwas Gleichwertiges erforderlich, um ein NTFS-Dateisystem einzuhängen. Einige Dateisysteme können auch Änderungen an der Kernelkonfiguration erfordern. Seen Sie auf der Wiki-Seite für das jeweilige Dateisystem nach, welche Software und Konfiguration erforderlich ist.
Kernel Konfiguration
Die folgende Kerneloption aktiviert die Kernelfunktionalität, die für das automatische Einhängen erforderlich ist.
File systems ---> <*/M> Kernel automounter version 4 support (also supports v3)
Wenn die Option auf M gesetzt ist, muss die Partition, die die Moduldatei enthält, bereits eingehangen sein, bevor AutoFS arbeiten kann.
Userspace-Programm
Wie bei den meisten Linux-Dateisystemen muss nicht nur die entsprechende Option im Kernel aktiviert sein, sondern es muss auch das Userspace-Paket installiert sein, um das Einhängen zu ermöglichen.
USE flags for net-fs/autofs Kernel based automounter
+libtirpc
Use TiRPC library instead of SunRPC
ldap
Install LDAP module
mount-locking
Enable locking to prevent corruption of /etc/mtab in the presence of concurrent auto-mounting. If enabled, recursive auto-mounting (eg. using autofs to bind or loop mount a filesystem which is itself auto-mounted) is not possible.
sasl
Enable SASL support in the LDAP module
selinux
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
Installieren Sie es mit dem folgenden Befehl:
root #emerge --ask net-fs/autofsZusätzliche Software
Um NFS-Dateisysteme einhängen zu können, wird das Paket net-fs/nfs-utils benötigt:
root #emerge --ask net-fs/nfs-utilsFür CIFS-Dateisysteme wird zusätzlich das Paket net-fs/cifs-utils benötigt:
root #emerge --ask net-fs/cifs-utilsFür WebDAV-Dateisysteme wird das Paket net-fs/davfs2 benötigt:
root #emerge --ask net-fs/davfs2Konfiguration
Dienste
Der AutoFS-Daemon muss laufen, damit das automatische Einhängen funktioniert.
OpenRC
AutoFS zum Default-Runlevel hinzufügen:
root #rc-update add autofs defaultUm den Automounter vor dem Neustart zu verwenden, starten Sie ihn manuell:
root #/etc/init.d/autofs startNatürlich ist es ratsam, zuerst die Konfigurationsdatei zu bearbeiten, wie unten beschrieben. Wenn AutoFS bereits läuft, wenn die Konfiguration bearbeitet wird, führen Sie das folgende Kommando aus, um die Konfiguration neu zu laden:
root #/etc/init.d/autofs reloadDateien
Die standardmäßige Installation von AutoFS beinhaltet die folgenden vier Konfigurationsdateien:
| Datei | Beschreibung |
|---|---|
| /etc/conf.d/autofs | Diese Datei kann dafür verwendet werden, um Kommandozeilenoptionen in das Programm automount weiterzugeben. Die meisten Nutzer werden diese Datei nicht editieren müssen.
|
| /etc/autofs/autofs.conf | Diese Datei definiert einige Standardparameter für AutoFS, wie etwa den Ort für die master map-Datei und den Standardtimeout für das trennen von inaktiven Mounts. Die meisten Nutzer werden diese Datei nicht editieren müssen. |
| /etc/autofs/auto.master | Dies ist die "master map", sozusagen ein Index zu den "map files" und anderen Ressourcen die AutoFS sagen, was gemountet werden soll und wo. Die meisten Nutzer werden diese Datei editieren müssen. |
| /etc/autofs/auto.misc | Dies ist ein Beispiel für eine "map file" auf die von der master map verwiesen wird. Es legt fest, was gemountet werden soll und wo. Die meisten Nutzer werden diese Datei editieren müssen. |
/etc/conf.d/autofs
/etc/conf.d/autofs ist die Konfigurationsdatei, die dem Initscript /etc/init.d/autofs entspricht. Für die grundlegende Nutzung von AutoFS ist es nicht notwendig, diese Datei zu ändern.
Die Datei definiert zwei Variablen:
- USE_MISC_DEVICE: Wenn dies auf
"yes"gesetzt ist erstellt das Initscript die Gerätedatei /dev/autofs. - OPTIONS: Dies enthält Befehlszeilenargumente die an automount übergeben werden. Führen Sie man 8 automount aus, um die Handbuchseite anzuzeigen, die alle erlaubten Optionen auflistest.
automount may be given one non-option argument, the filename of the master map, but for most users the default value (auto.master) is fine. If you do want to change the master map filename, setting the master_map_name configuration variable in /etc/autofs/autofs.conf is probably a better way to do it. The rest of this page assumes the master map filename has been left at the default value./etc/autofs/autofs.conf
/etc/autofs/autofs.conf ist die eigene Konfigurationsdatei von AutoFS. Die Standardinstallation ist gut kommentiert und die Optionen die in dieser Datei angegeben werden können, sind auch in der Handbuchseite dokumentiert, die Sie durch Ausführen von
user $man 5 autofs.confanzeigen können. Normalerweise ist es für die Verwendung von AutoFS nicht erforderlich diese Datei zu ändern.
/etc/autofs/auto.master
/etc/autofs/auto.master ist die (Standard-) "Master-Map". Jede Zeile beschreibt eine AutoFS-Einhängung.
Die Grundlegende Verwendung wird in man auto.master beschrieben.
AutoFS verwendet die Begriffe "mount" und "mount point" nicht in der gleichen Weise wie mount oder [[:/etc/fstab/de|/etc/fstab]].
Die typische Konfigurationseinstellung für diese Datei hat das folgende Format:
mount-point [map-type[,format]:]map [options]
Indirect maps will be created, similarly to mkdir -p and is removed when the filesystem is unmounts.
mount-point gibt ein Verzeichnis an, das AutoFS überwachen soll, und map, das AutoFS mitteilt, was dort eingehängt werden soll. Einzelheiten finden Sie unter Benutzung.
After handling the first two (whitespace-separated) fields as mount-point and map respectively, anything else on the line is treated as an option to be passed to either AutoFS's automount (if it starts with a dash), or mount (if it does not). Options passed to mount will follow the -o switch. See Usage for an example.
The comments in
auto.master say the format is key [ -mount-options-separated-by-comma ] location. As of version 5.1.2, that is wrong. That format applies to entries in map files, such as /etc/autofs/auto.misc./etc/autofs/auto.misc
/etc/autofs/auto.misc ist ein Beispiel für eine "Map-Datei". Nur die Map-Dateien, auf die in der Master-Map-Datei verwiesen wird, werden tatsächlich von AutoFS verwendet, daher ist es sicher, diese Datei umzubenennen oder zu löschen, solange Sie /etc/autofs/auto.master entsprechend bearbeiten. Sie können auch zusätzliche Map-Dateien nach derselben Syntax erstellen. Konventionell werden Map-Dateien nach dem Muster /etc/autofs/auto.* benannt.
Die Zeilen in dieser Datei haben das folgende Format:
/etc/autofs/auto.misckey [-options] location
Here key specifies a unique key associated with the AutoFS mount, which forms part or all of the path at which the filesystem will be mounted. location tells AutoFS what filesystem to mount there. -options is a comma-separated list of options to pass to mount, except for some special options which are handled by AutoFS (such as fstype). For details, see Usage below, or view the manual page by running
user $man 5 autofsBedienung
Autofs-Einhängungen werden erst eingehängt, wenn der Zugriff versuch wird. Das bedeutet, dass es nicht verwendet werden kann, um dem System hinzugefügte Geräte automatisch einzuhängen.
AutoFS-Einhängungen werden in /etc/autofs/auto.master angegeben.
Beispielkonfiguration:
/etc/autofs/auto.masterMount blockdevices, definiert in /etc/autofs/auto.blockdev, unter /media/blockdev, mit einem 5-Sekunden-Timeout/media/blockdev /etc/autofs/auto.blockdev --timeout=5
/etc/autofs/auto.blockdevMounte automatisch Blockgeräte unter /dev in /media/blockdev indirectly* -fstype=auto :dev/&
The location of the map takes the format host:path. In this case, it is auto.blockdev, which references /etc/autofs/auto.blockdev. The host component may be left empty to refer to a path on the local machine. Otherwise, the named path from the named remote host will be mounted using NFS.
With this configuration, /media/blockdev will be created when the autofs service is started. If a device exists at /dev/sda1 and access to /media/blockdev/sda1 is attempted, the device at that location should automatically mount there.
Es gibt zwei Arten von AutoFS-Einhängungen, direkte und indirekte.
Direkte AutoFS-Einhängungen
For a direct AutoFS mount, the mount-point is /-, and key in the map file is the full path at which the filesystem will be mounted. For example, the manual pages for AutoFS include an example like this:
/etc/autofs/auto.master/- /etc/autofs/auto.data
/etc/autofs/auto.data/tst/sbin bogus:/usr/sbin
These lines tell AutoFS to watch the directory /tst/sbin. If a program tries to access anything in that directory, AutoFS will mount the directory /usr/sbin from the remote host bogus on the local directory /tst/sbin. In other words, it will effectively execute the command
root #mount -t nfs bogus:/usr/sbin /tst/sbinEin Beispiel für das Einhängen eines lokalen Gerätes könnte wie folgt aussehen:
/etc/autofs/auto.master/- /etc/autofs/auto.local
/etc/autofs/auto.local/mnt/stuff -fstype=ext4 :/dev/sdd1
Dies führt effektiv den Befehl
root #mount -t ext4 /dev/sdd1 /mnt/stuffaus.
Indirekte AutoFS-Einhängungen
For an indirect AutoFS mount, the mount-point is a directory path, and map is the full path to a file which describes rules for mounting devices inside that directory. For example, the default installation includes the following line (though it is commented out):
/etc/autofs/auto.master/misc /etc/autofs/auto.misc
Diese Zeile weist AutoFS an, Dateien und Verzeichnisse unter /misc auf Dateisystemzugriffe zu überwachen. Wenn ein Programm versucht, auf etwas unter /misc zuzugreifen, verwendet AutoFS die Konfiguration in /etc/autofs/auto.misc, um festzustellen, ob es etwas automatisch einhängen soll. Jede (nicht kommentierte, nicht leere) Zeile in dieser Datei entspricht einem Objekt, das AutoFS unter /misc einhängen kann. Zum Beispiel die Zeile
/etc/autofs/auto.misccd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
weist AutoFS an, /misc/cd zu überwachen. Wenn ein Programm versucht, auf dieses Verzeichnis zuzugreifen, führt AutoFS effektiv den Befehl
root #mount -t iso9660 -o ro,nosuid,nodev /dev/cdrom /misc/cdaus.
Hier sind einige weitere Beispiele:
/etc/autofs/auto.master/mnt/auto /etc/autofs/auto.misc
/etc/autofs/auto.misc# The file above will use the mount-point /mnt/auto | mount options | device, network share etc. # network share mounted via NFSv3 on /mnt/auto/data data -rw,vers=3,soft,async 192.0.2.1:/tank1/data # network share mounted via CIFS on /mnt/auto/data1 data1 -fstype=cifs,credentials=/root/smb.txt ://192.0.2.1/data1 # memory stick used regulary with known UUID, for example a Kindle kindle -fstype=vfat,rw,uid=1000 :UUID="4CBF-23A2"
Indirekte Einhängevorgänge ermöglichen AutoFS, die Verwendung von Platzhaltern. Wenn beispielsweise die Home-Verzeichnisse der Benutzer auf einem anderen Rechner gespeichert und über NFS eingebunden sind, könnte AutoFS wie folgt konfiguriert werden:
/etc/autofs/auto.master/home /etc/autofs/auto.home
/etc/autofs/auto.home* neighborhood:/export/home/&
Wenn sich also ein Benutzer larry anmeldet und auf einige Dateien in seinem Home-Verzeichnis zugreift, wird AutoFS den Befehl tatsächlich ausführen:
root #mount -t nfs neighborhood:/export/home/larry /home/larryNützliche Optionen
Diese Optionen können in der Master-Map-Datei angegeben werden:
--timeout=<seconds>gibt die Anzahl der Sekunden an, die ein automatisch eingehängtes Dateisystem ungenutzt bleiben kann, bevor AutoFS es wieder aushängt.--ghostoderbrowse(keine Bindestriche in der letzteren Form) kann für indirekte Einhängevorgänge nützlich sein. Es veranlasst AutoFS, das Verzeichnis, in das etwas eingehängt werden soll, zu erstellen, wenn der automount-Daemon startet, und nicht erst, wenn auf das Verzeichnis zugegriffen wird.
Eine vollständige Beschreibung der Optionen finden Sie unter
user $man 5 auto.masterNichtdatei-Maps
In /etc/autofs/auto.master, instead of merely specifying map, the second column can take a more complicated form such as map-type:map, which allows the map to be something other than a file. For instance, it can be an executable which prints out map specifications (the lines that would be included in a map file), or any of various types of databases. For a full description of recognized types, run
user $man 5 auto.masterEinfaches Windows-ähnliches Einbinden von Samba-Freigaben
Hier ist eine Möglichkeit, Netzwerk-Samba-Freigaben automatisch einzuhängen, wie es Windows tut. Diese Konfiguration ermöglicht das automatische Einhängen einer Freigabe durch Eingabe des folgenden Befehls in einer Shell:
user $cd /net/192.0.2.1/shareoder die Navigation zu /net/192.0.2.1/share in einem Dateisystem-Browser oder -Dialog. Die Dateien darin werden so angezeigt, als befänden sie sich auf dem lokalen Rechner.
Damit dies funktioniert, muss Samba vor dem Einhängen installiert und konfiguriert worden sein.
/etc/autofs/auto.master/net file:/etc/autofs/auto.smbm --ghost --nonstrict
/etc/autofs/auto.smbm* -fstype=autofs,-Dhost=& file://etc/autofs/auto.share
/etc/autofs/auto.share* -fstype=cifs,username=guest,password=,file_mode=0664,dir_mode=0775,uid=netmount,gid=netmount,port=139 ://${host}/&
Syslog
Configuring syslog-ng to redirect logs to a custom file such as /var/log/autofs.log requires setting up filters and log paths in the syslog-ng configuration. This determines which events are logged and where they are recorded. The following provides guidance on configuring syslog-ng to handle logs for the AutoFS service.
To begin, open the syslog-ng configuration file using root permissions:
root #nano /etc/syslog-ng/syslog-ng.confA filter for messages from the 'autofs' service can be created within this file. The 'autofs' service logs can be filtered by matching the program name as shown in the following configuration snippet:
/etc/syslog-ng/syslog-ng.confFilter for autofsfilter f_autofs { program("automount"); };
After establishing the filter, define the log path that incorporates it, directing the output to the specified log file. Add the following lines to set the log path accordingly:
/etc/syslog-ng/syslog-ng.confLog path for autofsdestination d_autofs { file("/var/log/autofs.log" perm(0640) owner("larry") group("wheel")); };
log { source(s_src); filter(f_autofs); destination(d_autofs); };
Conclude the configuration by restarting the syslog-ng service to enforce the changes:
root #/etc/init.d/syslog-ng restartTo effectively activate syslog and ensure maximum debugging for the specified configuration, set the appropriate option flags in the AutoFS configuration file. Add the flag OPTIONS="--debug" to the file located at /etc/conf.d/autofs. After setting this option, proceed to restart the AutoFS service:
root #/etc/init.d/autofs restartFehlersuche
Im Falle von Fehlern oder Problemen beim Einhängen führen Sie die folgenden Schritte aus, um die Ursache des Problems einzugrenzen.
Stoppend des autofs-Dienstes:
root #/etc/init.d/autofs stopStarten Sie den automount-Daemon im Vordergrund, um auf stderr zu protokollieren. Fügen Sie die Option verbose hinzu, um die Protokollierung allgemeiner Status- und Fortschrittsmeldungen im aktuell laufenden Terminal anzuzeigen:
root #automount -f -vAls normaler Systembenutzer hängen Sie das Dateisystem ein, indem Sie in das Verzeichnis wechseln:
user $cd /net/gentooÜberprüfen Sie die Ausgabe, indem Sie den Daemon im Vordergrund und im ausführlichen Modus ausführen. Beispiel einer Fehlermeldung, die in der folgenden Ausgabe angezeigt wird:
root #automount -f -vStarting automounter version 5.1.6, master map auto.master using kernel protocol version 5.05 mounted indirect on /net with timeout 300, freq 75 seconds attempting to mount entry /net/gentoo >> mount: /net/gentoo: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program. mount(generic): failed to mount //example.net/larry (type cifs) on /net/gentoo failed to mount /net/gentoo
Externe Ressourcen
auf der Website des Linux-Dokumentationsprojekts
- AutoFS Seite auf dem Ubuntu Community Help Wiki