Inhaltsverzeichnis
NFS
NFS ist eine Alternative zu Samba. Samba nutzt das smb Protokoll der Windowswelt, ist also in gemischten Netzwerken am sinnvollsten. Dafür allerdings langsamer mit Linux-Clients als NFS, das praktisch das Gegenteil der UNIX-Welt darstellt. Wer also gerne für beide Betriebssysteme (Windows und Linux) die höchste Geschwindigkeit nutzen will ist am Besten mit einem zusätzlichen NFS-Server beraten. Dieses Tutorial stellt lediglich die einfachste Basiskonfiguration dar!
Softwarevoraussetzungen: Paketverwaltung | Texteditor
Schwierigkeitsgrad: Mittel
Ausgetestet mit folgenden Betriebssystemen: Ubuntu | Debian | teilweise auch andere Distributionen
Archiv: Diese Anleitung behandelt ältere Softwareversionen, kann aber noch als Referenz verwendet werden.
Installation
Auf dem Server benötigen wir das Paket nfs-kernel-server
:
user@server:~$ sudo apt-get install nfs-kernel-server nfs-common portmap
und auf dem Client nfs-common
benötigt:
user@server:~$ sudo apt-get install nfs-common
Konfiguration des Servers
Hierzu bearbeiten wir die /etc/exports
:
user@server:~$ sudo nano /etc/exports
Die Freigabe baut sich so auf:
/Pfad/zur/Freigabe/im/Dateisystem Rechner(Option,Option)
Als Rechner kann man einen über die /etc/hosts
auflösbaren Hostnamen verwenden oder natürlich die IP des Rechners.
Die wichtigsten Optionen können so gewählt werden:
rw - beschreibbar und lesbar ro - nicht beschreibbar (nur lesen)
weitere Optionen sind beispielsweise:
no_root_squash - Dateien, die root gehören, beschreibbar machen
- weitere Optionen hinzufügen
Beispiele
/home/christoph/musik 192.168.2.100(rw) 192.168.2.101/255.255.255.0(ro)
Diese Freigabe ist für 192.168.2.100
und alle Rechner von 192.168.2.101
bis 192.168.2.255
. Wobei 192.168.2.100
lesen und schreiben darf, der Rest (192.168.2.101
bis 192.168.2.255
) darf nur lesen. Die Freigabe liegt in /home/christoph/musik
/home/christoph/eigene-dateien 192.168.2.100(rw) 192.168.2.105(ro)
Hier darf 192.168.2.100
wieder lesen und schreiben, 192.168.2.105
allerdings nur lesen. Diese Freigabe ist nur für 192.168.2.100
und 192.168.2.105
verfügbar und liegt in /home/christoph/eigene-dateien
.
/home/christoph/shared-docs 192.168.2.100/255.255.255.0(rw)
Hier dürfen alle Rechner von 192.168.2.101
bis 192.168.2.255
lesen sowie schreiben. Diese Freigabe ist logischerweise von allen Rechnern von 192.168.2.101
bis 192.168.2.255
verfügbar und liegt in /home/christoph/shared-docs
.
Nun starten wir noch dem NFS-Server neu:
user@server:~$ sudo service nfs-kernel-server restart
Anschließend können die Freigaben gemountet werden.
Das Mounten
Da die Clients die Freigabe nicht einfach so über Nautilus oder ähnlichem finden können muss man diese manuell mounten.
Dazu wechseln wir mit
user@client:~$ cd /media
in das Verzeichnis /media und legen mit
user@client:~$ sudo mkdir wie_die_Freigabe_heißen_soll
dein Mountpoint an. wie_die_Freigabe_heißen_soll
kann natürlich beliebig verändert werden (bitte keine Leerzeichen!). Dieser Name erscheint nachher auf dem Desktop und in der Nautilus-Seitenleiste.
Nun mounten wir die Freigabe mit
user@client:~$ sudo mount rechner:/pfad/zur/Freigabe /media/wie_die_Freigabe_heißen_soll
Bei Rechner
kommt der Rechnername oder der Hostname hinein. /pfad/zur/Freigabe
haben wir in der
/etc/exports
festgelegt und übernehmen in von dort. wie_die_Freigabe_heißen_soll
ersetzen wir durch den vorher in /media
angelegten Ordner. Daurauf hin erscheint auf unserem Desktop diese Freigabe.
Entmounten können wir das ganze mit:
user@client:~$ sudo umount /media/wie_die_Freigabe_heißen_soll
wie_die_Freigabe_heißen_soll
wird natürlich wieder durch den Namen der Freigabe ersetzt werden.
Beispiel
Unser Server ist unter 192.168.2.104
erreichbar und unsere Freigabe liegt in /home/christoph/shared-docs
. Vorher haben wir in der /etc/exports
folgendes freigegeben:
/home/christoph/shared-docs 192.168.2.100/255.255.255.0(rw)
Unsere Freigabe soll shared-docs
heißen, also erstellen wir diesen Ordner in /media
:
user@client:~$ cd /media user@client:~$ sudo mkdir shared-docs
Nun mounten wir noch diese Freigabe:
user@client:~$ sudo mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs
„Entmounten“ können wir die Fragabe mit:
user@client:~$ sudo umount /media/shared-docs
Kleines Skript
Da wir nicht jedes mal diese Freigabe neu mounten wollen erstellen wir ein sehr einfaches Skript, welches beim Ausführen diese Freigaben mountet und ein anderes zum „Entmounten“
Mounten
#!/bin/bash mount rechner:/Pfad/zur/fregabe/im/Dateisystem /media/wie_die_Freigabe_heißen_soll
Beispiel:
#!/bin/bash mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs
"Entmounten"
#!/bin/bash sudo umount /media/wie_die_Freigabe_heißen_soll
Beispiel:
#!/bin/bash umount /media/shared-docs
Sonstiges zu den Skripten:
Mehrere Freigaben werden so untereinander „geschrieben“:
Mount
#!/bin/bash mount 192.168.2.104:/home/christoph/eigene-dateien /media/eigene-dateien mount 192.168.2.104:/home/christoph/videos /media/filme mount 192.168.2.104:/home/christoph/musik /media/musik mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs mount 192.168.2.104:/home/christoph/prog /media/software
Umount
#!/bin/bash umount /media/eigene-dateien umount /media/filme umount /media/musik umount /media/shared-docs umount /media/software
Das Skript verwenden
Das Skript muss als
Skript.sh
abgespeichert werden (Skript
kann beliebig ersetzt werden),
mittels
user@client:~$ sudo chmod +x+u /Pfad/zum/Skript/Skript.sh
ausführbar gemacht werden
und kann dann mittels
user@client:~$ sudo /Pfad/zum/Skript/Skript.sh
ausgeführt werden.