[[Vorlage(Getestet, noble, ) ]] {{{#!vorlage Wissen [:Serverdienste:] {Übersicht} – Übersichtsartikel [:Heimnetzwerk:] {Übersicht} – Einführender Artikel; betrifft vor allem einfache Anwendungen [:NFS:] {Übersicht} – [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] [:fstab:] }}} Dieser Artikel ist Teil der [#Artikel-zu-NFS Artikelserie über NFS]. NFS steht für '''N'''etwork '''F'''ile '''S'''ystem und dies ist ein bei Linux und anderen Arten von Unix gebräuchliches Protokoll für den Austausch von Dateien über das Netzwerk. Für technische Details und Grundlagen siehe die Übersichten[1][2][3]. [[Inhaltsverzeichnis]] Dieser Artikel behandelt Auswahl, Konfiguration und Gebrauch eines der von Ubuntu über offizielle Paketquellen bereit gestellten NFS-Clients. Eines solchen Client benötigt man immer für den Zugriff auf die von einem NFS-Server als Freigaben über das Netzwerk angebotenen Ordner und Dateien. Der Artikel über NFS[3] wird für das Verständnis dieses Artikels vorausgesetzt. ## Folgendes Kapitel in den Hauptartikel NFS verschieben, sobald dieser überarbeitet wurde: = Alternativen = Es gibt weitere Protokolle für die Aufgabe, Dateien über das Netzwerk zwischen einem Ubuntu-Rechner und anderen Rechnern, auch solchen mit anderen Betriebssystemen auszutauschen: * [:SAMBA:SMB] * [:SSH:] * [:WebDAV:] * [:FTP:] -- veraltet, unsicher, besser nicht mehr verwenden. = Auswahl = Es gibt im wesentlichen diese drei Methoden: 1. Die übliche, am meisten genutzte Methode arbeitet auf der Ebene des Betriebssystems. Zur lokalen Nutzung einer Freigabe eines über Netzwerk erreichbaren NFS-Servers wird * entweder die Freigabe auf der [#Kommandozeile Kommandozeile] direkt mit dem Befehl [:mount:] eingebunden * oder als einzubindendes Dateisystem in die Datei fstab[8] aufgenommen. 1. Man benutzt einen [#Dateimanager Dateimanager] mit integriertem NFS-Client, beispielsweise Nautilus. 1. Man benutzt einen dedizierten NFS-Client, beispielsweise die in [:Java:] programmierte Applikation '''jftp'''. Diese und ähnliche Applikationen werden nicht empfohlen und hier nicht weiter berücksichtigt. = Installation = Zur Verwendung der ersten Methode reicht eine Installation des Pakets '''[packages:nfs-common:]''' {en}: {{{#!vorlage Paketinstallation nfs-common, „NFS-Dateien, die von Client und Server benutzt werden“, aus main }}} Für die Arbeitsweise auf grafischer Oberfläche muss in der Regel nichts installiert werden. Nautilus benötigt das Backend '''gvfsd-nfs''' aus dem Paket '''[packages:gvfs-backends:]''' {en}, aber das ist in der Regel bereits installiert. = Bedienung = {{{#!vorlage Hinweis Die nachfolgend gezeigten Bedienungen und Befehle setzen voraus, dass im eigenen lokalen Netzwerk ein NFS-Server unter der IP-Adresse `192.168.178.25` erreichbar ist und dass dieser gemäß dem [:Howto/NFS-Testserver:Howto NFS-Testserver] konfiguriert wurde. }}} == Dateimanager == [[Bild( Nautilus-Netzwerk-NFS-Server.png, 200, left ) ]] [[Bild( Nautilus-Netzwerk-NFS-eingebunden.png, 200, right ) ]] Ein richtig und vollständig eingerichteter NFS-Server, konkret der aus dem o.g. Howto, wird im Fenster von [:Nautilus:] in der Netzwerkübersicht (''„Netzwerk durchsuchen …“'') angezeigt, so wie im links nebenstehenden Bild gezeigt. (Der Maus-Pfeil zeigt auf den NFS-Server, die anderen sind SMB-Server.) Ein Aktivierung-Klick auf das Symbolbild bindet die Freigabe vom NFS-Server ein, wie rechts stehend gezeigt. Die Freigabe des NFS-Servers wird über das [:gio mount:GVFS] auf ein temporäres Verzeichnis unter '''/run/user/1000/gvfs/…''' (oder andere UID) eingebunden. Das funktioniert leider nur mit zwei Voraussetzungen: * Der Server muss das Protokoll NFSv3 akzeptieren, weil Nautilus (Stand: [:24.04:]) nicht fehlerfrei NFSv4 spricht. * Entweder muss der Server auch die Verwendung nicht privilegierter Ports (privilegiert sind in der Regel Ports < 1024) erlauben, [[BR]]oder das Backend '''gvfsd-nfs''' muss mit Root-Rechten[7] ausgeführt werden. == Kommandozeile == == Informationen beschaffen == Man muss die IP-Adresse des NFS-Servers SERVER kennen oder aus einer symbolischen Adresse (Rechnername, DNS-Name) zuverlässig ermitteln können. Außerdem benötigt man die Bezeichnung der Freigabe FREIGABE; bei einem NFSv3-Server kann man diese auf der Kommandozeile[5][6] mit folgenden Befehl mit Root-Rechten[7] ermitteln: [[Vorlage( Befehl, 'sudo showmount -e 192.168.178.25' ) ]] Beispielausgabe: {{{ Export list for 192.168.178.25: /srv/nfs 192.168.0.0/16 }}} Generell kann man alle benötigten Informationen erfragen, sofern man dem NFS-Server beigebracht hat, diese per [:Avahi:] anzupreisen: [[Vorlage( Befehl, 'avahi-browse -tr _nfs._tcp' ) ]] Beispielausgabe: {{{ + cable IPv4 NFS-Server theophanu Network File System local = cable IPv4 NFS-Server theophanu Network File System local hostname = [theophanu.local] address = [192.168.178.25] port = [2049] txt = ["path=/srv/nfs"] }}} == Manuell Einbinden == Zum Einbinden gibt man die Freigabe als URL mit Namensschema nfs, Server SERVER und Freigabe FREIGABE, sowie den Einbindepunkt EINBINDEPUNKT und als Typ `nfs` an. Allgemeines Schema: {{{#!vorlage Befehl sudo mount -t nfs OPTIONen SERVER:FREIGABE EINBINDEPUNKT }}} Konkretes Beispiel: {{{#!vorlage Befehl sudo mkdir -p /mnt/tmp sudo mount -t nfs 192.168.178.25:/srv/nfs /mnt/tmp }}} OPTIONen kann leer sein oder Angaben aus den allgemeinen Mount-Optionen und speziellen für NFS enthalten. Siehe dazu die Artikel über [:mount:] und [:fstab:]. == Einbinden durch Benutzer vorbereiten == Ärgerlich an dem vorstehend beschriebenem Verfahren ist, dass nur [:root:] es durchführen kann. Dies lässt sich über eine von `root` in der Datei fstab[8] hinterlegten Zeile ändern: {{{192.168.178.25:/srv/nfs /mnt/tmp nfs _netdev,noauto,nodev,noexec,rw,users }}} Damit reicht zu Einbindung dieser Befehl aus: [[Vorlage( Befehl 'mount /mnt/tmp' ) ]] Wenn man eine so eingebundene Freigabe in der grafischen Oberfläche sehen möchte, verwendet man einfach ein Unterverzeichnis von '''/media/''' anstelle von '''/mnt/'''. Der Ort für die Einbindung in das lokale Dateisystem ist beliebig. = Artikel zu NFS = [[Seitenliste( '*NFS*' ) ]] = Links = * [http://www.selflinux.org/selflinux/html/nfs.html NFS] {de} – Ausführliche Erklärung (für fortgeschrittene Benutzer) bei Selflinux * [archwiki:NFS: NFS] {en} – Eintrag im Archlinux-Wiki # tag: Netzwerk, Server, Freigaben