GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie AutoFS unter Linux

Egal, ob Sie ein erfahrener Systemadministrator oder nur ein normaler Benutzer sind, Sie haben wahrscheinlich bereits Laufwerke unter Linux gemountet.

Laufwerke können lokal auf Ihrem Computer sein oder Sie können über das Netzwerk darauf zugreifen, indem Sie beispielsweise das NFS-Protokoll verwenden.

Wenn Sie sich dafür entschieden haben, Laufwerke dauerhaft zu mounten, haben Sie sie wahrscheinlich zu Ihrer fstab-Datei hinzugefügt.

Glücklicherweise gibt es eine bessere und kostengünstigere Möglichkeit, Laufwerke zu mounten:durch die Verwendung des AutoFS-Dienstprogramms.

AutoFS ist ein Dienstprogramm, das lokale oder entfernte Laufwerke nur einbindet, wenn darauf zugegriffen wird :Wenn Sie sie nicht verwenden, werden sie automatisch ausgehängt.

In diesem Tutorial erfahren Sie, wie Sie AutoFS auf Linux-Systemen installieren und konfigurieren.

Voraussetzungen

Bevor Sie beginnen, ist es wichtig für Sie um sudo-Privilegien auf Ihrem Host zu haben.

Um dies zu überprüfen, führen Sie einfach den Befehl „sudo“ mit der Option „-v“ aus:Wenn Sie keine Optionen sehen, können Sie loslegen.

$ sudo -v

Wenn Sie keine sudo-Berechtigungen haben, können Sie diesem Tutorial für Debian-basierte Hosts oder diesem Tutorial für CentOS-basierte Systeme folgen.

AutoFS unter Linux installieren

Bevor Sie das AutoFS-Dienstprogramm installieren, müssen Sie sicherstellen, dass Ihre Pakete mit den Repositories auf dem neuesten Stand sind.

$ sudo apt-get update

Nachdem Ihr System aktualisiert wurde, können Sie AutoFS installieren, indem Sie den Befehl „apt-get install“ mit dem Argument „autofs“ ausführen.

$ sudo apt-get install autofs

Bei der Installation des AutoFS-Pakets wird der Installationsprozess:

  • Mehrere Konfigurationsdateien erstellen im /etc-Verzeichnis wie: auto.master, auto.net, auto.misc und so weiter;
  • Wird erstellt der AutoFS-Dienst in systemd;
  • Fügen Sie die Datei „automount hinzu “-Eintrag in Ihre „nsswitch.conf“-Datei und verknüpfen Sie sie mit den „Dateien ” Quelle

Stellen Sie direkt nach der Installation mit dem Befehl „systemctl status“

sicher, dass der AutoFS-Dienst läuft
$ sudo systemctl status autofs

Sie können den AutoFS-Dienst auch aktivieren, damit er beim Start ausgeführt wird

$ sudo systemctl enable autofs

Nachdem AutoFS nun korrekt auf Ihrem System installiert ist, sehen wir uns an, wie Sie mit der Erstellung Ihrer ersten Karte beginnen können.

Wie AutoFS unter Linux funktioniert

Karten ” sind ein Schlüsselkonzept, wenn es um AutoFS geht.

In AutoFS ordnen Sie Mount-Punkte Dateien zu (die als indirekte Karte bezeichnet wird) oder ein Bereitstellungspunkt mit einem Standort oder einem Gerät.

In seiner Standardkonfiguration beginnt AutoFS mit dem Lesen von Maps, die in der Datei autofs.master im Verzeichnis /etc definiert sind.

Von dort aus startet es einen Thread für alle Einhängepunkte, die in den Map-Dateien definiert sind, die in der Master-Datei definiert sind.

Das Starten eines Threads bedeutet nicht, dass der Mount-Punkt gemountet wird, wenn Sie AutoFS zum ersten Mal starten:er wird nur gemountet, wenn darauf zugegriffen wird.

Standardmäßig nach fünf Minuten Bei Inaktivität wird AutoFS Mount-Punkte, die nicht mehr verwendet werden, aufheben (oder unmounten).

Hinweis :Konfigurationsparameter für AutoFS sind in /etc/autofs.conf

verfügbar

