IPKG
Einleitung
Um die Installation von zusätzlicher Software zu vereinfachen, verwendet man das Paketverwaltungssystem IPKG (Itsy Package Management System). IPKG verwendet dabei bereits prozessorspezifische Programmpakete, so dass bei der Installation zusätzlicher Software nicht mehr auf die Kompatibilität zum verwendeten Prozessor geachtet werden muss. IPKG ist nicht Bestandteil der Synology-Firmware und muss zunächst selbst installiert werden.
Vorbereitung
Die Installation von IPKG muss auf den vorhandenen Prozessortyp abgestimmt sein. Welchen Prozessortyp besitzt mein System?
- Für ARM (armv5tejl): http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/syno-x07-bootstrap_1.2-7_arm.xsh
- Für PowerPC (ppc_6xx): http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/ds101-bootstrap_1.0-4_powerpc.xsh
- Für PowerPC (ppc_85xx): http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-7_powerpc.xsh
- Für Marvell Kirkwood 88F6281: http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/syno-mvkw-bootstrap_1.2-7_arm.xsh
- Für Intel Atom: http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh
Neue, jedoch noch ungetestete Adressen gibt es hier: http://www.synology-forum.de/showthread.html?p=106324
Installation
- Mit SSH/Telnet !als root, nicht als admin! auf der Synology Station einloggen. Das Passwort ist das gleiche wie für den user admin
- Ins Verzeichnis public wechseln (wenn nicht vorhanden, muss das Verzeichnis erstellt werden)
cd /volume1/public
- Die prozessorspezifische Datei mit wget herunterladen - Beispiel:
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/syno-x07-bootstrap_1.2-7_arm.xsh
- Das .xsh Skript starten - Beispiel:
sh syno-x07-bootstrap_1.2-7_arm.xsh
- Herunterladen des aktuellen Paketverzeichnisses mit
ipkg update
- Neustart des Systems
Die .xsh Datei kann jetzt aus dem Verzeichnis public gelöscht werden.
Weitergehende Installation IPKG
Leider hat die Originale IPKG Installation ein paar Nachteile. Vor allem kann es vorkommen, dass die DS nicht mehr korrekt heruntergefahren wird, wenn man nicht noch ein paar Dinge anpasst, welche nachfolgend beschrieben werden.
- Altes Startup Script anpassen
Im Script /etc/rc.local werden die Optware Scripte aufgerufen. Bevor man ein neues Startup Scrtip etablieren kann, muss der alte Eintrag entfernt oder wenigstens auskommentiert werden. Der entsprechende Eintrag könnte nach der änderung so aussehen:
# Optware setup #[ -x /etc/rc.optware ] && /etc/rc.optware start
- Seperates Startup Script für Optware
Ein neues Startup Script sorgt dafür, dass die Optware Scripte doch wieder ausgeführt werden. Es sollte dabei darauf geachtet werden, dass die Originalen Optware Startup Scripte nicht unbedingt gut für Start/Stop betrieb geeignet sind und daher sollte vor deren verwendung noch einmal sichergestellt werden, dass diese Scripts ordentlich mittels start und stop gesteuert werden können. Dann kann die Diskstation die Optware Dienste sauber hoch und runter fahren. Nicht verschwiegen werden soll, dass das neue Optware Startup Script die Optware Dienste erst gegen Ende des Startup Prozesses startet und nicht wie das Alte Script, ganz am Anfang.
Das neu Optware Startup Script sollte unter /usr/local/etc/rc.d/optware.sh abgelegt werden.
#!/bin/sh # # Optware setup # Alternatives Optware Startup und Shutdown Script /usr/local/etc/rc.d/optware.sh # case $1 in start) for i in /opt/etc/init.d/S??* ;do # # Ignore dangling symlinks (if any). [ ! -f "$i" ] && continue # case "$i" in *.sh) # Source shell script for speed. ( trap - INT QUIT TSTP set start . $i ) ;; *) # No sh extension, so fork subprocess. $i start ;; esac done ;; # stop) # for i in /opt/etc/init.d/S??* ;do # # Ignore dangling symlinks (if any). [ ! -f "$i" ] && continue # case "$i" in *.sh) # Source shell script for speed. ( trap - INT QUIT TSTP set stop . $i ) ;; *) # No sh extension, so fork subprocess. $i stop ;; esac done ;; # *) echo "Usage: $0 [start|stop]" ;; esac # End
- Mount Bind entfernen
Nach dem entfernen des Originalen Startup Scripts, wird /opt nicht mehr per mount bind eingebunden. Das ist auch gut so, da man ohne Probleme auch einen Symbolischen Link verwenden kann.
Umount eines ggf. noch gemounteten /opt
umount /opt
Falls es beim umount zu Problemen kommen sollte, weil noch Dienste der Optware laufen, müssen diese vorher beendet werden. Danach klappt es auch mit dem umount. Um den Symbolischen Link zu setzen wird folgendermaßen vorgegangen:
rmdir /opt ln -s /volume1/@optware /opt
Fertig zum Testen. Wenn man alles richtig gemacht hat, werden die Optware Dienste beim Starten ausgeführt und beim Herunterfahren sauber beendet. Kein Hängenbleiben der DS beim Reboot mehr.
Alternative IPKG Startup Scripts
Startup Script atd
#!/bin/sh # # Startup script for atd # # Stop myself if running PIDFILE=/var/run/atd.pid # start() { /opt/sbin/atd & echo "Optware startup atd" } # stop() { [ -f ${PIDFILE} ] && kill `cat ${PIDFILE}` echo "Optware shutdown atd" } # case "$1" in start) start ;; stop) stop ;; restart) stop sleep 1 start ;; *) echo "Usage: $0 (start|stop|restart)" exit 1 ;; esac # End
Backup Script Optware / IPKG Installation
Das nachfolgende kleine Backup Script soll als Beispiel dienen, wie die Optware Installation gesichert werden kann.
#!/bin/sh # # Script zum Backup der Optware incl. der Einstellungen # OPTWARE="/volume1/@optware /etc/rc.optware /etc/rc.local /usr/local/etc/rc.d/optware.sh" BACKUPDIR="/volume1/homes/janus" # BACKUPFILE=optware-backup-`date +%a`.tar.bz2 tar -cjf ${BACKUPDIR}/${BACKUPFILE} ${OPTWARE} # # End
externe Links, Mirrors
Mirror wenn ipkg.nslu2-linux.org down ist