Nachfolgendes Thema kam hier auf und ich habe eine kleine Anleitung versprochen.
Hier ist sie also, ohne Anspruch auf Vollständigkeit und Aktualität.
Bitte beachten: das Paket Debian Chroot ist nicht für alle Architekturen der Synos erhältlich!
Debian chroot auf der Syno installieren
- ssh aktivieren:
Control Panel -> Terminal & SNMP -> ‚enable ssh‘, Port ändern ‚2022‘
- Syno Community zur Paketverwaltung hinzufügen
Package Center -> Settings -> General -> Trust Level : ‚Synology Inc. and trusted publishers‘
- Package Sources -> Add: Syno Community, http://packages.synocommunity.com/
- Refresh
- Rubrik Community auswählen und Python (nicht Python3!) installieren
- Debian Chroot installieren
- per ssh an der Syno anmelden:
ssh -p 2022 admin@<SYNO>
- root werden:
sudo -i
- Chroot Status prüfen:
/var/packages/debian-chroot/scripts/start-stop-status status
- Chroot starten:
/var/packages/debian-chroot/scripts/start-stop-status start
- ins Chroot wechseln:
/var/packages/debian-chroot/scripts/start-stop-status chroot
Grundkonfiguration der Chroot-Umgebung (Danke an HanG321, http://www.hang321.net/2014/08/16/debian-chroot-on-dsm/)
- Paketquellen auf deutschen Debian Mirror umstellen:
sed -i.`date +%Y%m%d` 's/fr.debian.org/de.debian.org/g' /etc/apt/sources.list
- Paketcache aktualisieren und System auf den neuesten Stand bringen:
apt-get update
apt-get install aptitude
aptitude update
aptitude upgrade
- locale und tzdata konfigurieren:
aptitude install locales
dpkg-reconfigure locales (de_DE@utf-8)
dpkg-reconfigure tzdata (Europe/Berlin)
- chroot am Prompt kenntlich machen:
vi /etc/debian_chroot
chroot
Der Prompt sieht nach der Neuanmeldung dann so aus:
(chroot)root@:~#
- sshd konfigurieren:
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
Port 2122
PermitRootLogin yes
PasswordAuthentication yes
Wer hier mehr Sicherheit möchte, kann auch den default lassen und ssh keys hinterlegen.
- sshd neu starten:
service ssh restart
- Ab jetzt kann der sshd im Chroot direkt angesprochen werden:
ssh -p 2122 root@<SYNO>
- Grundausstattung im Chroot installieren (ganz nach Gusto…)
aptitude install pciutils usbutils lsscsi mc screen htop
- Basisumgebung zum Bauen von EPGD usw. vorbereiten
aptitude install subversion git build-essential
- MySQL Server installieren und starten
aptitude install mysql-server
service mysql start
EPGD installieren
- EPGD-Sourcen herunterladen
mkdir ~/install; cd ~/install
git clone https://projects.vdr-developer.org/git/vdr-epg-daemon.git/
- EPGD-Plugin-Sourcen herunterladen
cd ~/install/vdr-epg-daemon/PLUGINS
mkdir tvm tvsp
Sourcen der Plugins entsprechend herunterladen und in die Verzeichnisse packen
- Requirements für EPGD installieren
Ist recht umfangreich, aber gut im README beschrieben, daher spare ich mir das hier ?
- Datenbank initial anlegen (laut README)
mysql -u root -p
CREATE DATABASE epg2vdr charset utf8;
CREATE USER 'epg2vdr'@'%' IDENTIFIED BY 'epg';
GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'%';
GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'localhost' IDENTIFIED BY 'epg';
FLUSH PRIVILEGES;
EXIT;
- EPGD samt Plugins bauen und Konfiguration vorbereiten
cd ~/install/vdr-epg-daemon
vi Make.config
INIT_SYSTEM = none
make
make install
cp contrib/epgd.init.d /etc/init.d/epgd
cp contrib/epghttpd.init.d /etc/init.d/epghttpd
mkdir /etc/epgd
cp configs/* /etc/epgd/.
cp PLUGINS/*/configs/*.x?l /etc/epgd/.
- stored procedure für EPGD/MySQL bauen und installieren
cd ~/install/vdr-epg-daemon/epglv
make
make install
- Konfiguration des EPGD und der Plugins in /etc/epgd/epgd.conf vornehmen
- /etc/epgd/channelmap.conf anlegen
- Channellogos für EPGHTTPD unter /var/epgd/www/channellogos/ anlegen
- Services starten
service epgd start
service epghttpd start
- LOG der Syno kontrollieren: geht nicht im chroot, da hier kein syslog daemon läuft, also ssh auf die Syno und ein tail -f /var/log/messages starten
Services beim Booten der Syno starten lassen
Das Paket Debian Chroot kommt mit einem grafischen Tool, welches im Startmenü der Syno zu finden ist.
Unter Services können hier die beim booten zu startenden Services entsprechend hinterlegt werden.
Ich starte hier ssh, mysql, epgd und epghttpd:
Einfach alle Services analog zum Screenshot für ssh anlegen.
HTH!
Cheers,
Ole