Erstellen Ihrer ersten Automap-Datei

Nachdem Sie nun eine Vorstellung davon haben, wie AutoFS funktioniert, ist es an der Zeit, mit der Erstellung Ihrer allerersten AutoFS-Karte zu beginnen .

Erstellen Sie im Verzeichnis /etc eine neue Zuordnungsdatei mit dem Namen „auto.example “.

$ sudo touch /etc/auto.example

Das Ziel dieser Zuordnungsdatei ist es, eine NFS-Freigabe einzuhängen befindet sich auf einem Computer im Netzwerk.

Die NFS-Freigabe befindet sich unter der IP 192.168.178.29/24 im lokalen Netzwerk und exportiert ein Laufwerk unter /var/share.

Bevor Sie versuchen, die NFS-Freigabe automatisch zu mounten, empfiehlt es sich, sie manuell zu mounten und zu überprüfen, ob Sie den Remote-Server kontaktieren können.

$ ping 192.168.178.29

Eine direkte Karte erstellen

Die einfachste Zuordnung, die Sie mit AutoFS erstellen können, wird als direkte Zuordnung oder direkte Zuordnung bezeichnet .

Eine direkte Karte ordnet einen Bereitstellungspunkt direkt einem Standort zu (z. B. einem NFS-Standort)

Nehmen wir als Beispiel an, Sie möchten beim Booten eine NFS-Freigabe im /tmp-Verzeichnis einhängen.

Um eine direkte Karte zu erstellen, bearbeiten Sie Ihre „auto.example ”-Datei und fügen Sie den folgenden Inhalt darin an:

# Creating a direct map with AutoFS

# <mountpoint>    <options>    <remote_ip>:<location>   

/tmp              -fstype=nfs  192.168.178.29:/var/share

Jetzt müssen Sie die direkte Karte zu Ihrem „auto.master hinzufügen ” Datei.

Um anzugeben, dass Sie auf eine direkte Karte verweisen, müssen Sie die Notation „-“ verwenden

# Content of the auto.master file

/-    auto.example

Nachdem Ihre Masterdatei geändert wurde, können Sie den AutoFS-Dienst neu starten, damit die Änderungen wirksam werden.

$ sudo systemctl restart autofs

$ cd /tmp

Herzlichen Glückwunsch, Sie sollten jetzt per direkter Zuordnung über NFS auf Ihre Dateien zugreifen können

Erstellen einer indirekten Zuordnung

Nachdem Sie nun direkte Zuordnungen entdeckt haben, sehen wir uns an, wie Sie indirekte Zuordnungen verwenden können, um einen Remote-Standort in Ihrem Dateisystem zu mounten.

Indirekte Mappings verwenden die gleiche Syntax wie direkte Mappings mit einem kleinen Unterschied:Anstatt Orte direkt am Einhängepunkt zu mounten, mounten Sie sie an einem Ort in diesem Einhängepunkt.

Um es zu verstehen, erstellen Sie eine Datei mit dem Namen „auto.nfs “ und fügen Sie den folgenden Inhalt darin ein

nfs    -fstype=nfs  192.168.178.29:/var/share

Wie Sie sehen können, hat sich die erste Spalte geändert:In einer direkten Zuordnung verwenden Sie den Pfad zum Einhängepunkt (z. B. /tmp), aber bei einer indirekten Zuordnung geben Sie den Schlüssel an .

Der Schlüssel stellt den Verzeichnisnamen dar, der sich im Einhängepunktverzeichnis befindet.

Bearbeiten Sie Ihre „auto.master“-Datei und fügen Sie den folgenden Inhalt hinzu

/tmp   /etc/auto.nfs

Starten Sie Ihren AutoFS-Dienst neu und gehen Sie zum „tmp“-Verzeichnis

$ sudo systemctl restart autofs

$ cd /tmp

Standardmäßig wird nichts angezeigt, wenn Sie den Inhalt dieses Verzeichnisses auflisten:Denken Sie daran, AutoFS wird die Verzeichnisse nur einhängen, wenn darauf zugegriffen wird.

Damit AutoFS das Verzeichnis mounten kann, navigieren Sie zu dem Verzeichnis, das nach dem Schlüssel benannt ist, den Sie in der Datei „auto.nfs“ angegeben haben (in diesem Fall „nfs“ genannt)

