IPKG und pyLoad nach DSM 5.0 Update auf Synology wiederherstellen

IPKG und pyLoad nach DSM 5.0 Update auf Synology wiederherstellen

Nach einem Synology-DSM-Update auf Version 5.0 stellt man oft fest, dass IPKG nicht mehr funktioniert und pyLoad als Download-Manager nicht mehr startet. Das Update überschreibt oder verschiebt wichtige Dateien. Mit etwas Handarbeit lässt sich alles wiederherstellen.

Was hat DSM 5.0 verändert?

DSM 5.0 brachte intern mehrere Änderungen mit, die Drittanbieter-Software betreffen. Die Verzeichnisstruktur unter /opt wurde in manchen Fällen zurückgesetzt, Python-Packages wurden überschrieben, und Autostart-Mechanismen haben sich geändert. IPKG selbst (der Package-Manager aus dem Optware/Bootstrap-Projekt) ist grundsätzlich noch kompatibel, muss aber neu aufgesetzt werden.

IPKG Bootstrap neu installieren

Als erstes prüfen, ob IPKG noch vorhanden ist:

ls /opt/bin/ipkg

Wenn der Befehl fehlt, muss der Bootstrap-Installer erneut ausgeführt werden. Die Synology-spezifischen Bootstrap-Pakete findet man im Synology Community Forum oder direkt beim Optware-Projekt. Den richtigen Bootstrap für das Prozessormodell auswählen (x86, ARM, PowerPC):

# SSH-Zugriff auf die Synology (als root)
# Bootstrap herunterladen (Beispiel fuer x86-basierte NAS)
wget -O /tmp/bootstrap.sh http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/bootstrap.sh
chmod +x /tmp/bootstrap.sh
/tmp/bootstrap.sh

Nach dem Bootstrap-Lauf ist IPKG wieder verfügbar und der PATH enthält /opt/bin.

Python und Abhängigkeiten installieren

pyLoad ist in Python geschrieben und benötigt Python 2.7 mit mehreren Bibliotheken. Diese werden über IPKG installiert:

ipkg update
ipkg install python27
ipkg install py27-setuptools
ipkg install py27-crypto
ipkg install py27-openssl
ipkg install py27-pycurl
ipkg install wget

Nach der Installation prüfen, ob Python korrekt aufrufbar ist:

/opt/bin/python --version
# Ausgabe sollte sein: Python 2.7.x

pyLoad neu installieren

Wenn pyLoad noch im /opt-Verzeichnis vorhanden ist, reicht oft ein Neustart. Wenn nicht, muss pyLoad über pip neu installiert werden:

# pip installieren (falls nicht vorhanden)
/opt/bin/python /opt/lib/python2.7/site-packages/easy_install.py pip

# pyLoad installieren
/opt/bin/pip install pyload

Alternativ direkt von GitHub installieren, wenn die pip-Version veraltet ist:

wget https://github.com/pyload/pyload/archive/stable.tar.gz -O /tmp/pyload.tar.gz
tar xzf /tmp/pyload.tar.gz -C /opt/
mv /opt/pyload-stable /opt/pyload

Autostart für DSM 5.0 konfigurieren

DSM 5.0 hat den Autostart-Mechanismus geändert. Eigene Dienste müssen jetzt über ein Init-Script in /usr/local/etc/rc.d/ gestartet werden. Das Script muss ausführbar sein und die Parameter start und stop unterstützen:

#!/bin/sh
# /usr/local/etc/rc.d/pyload.sh

PYLOAD_HOME="/opt/pyload"
PYTHON="/opt/bin/python"
PIDFILE="/var/run/pyload.pid"

case "$1" in
    start)
        echo "Starting pyLoad..."
        cd $PYLOAD_HOME
        $PYTHON pyLoadCore.py --daemon --pidfile $PIDFILE
        ;;
    stop)
        echo "Stopping pyLoad..."
        if [ -f $PIDFILE ]; then
            kill $(cat $PIDFILE)
            rm $PIDFILE
        fi
        ;;
    restart)
        $0 stop
        sleep 2
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
chmod +x /usr/local/etc/rc.d/pyload.sh
/usr/local/etc/rc.d/pyload.sh start

Webinterface prüfen

Nach dem Start ist das pyLoad-Webinterface erreichbar unter:

http://<NAS-IP>:8000

Beim ersten Start nach einer Neuinstallation fragt pyLoad nach Benutzername, Passwort und Downloadverzeichnis. Die alte Konfiguration ist meist noch in /opt/pyload/config/ vorhanden und wird automatisch erkannt.

Fazit

DSM-Updates sind auf Synology-NAS regelmäßig ein Ärgernis für Nutzer von IPKG und Drittanbieter-Software. Mit dem beschriebenen Vorgehen lässt sich IPKG schnell wiederherstellen und pyLoad betriebsbereit machen. Für DSM 6.0 und neuer empfiehlt Synology den Umstieg auf offizielle Pakete oder Docker-Container – pyLoad ist als Docker-Image verfügbar und damit deutlich robuster gegenüber DSM-Updates.