MountRemoteVDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Updated to allow for mounting without fstab)
(Keine fstab mehr)
Zeile 17: Zeile 17:
  
 
===Vorbereitung===
 
===Vorbereitung===
Zum Einhängen (mount) der Samba-Freigabe des entfernten VDR (vdr2) brauchen wir einen Eintrag in die fstab des lokalen VDR.
+
Zum Einhängen (mount) der Samba-Freigabe des entfernten VDR (vdr2) brauchen wir einen lokalen "Mountpoint", Login-Informationen und den Freigabenamen. Diese Werte stehen später in den Konfigurationsdateien, aber hier machen wir alles noch zu Fuss.
Damit wir nicht versehentlich die Filme des vdr2 löschen, verwenden wir eine "readonly" Freigabe (siehe weiter unten).
+
  
Zu /etc/fstab hinzufügen:
+
Die Login-Informationen werden in einer Datei gespeichert damit sie vor neugierigen Blicken etwas sicherer sind.
<pre>
+
//vdr2/video_readonly /var/lib/video.00/VDR2 cifs noauto,credentials=/etc/.sambacredentials 0 0
+
</pre>
+
 
+
Die Datein /etc/.sambacredentials muss erzeugt werden und enthält die Samba-Login-Informationen. Dies vermeidet diese sensiblen Informationen in der leicht einsehbaren fstab.
+
  
/etc/.sambacredentials
+
/etc/vdr/MountRemoteVDR/.sambacredentials
 
<pre>
 
<pre>
 
username=NAME
 
username=NAME
Zeile 33: Zeile 27:
 
</pre>
 
</pre>
  
Nicht vergessen die Credentials vor neugierigen Blicken zu schützen:
+
Nicht vergessen die Login-Informationen vor neugierigen Blicken zu schützen:
 
<pre>
 
<pre>
sudo chmod 600 /etc/.sambacredentials
+
sudo chmod 600     /etc/vdr/MountRemoteVDR/.sambacredentials
 +
sudo chown vdr:vdr /etc/vdr/MountRemoteVDR/.sambacredentials
 
</pre>
 
</pre>
  
Und den Montageort erzeugen.
+
Und den "Mountpoint" erzeugen.
 
<pre>
 
<pre>
 
sudo mkdir /var/lib/video.00/VDR2
 
sudo mkdir /var/lib/video.00/VDR2
Zeile 44: Zeile 39:
 
</pre>
 
</pre>
  
Hinweis:
+
Hinweis: Die ältere Version der Scripte verwendete noch Einträge in der fstab-Datei, aber damit ist der Plegeaufwand höher.
Man kann sich den Eintrag in der fstab sparen wenn man den Mountscript etwas abwandelt.
+
<pre>
+
mount -t cifs -o credentials=/etc/.sambacredentials  //vdr2/video_readonly /var/lib/video.00/VDR2
+
</pre>
+
 
+
Dann kann man sogar ein paar Werte aus der Konfiguration verwenden. Dies werde ich erproben und später hier einbauen.
+
Vorschlag:
+
<pre>
+
mount -t cifs -o credentials=$CREDENTIALS  $SHARE $MOUNTPOINT
+
</pre>
+
Die Werte $CREDENTIALS und $SHARE  müssen dann natürlich in der Konfiguration zu finden sein.
+
  
 
===Script zum Anmelden===
 
===Script zum Anmelden===

Version vom 6. April 2010, 22:47 Uhr

Inhaltsverzeichnis

Beschreibung

Diese Skripte ermöglichen das Starten eines weiteren VDR per WOL (Wake On Lan). Danach wird das entfernte Aufnahmeverzeichnis automatisch im lokalen Aufnahmeverzeichnis eingehängt.

Die Bedienung erfolgt über neue Befehle im VDR-Menu.

Lokale Konfigurationen

Voraussetzungen

Diese Beschreibung ist für Debian (Lenny) und Ubuntu (Intrepid, Karmic). Hier müssen wir ein paar Werkzeuge Installieren.

sudo apt-get install wakeonlan


Vorbereitung

Zum Einhängen (mount) der Samba-Freigabe des entfernten VDR (vdr2) brauchen wir einen lokalen "Mountpoint", Login-Informationen und den Freigabenamen. Diese Werte stehen später in den Konfigurationsdateien, aber hier machen wir alles noch zu Fuss.

Die Login-Informationen werden in einer Datei gespeichert damit sie vor neugierigen Blicken etwas sicherer sind.

/etc/vdr/MountRemoteVDR/.sambacredentials

username=NAME
password=PASSWORT

Nicht vergessen die Login-Informationen vor neugierigen Blicken zu schützen:

