DreamboxOS (OE2.2 & OE2.5) NFS Verbindung (Server) einrichten [FAQ]

  • Hallo,


    habe mal meine Dreambox 820 komlett neu aufgesetzt, daher habe ich mal einige schritte gleich aufgeschrieben
    und will hier mal erklären wie Ihr auf euerer Dreambox mit neuerem DreamboxOS (OE2.2) eine NFS Server aufbauen könnt.


    Bitte hier keine Fragen wie man einen NFS-Client einrichtet, dies ist ein anderes Thema!!!!
    Und es gibt daszu sogar einen eigenen Thread: DreamboxOS (OE2.2) NFS Verbindung (client) einrichten (autofs)[FAQ]


    Diese Art funktioniert "so nur" bei den neueren Boxen mit DreamboxOS als System!



    Voraussetzung:
    - wissen wie man sich mit seiner Box per Telnet/SSH verbindet
    - Box ist im Heimnetzwerk zusammen und für später dann auch für NFS-Client's erreichbar
    - Box ist Verbunden mit dem Internet
    - Wie man Dateien (text) auf der Dreambox erstellt (Unixformat)
    - FesteIP-Adresse der Dreambox (direkt vergeben oder über Feste IP vom Router (DHCP mit Anbindung an MAC-Adresse)



    Frage:
    - Wie richte ich nun die Dreambox (OE2.2) als NFS_Servert ein?



    Antwort:
    Zuerst müssen wir die NFS Dienste Installieren und starten, dazu müssen wir uns per Telnet auf die gewünscht Box einloggen
    und folgendes über die Konsole installieren und ausführen:


    Also nacheinander ab arbeiten:


    - opkg update && opkg upgrade
    - apt-get update && apt-get -f install


    - opkg install nfs-utils
    - systemctl enable nfs-server


    - apt-get install nano (einfacher Editor für die Konsole)




    Info:
    der NFS-Server kann hiermit gesteuert werden:
    - systemctl restart nfs-server
    - systemctl start nfs-server
    - systemctl stop nfs-server
    - systemctl status nfs-server



    Code
    root@dm820:~# systemctl enable nfs-server


    Überprüfen ob der Server läuft geht hiermit:


    Code
    root@dm820:~# systemctl status nfs-server
    nfs-server.service - NFS Server
    Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled)
    Active: inactive (dead)
    start condition failed at Thu 1970-01-01 01:00:05 CET; 46 years 5 months ago
    Jan 01 01:00:05 dm820 systemd[1]: Started NFS Server.
    root@dm820:~#


    So wie man nun erkennt, der Server selbst läuft (ist enabled) aber noch inaktiv, da er ja noch nichts machen Kann/muss :)



    So nun müssen wir schauen was wir den als NFS-Server freigeben wollen.
    Das einfachste ist den Befehl "blkid" zu verwenden!


    Wer diesen nicht haben sollte installiert nochmals folgendes: - opkg install util-linux-blkid


    Code
    root@dm820:~# blkid
    /dev/mmcblk0p1: LABEL="dreambox-rootfs" UUID="da991132-42c8-49ae-ae11-ca7d347d0ef9" TYPE="ext4" PARTLABEL="primary" PARTUUID="60b957d8-96a0-41ab-84b9-df5b3db516fe"
    /dev/mmcblk0p2: LABEL="dreambox-data" UUID="5a1134db-37bc-41a5-a9d5-20518fb39597" TYPE="ext4" PARTLABEL="primary" PARTUUID="046080d3-6a65-42bd-9558-0e26a0122a90"
    /dev/sda1: LABEL="dreambox-storage" UUID="d1608534-e582-4af6-a68b-8a9a5f9d5879" TYPE="ext4" PARTLABEL="dreambox-storage" PARTUUID="29c326c4-0784-4bd2-8f11-78cc774396f9"
    /dev/mmcblk0: PTUUID="858edc9f-3529-4ae5-98b6-1b2391e7ec7c" PTTYPE="gpt"
    root@dm820:~#


    Erklärung (blkid):
    Nun sehen wir was für "Laufwerke" in unsere Dreambox vorhanden sind.


    Die "Laufwerke":
    - /dev/mmcblk0p1:
    - /dev/mmcblk0p2:
    -/dev/mmcblk0:


    sind Interne Partitionen und davon sollte man immer die Finger lassen!


    Festplatten, USB-Sticks, Esata und andere Geräte (Laufwerke, Platten, Partitionen) werden üblicher weise immer angezeigt als:
    - /dev/sdx


    /dev/sda1 im ober Falls ist das Erste angeschlossene Laufwerk mit der ersten Partition (a), daher die (1).


    Wie man erkennt habe ich also nur ein Laufwerk angeschlossen mit nur einer Partition!


    Info:
    Die Dreambox "mountet" (bindet ein) üblicherweise das erste angeschlosse Laufwerk als /media/hdd, geht also davon aus das es eine Platte ist die
    als für Aufzeichningen vorgesehen ist.


    Unter dem Verzeichnis /media können wir nachschauen was eingebunden (gemountet) wurde:


    Code
    root@dm820:~# ls /media
    dreambox hdd nas net
    root@dm820:~#


    Wir sehen hier nun folgende Verzeichnisse:
    - dreambox (da sind meine NFS-Verbindungen zu den anderen Dreamboxen drin)
    - net wird automatisch erstellt, und bisher könnte mir noch keiner erklären für was das denn nun gut ist? wird also ignoriert...
    -nas (da sind meine NFS-Verbindungen zu meinem NAS Qnap-TS119 drin)
    - hdd ist also meine "Laufwerk" von /dev/sda1




    Den Inhalt des Laufwerks können wir uns auch anzeigen lassen, mittels:

    Code
    root@dm820:~# ls /media/hdd
    lost+found movie picon timeshift
    root@dm820:~#


    so nun kommt die Entscheidung was will ich denn überhaupt für den NFS-Server "Freigeben"?
    Ein einzelne Verzeichnis, oder gleich die ganze Platte?


    - der Pfad zur Platte wäre einfach nur /media/hdd
    - zum Verzeichnis der TV-Aufnahmen dann /media/hdd/movie


    Ich entscheide mich wie wohl die meisten auch für die gesamte Platte.


    Wer nicht genau weiß welche IP-Adresse und Subnetz seine Dreambox hat kann dies so auslesen:


    Meine IP-Adresse wäre also 192.168.1.13 und das Subnetzt (Mask) 255.255.255.0



    Die Freigabe der Laufwerke erfolgt mittels einer einfacher Textdate (exports) die sich im Verezichnis /etc befinden muss.
    diese erstellen wir nun mittels:

    Code
    nano /etc/exports


    Und geben dort dann wie folgt ein:
    1. Verzechnis was Freigeben wird und setzten dahhinter ein TAb mit dar Tabtaste ab.
    2. Die IP-adresse/Subnetz
    3. Wie die NFS-Freigabe sein soll (Parameter) näheres dazu im NFS-Wiki und oder Foren


    Das ganze sieht einfach so aus:

    Code
    /media/hdd 192.168.1.13/255.255.255.0(rw,all_squash,anonuid=0,anongid=0,no_subtree_check,async)


    Abgespeichert wird mit >linke Strg> und O (großes Ohh)



    Hat man keine Schreibfehler eingbaut sollte man nun ohne Fehlermeldung den NFS-Server neu starten können:


    Code
    root@dm820:/# systemctl restart nfs-server
    root@dm820:/#


    Und sehen uns wieder den Status an:


    miitles showmount können wir auch überpfüfen ob die Freigabe für alle Sichtbar ist:

    Code
    root@dm820:/# showmount -e 192.168.1.13
    Export list for 192.168.1.13:
    /media/hdd 192.168.1.13/255.255.255.0
    root@dm820:/#


    So das war es schon, und da wir das ganze auf der Konsole auf der Dreambox Händisch gemacht haben funktioniert das ganze auch
    und wird haben keine Probleme mit irgendwelchen Rechten, Windowsformat usw. :D


    Und sollte bei euch Fehler auftreten, habt Ihr zu 100% einen Tippfehler gemacht, oder die Anleitung nicht richtig befolgt.
    Denn ich habe dies so wie es Hier steht Schritt für Schritt an meiner DM820 so ausgeführt und dokumentiert :D



    Wer mehr zu den NFS-Optionen der /etc/exports wissen will, für was die stehen und was da alles machbar ist
    hat hier eine gute "deustchsprachige" Quelle:


    - https://wiki.ubuntuusers.de/NFS/



    Sollte nun also Euer NFS-Server nun laufen könnt Ihr euere ersten NFS-Clients mit diesem Verbinden, wie dies geht
    findet Ihr in diesen Threads:


    DreamboxOS (OE2.2) NFS Verbindung (client) einrichten (autofs)[FAQ]



    DreamboxOS - Anleitung Fstab - Use SystemD automount

    MfG EgLe



    Kernel : Linux 5.4.40-1-MANJARO (LTS)
    GUI : KDE 5.70.0 / Plasma 5.18.5
    Machine : Intel NUC8i7HVK
    Graphics : Radeon RX Vega M GH (DRM 3.35.0, 5.4.40-1-MANJARO, LLVM 10.0.0)
    CPU : Intel Core i7-8809G @ 8x 4.2GHz
    RAM : Gskill F4-3000C16S-16GRS Speicherkarte so D4 3000 16GB C16 Rip

    Edited once, last by EgLe ().

  • Hallo,


    nachdem ich ja nun auch auf meiner DM7080 OE2.5 installiert habe,
    bin ich das oben genannte HowTo soweit durch und auch unter OE2.5 funktioniert die Installation
    und die Inbetriebnahme wie oben geschrieben.



    Jedoch ist mir nun auf der DM7080 mit DreamboxOS: 4.3.0r26-2017-01-10 aufgefallen
    das der NFS-Server nach jedem Neustart der Box deaktiviert ist.



    Er bleibt nicht dauerhaft aktiv, hat dies jemand noch bemerkt?


    Ist dies ein Fehler im DreamboxOS: 4.3.0r26-2017-01-10, oder habe ich
    oben noch was vergessen was sich hier wieder geändert hat?




    Jemand eine Idee?

    MfG EgLe



    Kernel : Linux 5.4.40-1-MANJARO (LTS)
    GUI : KDE 5.70.0 / Plasma 5.18.5
    Machine : Intel NUC8i7HVK
    Graphics : Radeon RX Vega M GH (DRM 3.35.0, 5.4.40-1-MANJARO, LLVM 10.0.0)
    CPU : Intel Core i7-8809G @ 8x 4.2GHz
    RAM : Gskill F4-3000C16S-16GRS Speicherkarte so D4 3000 16GB C16 Rip

  • Hallo,


    so habe mal wieder rum gegoogelt, und erst mal nach Debian-Lösungen gesucht wie diese hier:


    https://www.howtoforge.de/anle…lients-unter-debian-etch/


    Doch die hilft mir nicht wirklich weiter:


    Code
    root@dm7080:~# apt-get install nfs-kernel-server nfs-common portmap
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package nfs-kernel-server
    E: Unable to locate package nfs-common


    Okay da ja der NFS-Server eigentlich läuft und es nur darum geht diesen automatisch starten zu lassen
    habe ich mich dann mal wieder im Arch-Linux mich versucht und mal dieses probiert:


    https://wiki.archlinux.de/title/Network_File_System


    Dies sieht zumindest mal besser aus:


    Code
    root@dm7080:~# systemctl start rpcbind
    root@dm7080:~# systemctl start nfs-server
    root@dm7080:~# systemctl enable rpcbind
    Synchronizing state of rpcbind.service with SysV init with /lib/systemd/systemd-sysv-install...
    Executing /lib/systemd/systemd-sysv-install enable rpcbind
    System startup links for /etc/init.d/rpcbind already exist.
    root@dm7080:~# systemctl enable nfs-server
    root@dm7080:~#


    Aber auch dies wirkt bzw. hilft nicht :(
    Nach einem Neustart der DM7080 sieht das wieder so aus:


    Ich weiß ja das es sich nur um das starten des NFS-server über systemd handelt.
    Aber das kann doch nicht sein das man nun Händisch ins systemd eingreifen muss um einen Standard Server zu starten,
    der selbst in Debian und Arch-Linux ohne manuellen Eingriff (editieren) ins systemd nun doch eintragen muss?


    Das sehe ich dann man als Bug an :evil:


    Oder will DreamMultimedia das man nun nach jedem Neustart einer Box dann das ganze Manuel startet :?:




    Okay letzter Test mit der DM820 mit OE2.5, auch das selbe ausgeführt wie bei der DM7080 und siehe da,
    dort funktioniert es nach einem Neustart der Dreambox:



    Gut dann habe ich zumindest nur noch 2 Möglichkeiten zur Auswahl :)


    1. Entweder Ist das Image der DM7080 Fehlerhaft
    2. Oder es liegt am installiertem Gemini Plugin (ist der einzigste Unterschied an installierter Software)


    Werde ich wohl die Box neu flashen müssen und den Server installieren bevor ich Gemini installiere
    um die Fehlerquelle lokalisieren zu können.


    Naja dann habe ich am Sonntag wenigsten keine Langeweile :(

    MfG EgLe



    Kernel : Linux 5.4.40-1-MANJARO (LTS)
    GUI : KDE 5.70.0 / Plasma 5.18.5
    Machine : Intel NUC8i7HVK
    Graphics : Radeon RX Vega M GH (DRM 3.35.0, 5.4.40-1-MANJARO, LLVM 10.0.0)
    CPU : Intel Core i7-8809G @ 8x 4.2GHz
    RAM : Gskill F4-3000C16S-16GRS Speicherkarte so D4 3000 16GB C16 Rip

  • Hallo,


    so die Fehlerquelle habe ich mal erodieren können.
    Es liegt daran das ich versuche ein Freigabe für meine sdcard per NFS-Server zu ermöglichen und dies
    so im Image wohl nicht funktioniert....



    Code
    # /files/ *(ro,sync) # Nur-Lese Rechte für jedermann
    # /files/ 192.168.0.100(rw,sync) # Schreib-Lese Rechte für einen Client auf 192.168.0.100
    # /files/ 192.168.1.1/24(rw,sync) # Schreib-Lese Rechte für alle Clienten von 192.168.1.1 bis 192.168.1.255
    /media/hdd 192.168.1.15/24(rw,all_squash,anonuid=0,anongid=0,no_subtree_check,async)
    #/media/sdcard 192.168.1.15/24(rw,all_squash,anonuid=0,anongid=0,no_subtree_check,async)


    Warum und wieso versuche ich noch heraus zu finden.


    Wenn ich die Freigabe der sdcard deaktiviere startet auch der NFS-Server sauber automatisch mit.


    Falls ich eine Lösung gefunden habe werde ich das hier mitteilen...

    MfG EgLe



    Kernel : Linux 5.4.40-1-MANJARO (LTS)
    GUI : KDE 5.70.0 / Plasma 5.18.5
    Machine : Intel NUC8i7HVK
    Graphics : Radeon RX Vega M GH (DRM 3.35.0, 5.4.40-1-MANJARO, LLVM 10.0.0)
    CPU : Intel Core i7-8809G @ 8x 4.2GHz
    RAM : Gskill F4-3000C16S-16GRS Speicherkarte so D4 3000 16GB C16 Rip

  • Hallo,


    okay gibt wohl ein Problem mit Verwendung der sdcard.


    Habe aber auch (eine) Lösung gefunden.


    Ist aber in diesesm Thread nach zulesen, da es ja speziell um die sdcard geht ;)


    OE2.5 NFS-Server mit sdcard (Bug oder Feature) ?

    MfG EgLe



    Kernel : Linux 5.4.40-1-MANJARO (LTS)
    GUI : KDE 5.70.0 / Plasma 5.18.5
    Machine : Intel NUC8i7HVK
    Graphics : Radeon RX Vega M GH (DRM 3.35.0, 5.4.40-1-MANJARO, LLVM 10.0.0)
    CPU : Intel Core i7-8809G @ 8x 4.2GHz
    RAM : Gskill F4-3000C16S-16GRS Speicherkarte so D4 3000 16GB C16 Rip