$ cd nfs

Fantastisch!

Ihr Mountpoint ist jetzt aktiv und Sie können Ihr Verzeichnis durchsuchen.

Mapping entfernter Home-Verzeichnisse

Jetzt, da Sie etwas mehr über direkte und indirekte Zuordnungen wissen, stellen Sie sich vielleicht eine Frage:Was bringt die indirekte Zuordnung, wenn Sie Standorte einfach direkt zuordnen können?

Um nützlich zu sein, sollten indirekte Zuordnungen mit Platzhalterzeichen verwendet werden.

Ein wichtiger Anwendungsfall des AutoFS-Dienstprogramms ist die Möglichkeit, Home-Verzeichnisse aus der Ferne bereitzustellen.

Da sich Benutzernamen jedoch von einem Benutzer zum anderen ändern, können Sie keine saubere und gut aussehende Zuordnungsdatei haben, Sie müssten jeden Benutzer auf sehr redundante Weise zuordnen.

# Without wildcards, you have very redundant map files

/home/antoine  <ip>:/home/antoine
/home/schkn    <ip>:/home/schkn
/home/devconnected <ip>:/home/devconnected

Zu Ihrem Glück gibt es eine Syntax, mit der Sie dynamisch Verzeichnisse erstellen können, je nachdem, was auf dem Server verfügbar ist.

Erstellen Sie zur Veranschaulichung eine neue Datei mit dem Namen „auto.home “ in Ihrem /etc Verzeichnis und beginnen Sie mit der Bearbeitung.

# Content of auto.home

*    <ip>:/home/&

In diesem Fall gibt es zwei Platzhalterzeichen und bedeutet einfach, dass alle im /home-Verzeichnis auf dem Server gefundenen Verzeichnisse zugeordnet werden in ein gleichnamiges Verzeichnis auf dem Client.

Nehmen wir zur Veranschaulichung an, dass wir einen NFS-Server haben, der auf der IP-Adresse 192.168.178.29 läuft und alle Home-Verzeichnisse für unsere Benutzer enthält.

# Content of auto.home

*   192.168.178.29:/home/&

Speichern Sie Ihre Datei und beginnen Sie mit der Bearbeitung Ihrer auto.master-Datei, um Ihre indirekte Zuordnung zu erstellen

$ sudo nano /etc/auto.master

# Content of auto.master

/home     /etc/auto.home

Speichern Sie Ihre Masterdatei und starten Sie Ihren AutoFS-Dienst neu, damit die Änderungen übernommen werden.

$ sudo systemctl restart autofs

Jetzt können Sie zum /home-Verzeichnis gehen und Sie sollten in der Lage sein, die Verzeichnisse zu sehen, die für die Benutzer korrekt gemountet sind.

Hinweis:Wenn Sie im Verzeichnis nichts sehen, denken Sie daran, dass Sie möglicherweise einmal auf das Verzeichnis zugreifen müssen, damit es von AutoFS gemountet wird

Hosts in Ihrem Netzwerk zuordnen und entdecken

Wenn Sie auf die Datei auto.master geachtet haben, ist Ihnen wahrscheinlich aufgefallen, dass dort ein Eintrag für /net vorhanden ist Verzeichnis mit einem Wert „-hosts “.

Der Parameter „-hosts“ soll alle Einträge darstellen, die in der Datei /etc/hosts definiert sind.

Zur Erinnerung:Die „hosts“-Datei kann als einfacher und lokaler DNS-Resolver angesehen werden, der eine Reihe von IPs mit Hostnamen verknüpft.

Lassen Sie uns als Beispiel einen Eintrag für den NFS-Server in der Datei /etc/hosts definieren, indem Sie die IP und den Hostnamen der Maschine eingeben.

Stellen Sie zunächst sicher, dass einige Verzeichnisse auf dem Server exportiert werden, indem Sie den Befehl „showmount“ auf dem Client ausführen.

$ sudo showmount -e <server>

Nachdem Sie nun sichergestellt haben, dass einige Verzeichnisse exportiert werden, gehen Sie zu Ihrer „auto.master“-Datei in /etc und fügen Sie die folgende Zeile hinzu.

