Samba Server

Aus DreamboxWIKI
Wechseln zu: Navigation, Suche


Allgemeines

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Dreambox in der Windowsnetzwerkumgebung
Mit Hilfe von Samba kann man aus Windows heraus direkt auf festgelegte Verzeichnisse der Dreambox zugreifen.

Realisiert wird dies durch die beiden Daemons smbd und nmbd. Bei der DM7000 sind sie im Image enthalten, bei älteren Images der DM7020 müssen sie zunächst installiert werden. Ob die Daemons bereits laufen kann über den Telnetzugang geprüft werden. Einloggen und "ps" eingeben, es erscheint eine Liste mit allen Diensten die auf der Box laufen. Erscheinen dort nmbd -D und smbd -D laufen die Dienste bereits und müssen nicht installiert werden. Das Prinzip entspricht exakt dem der Windows-Freigaben und so kann man die Dreambox sogar als Netzlaufwerk einbinden.
Wenn Samba korrekt läuft, kann die Dreambox vom PC aus erreicht werden über:
\\dreambox\Harddisk\movie\

DM 7000

Die Konfiguration von Samba auf der Dreambox findet in der Datei "smb.conf" im Verzeichnis "/var/etc" statt.

DM 7020

In dem Image vom 12.9.2005 für die 7020 ist Samba standardmäßig installiert und vorkonfiguriert, ein Update auf diese Software Version ist deshalb empfehlenswert. Durch ein entsprechendes Firmwareupgrade sind die die weiteren in diesem Punkt erklären Schritte nicht mehr von Nöten.

  1. Box muss einen Internetzugang haben
  2. Per Telnet auf der Box einloggen
  3. Folgende Befehle eingeben
    ipkg update
    ipkg install samba
  4. Die Fehlermeldung bzgl. modutils.sh kommt immer und kann ignoriert werden
  5. Am Ende dieser Seite den Inhalt des Kastens smb.conf in einen Text Editor (siehe unten bei ACHTUNG) kopieren, die jeweiligen Einträge anpassen und per FTP (z.B. mit dem Total Commander http://www.ghisler.com/) in die DreamBox in den Ordner /usr/lib kopieren.
  6. Den Ordner /usr/private anlegen.
  7. Zum automatischen Starten das Script (siehe Weblinks) mit der rechten Maustaste anklicken und mit "Ziel speichern unter" herunterladen und unter selbem Namen unverändert per FTP in den Ordner etc/init.d kopieren.
  8. Rechte des Scriptes setzen: chmod 755 samba
  9. Mit Telnet in den Ordner /etc/rc2.d gehen und ln -s /etc/init.d/samba S90samba eingeben
  10. Manuell starten kann man Samba dann mit "/etc/init.d/samba start". ACHTUNG: Selbst wenn man mit "cd /etc/init.d" in das Verzeichnis des Scriptes gewechselt hat, muß man trotzdem den vollen Pfad eintippen oder "./samba start" eingeben sonst bekommt man den Fehler "-sh: /etc/init.d/samba: not found"
  11. Um sich vom PC mit der Festplatte der Box zu verbinden muß man dann eingeben: "\\Dreambox\Festplatte" oder man benutzt die Netzwerkumgebung

Editieren der Dateien

ACHTUNG:
Die Dateien "smb.conf" und "samba" müssen UNBEDINGT im Unix Format gespeichert werden! Windows verwendet nämlich zwei Steuerzeichen für einen Zeilenumbruch, nämlich Carriage Return und Linefeed, Linux hingegen braucht nur ein Steuerzeichen, nämlich Linefeed. (Auch muß hinter der letzten Zeile ein Cariage Return stehen) Hat man z.B. den Inhalt der Datei "samba" nach Linksklick auf obigen Link aus dem Browser in einen Text Editor wie Wordpad kopiert und in die Dreambox geladen, hat man schon alles falsch gemacht! Man bekommt dann nach Eingabe von "/etc/init.d/samba start" die Fehlermeldung "Can't open".
Hat man unter Windows keinen Text Editor (wie z.B. Ultra Edit http://www.ultraedit.com), mit dem man im Unix Format speichern kann, kann man auch per Telnet mit dem Linux Editor "vi" alle "^M" Zeichen am Ende jeder Zeile manuell entfernen. vi ist aber aufgrund der extrem umständlichen Bedienung nur für Experten geeignet. (Beschreibung von vi siehe dieses Wiki) Besser ist der Midnight Commander für Linux "mcedit" falls auf der Dreambox installiert.

Am einfachsten geht es jedoch mit dem Tuxbox Commander. Da muss man nur die Datei auswählen, dann den Editor starten (Taste 4) und dann mit blau die Datei Linux-konform machen.

Bug

Der Sambaserver zeigt in älteren Images nicht die richtigen Größen an. Eine 1GB große Datei auf der Festplatte hat laut Sambaserver die Größe 522 PB (588.571.628.207.855.301 Bytes)!
Dieser Fehler tritt in neueren Images nicht mehr auf.

Wir empfehlen generell die Firmware auf die aktuellste offizielle (Final oder Beta) von DMM zu aktualisieren da in neueren Images auch viele Fehler behoben sind.
Sollte man aus bestimmten gründen nicht auf die aktuellste Firmware updaten wollen, so gibt es zur Behebung des Fehlers in älteren Images folgenden Workaround: Man ersetzt die originalen Samba-Dämonen nmbd und smbd durch ältere Versionen der DM 7000.

Vorgehensweise:

  1. Zunächst die laufenden Dämonen anhalten:
    /etc/init.d/samba stop
    (Achtung: immer den vollen Pfad eintippen!)
  2. Eine ältere Samba-Version (2.2.5) hier herunterladen: http://dreambox.gamesquad.nl/removed.html.
    In diesem Archiv (samba.tar.gz) im Unterordner /bin, befinden sich die "alten" Dämonen "nmbd" und "smbd".
    • Möglichkeit 1.
      Das samba.tar.gz auf die Dreambox kopieren (nach /var/tmp) und dort mit
      tar -xvzf samba.tar.gz
      entpacken.
      Die "alten" nmbd und smbd in das Verzeichnis /usr/sbin kopieren; also die der Original-Installation überschreiben.
    • Möglichkeit 2.
      Die Datei samba.tar.gz unter Windows entpacken (z.B. mit dem Total Commander (http://www.ghisler.com/)) und daraus die Dateien smbd und nmbd per FTP nach /usr/sbin kopieren.
      Dann:
      chmod 755 /usr/sbin/smbd
      chmod 755 /usr/sbin/nmbd
  3. Auf der DM 7020 noch einen Symbolischen-Link anlegen, da die Samba-Versionen der DM 7000 die Konfigurationsdateien unter /etc/smb.conf erwarten:
    ln -s /usr/lib/smb.conf /etc/smb.conf
  4. Danach /etc/init.d/samba start
  5. Mit "ps" nachprüfen ob Samba läuft, es müssen smbd und nmbd aufgelistet werden!
    Falls Samba nicht gestartet hat, im Log nachschauen was das Problem ist: Die Logs liegen unter /var/tmp
  6. Ggf. muß in der /etc/hosts eine Zeile angefügt werden mit "<ip-der-dreambox> <name-der-dreambox>" also z.B.
    192.168.0.21       dreambox
    Hier NICHT den Netbios Namen aus der smb.conf eintragen, sondern den Computer Namen. Dieser wird angezeigt wenn man sich über Telnet einloggt: Wenn da steht "root@dreambox:~#" ist der Computername "dreambox".
    ACHTUNG: In diesem Fall kann man kein DHCP mehr verwenden sondern muß die IP der Box festlegen.


Jetzt zeigt auch der Windows-Explorer die Dateigrößen richtig an und man kann Filme von der Dreambox-Platte direkt mit dem VLC auf dem PC ansehen.

Beispielhafte smb.conf

[global]
load printers = no
guest account = root
log file = /var/tmp/smb.log
security = share
encrypt passwords = yes
server string = DM7000S
workgroup = Workgroup Hier eigene Workgroup eintragen
netbios name = DreamBOX_alpha
os level = 0
preferred master = no
local master = no
domain master = no
interfaces = 127.0.0.1 xxx.xxx.xxx.xxx IP der Box
hosts deny = all
hosts allow = 127. xxx.xxx.xxx. Hier die ersten drei Zahlen der Dreambox IP eintragen 
oder die volle IP deines PCs falls nur diesem Computer der Zugriff erlaubt sein soll
name resolve order = lmhosts host bcast character set = ISO8859-15
[Konfiguration] comment = Konfiguration path = /var read only = no public = yes guest ok = yes browseable = yes
[Festplatte] comment = Festplatte path = /hdd read only = no public = yes guest ok = yes
[USB] comment = USB path = /var/mnt/usb read only = no public = yes guest ok = yes
[Filme] comment = Filme path = /hdd/movie read only = no public = yes guest ok = yes
[Musik] comment = Musik path = /hdd/mp3 read only = no public = yes guest ok = yes


Time Server

Die Dreambox kann auch als Timeserver für Unix und Windows Rechner dienen. In der smb.conf hierzu folgenden Eintrag unter [global] hinzufügen

time server = True

  • Bei Windows im Autostart-Order folgender Batch:
    • NET TIME \\<dreambox-ip> /SET /YES
  • Bei Linux/Unix hab ich in der /etc/init.d/smbd eingefuegt
    • net time set -S <dreambox-ip> (net ist Teil der Samba(7)-Suite)

Weblinks




Grundlagen - Installation - Hardware - Entwicklung - Portal

Enigma - Enigma2 - Plugins - Spiele - Software - Tools - Howto - FAQ - Images

Hauptseite - News - Alle Artikel - Bewertungen - Gewünschte Seiten - Index - Neue Artikel - Impressum - Meilensteine - Team

Hilfeportal - Seite bearbeiten - Bilder - Links - Tabellen - Textgestaltung