sudo chmod 600     /etc/vdr/MountRemoteVDR/.sambacredentials
sudo chown vdr:vdr /etc/vdr/MountRemoteVDR/.sambacredentials

Und den "Mountpoint" erzeugen.

sudo mkdir /var/lib/video.00/VDR2
sudo chown vdr:vdr /var/lib/video.00/VDR2

Hinweis: Die ältere Version der Scripte verwendete noch Einträge in der fstab-Datei, aber damit ist der Plegeaufwand höher.

Script zum Anmelden

Er wird vom VDR Menu aufgerufen.

/usr/lib/vdr/mount-remote-vdr.sh

#!/bin/bash
set -x
. /etc/vdr/MountRemoteVDR/common.conf
. /etc/vdr/MountRemoteVDR/$1.conf
#wake
wakeonlan -i $BROADCAST_DOMAIN $MAC
# wait until it is up
ping $NAME -c1
while [ "$?" != "0" ]
do
    sleep 2
    ping $NAME -c1
done

# mount
if [ "x$CREDENTIALS" != "x" ]; then
mount -t cifs -o credentials=$CREDENTIALS $SHARE $MOUNTPOINT
else
mount $MOUNTPOINT
fi

touch $VIDEODIR/.update

svdrpsend="/usr/lib/vdr/svdrpsend.pl"
$svdrpsend MESG $NAME ist nun aktiv

Eventuell kann man den Script verbessern indem man mit smbclient prüft ob die Samba-Freigabe wirklich schon aktiv ist.

Script zum Abmelden

Er wird vom VDR Menu aufgerufen.

/usr/lib/vdr/umount-remote-vdr.sh

#!/bin/bash
. /etc/vdr/MountRemoteVDR/common.conf
. /etc/vdr/MountRemoteVDR/$1.conf

umount -f $MOUNTPOINT
touch $VIDEODIR/.update

Konfigurationsdateien

Für die Konfigurationsdateien legen wir ein neues Verzeichnis unterhalb von /etc/vdr an.

sudo mkdir MountRemoteVDR
sudo chown vdr:vdr MountRemoteVDR

Gemeinsame Konfiguratinen wie das Videoverzeichnis und die Broadcast domain werden hier gespeichert:

/etc/vdr/MountRemoteVDR/common.conf

BROADCAST_DOMAIN="192.168.1.255"
VIDEODIR=/var/lib/video.00

Die Konfiguration enthält unter anderem den Namen und die MAC Adresse des entfernten VDR.

/etc/vdr/MountRemoteVDR/vdr2.conf

NAME="vdr2"
MAC="00:77:88:99:aa:ff"
MOUNTPOINT="$VIDEODIR/VDR2"
SHARE=//$NAME/video_readonly
CREDENTIALS=/etc/vdr/MountRemoteVDR/.sambacredentials

Menubefehle

Es fehlen noch die Befehle für das VDR-Menu:

/usr/share/vdr/command-hooks/commands.MountRemoteVDR.conf

VDR2 anmelden : echo "/usr/lib/vdr/mount-remote-vdr.sh vdr2"  | at now
VDR2 abmelden : echo "/usr/lib/vdr/umount-remote-vdr.sh vdr2" | at now

Weitere VDRs

Hat man noch mehr VDRs, kann man die leicht hinzufügen. Einfach die Mountpunkte erzeugen (fstab) und noch eine Konfigurationsdatei erstellen, sowie die Menubefehle hinzufügen.

Zu /etc/fstab hinzufügen:

//vdr3/video_readonly /var/lib/video.00/VDR3 cifs noauto,credentials=/etc/.fbcredentials 0 0
sudo mkdir /var/lib/video.00/VDR3
sudo chown vdr:vdr /var/lib/video.00/VDR3


/etc/vdr/MountRemoteVDR/vdr3.conf

NAME="vdr3"
MAC="00:77:88:99:aa:03"
MOUNTPOINT="$VIDEODIR/VDR3"

/usr/share/vdr/command-hooks/commands.MountRemoteVDR3.conf

VDR3 anmelden : echo "/usr/lib/vdr/mount-remote-vdr.sh vdr3"  | at now
VDR3 abmelden : echo "/usr/lib/vdr/umount-remote-vdr.sh vdr3" | at now

Konfiguration des entfernten VDR

Samba Installieren

sudo apt-get install samba

Wir erzeugen eine Samba Freigabe in /etc/samba/smb.conf sowie den erforderlichen Samba-User. Wir sperren das Schreiben damit der andere VDR nicht versehentlich unsere Filme aufräumt.

[video_readonly]
   comment = video
   browseable = yes
   writable = no
   path = /video
   public = yes
   create mask = 0655


sudo smbpasswd NAME PASSWORT

Links