# Content of auto.master

/net   -hosts

Speichern Sie Ihre Datei und starten Sie Ihren AutoFS-Dienst neu, damit die Änderungen übernommen werden.

$ sudo systemctl restart autofs

Das ist es!

Jetzt sollte Ihre NFS-Freigabe im /net-Verzeichnis unter einem Verzeichnis zugänglich sein, das nach Ihrem Server-Hostnamen benannt ist.

$ cd /net/<server_name>

$ cd /net/<server_ip>

Hinweis :Denken Sie daran, dass Sie direkt in das Verzeichnis navigieren müssen, damit es gemountet werden kann. Sie werden es nicht sehen, wenn Sie einfach das /net-Verzeichnis auf dem ersten Mount auflisten.

Fehlerbehebung

In manchen Fällen kann es beim Einrichten von AutoFS zu Problemen kommen:wenn ein Gerät beschäftigt ist oder wenn Sie beispielsweise keinen Kontakt zu einem entfernten Host herstellen können.

  • mount/umount :Ziel ist beschäftigt

Da Linux ein Mehrbenutzersystem ist, können einige Benutzer einige Speicherorte durchsuchen, die Sie zu mounten oder zu unmounten versuchen (mit oder ohne AutoFS)

Wenn Sie wissen möchten, wer durch den Ordner navigiert oder wer eine Datei verwendet, müssen Sie den Befehl „lsof“ verwenden.

$ lsof +D <directory>
$ lsof <file>

Hinweis:Die Option „+D“ wird verwendet, um aufzulisten, wer die Ressource rekursiv verwendet.

  • showmount hängt beim Konfigurieren der Hosterkennung

Wenn Sie versucht haben, die Host-Erkennung mit dem Parameter „-hosts“ zu konfigurieren, haben Sie möglicherweise mit dem Befehl „showmount“ überprüft, ob auf Ihre Remote-Hosts zugegriffen werden kann.

In einigen Fällen bleibt der Befehl „showmount“ jedoch einfach hängen, da er den Remote-Server nicht kontaktieren kann.

Meistens blockiert die Firewall des Servers die Anfragen des Clients.

Wenn Sie Zugriff auf den Server haben, versuchen Sie, die Protokolle zu überprüfen, um festzustellen, ob die Firewall (z. B. UFW) die Anfragen blockiert oder nicht.

  • Debugging mit dem Automount-Dienstprogramm

Bei neueren Distributionen wird das Dienstprogramm autofs als systemd-Dienst installiert.

Folglich können Sie die autofs-Protokolle mit dem Befehl „journalctl“ einsehen.

$ sudo journalctl -u autofs.service

Sie können auch das Dienstprogramm „automount“ verwenden, um die vom Dienst durchgeführten automatischen Mounts zu debuggen.

$ sudo systemctl stop autofs

$ sudo automount -f -v

Schlussfolgerung

In diesem Tutorial haben Sie das AutoFS-Dienstprogramm kennengelernt:wie es funktioniert und die Unterschiede zwischen direkten und indirekten Maps.

Sie haben auch gelernt, dass es konfiguriert werden kann, um die Host-Erkennung einzurichten:Sie können sofort eine Verbindung zu allen NFS-Freigaben Ihres lokalen Netzwerks herstellen, was ein sehr leistungsfähiges Tool ist.

Schließlich haben Sie gesehen, wie Sie indirekte Maps erstellen können, um Home-Verzeichnisse automatisch im laufenden Betrieb zu erstellen.

Wenn Sie an Linux-Systemadministration interessiert sind, haben wir einen kompletten Abschnitt dafür, also werfen Sie einen Blick darauf!


Linux
  1. So installieren Sie Python unter Linux

  2. So installieren Sie NodeJS unter Linux

  3. So installieren Sie Vagrant unter Linux

  4. So installieren Sie TeamViewer 15 unter Linux

  5. So installieren Sie PIP unter Linux

So installieren Sie Bashtop unter Linux

So installieren Sie Helm unter Linux

So installieren Sie PuTTY unter Linux

So installieren Sie Diskonaut unter Linux

So installieren Sie GoAccess unter Linux

So installieren Sie Overlord unter Linux