====== Synology Diskstation ====== NAS auf Basis von Linux ===== Entware===== ''optware'' und der Nachfolger ''optware-**ng**'' werden nicht mehr gepflegt. Hier wird daher die Installation von ''entware'' beschrieben. ==== Installation ==== * Per SSH einloggen * zu ''root'' wechselnsudo -i * permanentes Verzeichnis erstellen: mkdir -p /volume1/@Entware/opt * Sicherstellen, dass ''/opt/'' leer ist. Das Verzeichnis wird in diesem Schritt entfernt.''/opt/'' entfernen und ''bind'' erstellen:rm -rf /opt mkdir /opt mount -o bind "/volume1/@Entware/opt" /opt * CPU-Typ auszeigen: uname -m * Bootstrap-Skript nach CPU-Typ auswählen: ^CPU^ Bootstrap Skript^ |armv8 (aarch64) Realtek RTD129x| wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | /bin/sh| |armv5|wget -O - http://bin.entware.net/armv5sf-k3.2/installer/generic.sh | /bin/sh| |armv7|wget -O - http://bin.entware.net/armv7sf-k3.2/installer/generic.sh | /bin/sh| |x64|wget -O - http://bin.entware.net/x64-k3.2/installer/generic.sh | /bin/sh| * Unter ''DSM'' -> ''Systemsteuerung'' -> ''Aufgabenplaner'' folgendes auswählen: ''Erstellen'' -> ''Ausgelöste Aufgabe'' -> ''Benutzerdefiniertes Skript'': * Unter ''Allgemein'': Vorgang: Entware Benutzer: root Ereignis: Hochfahren Vor-Aufgabe: leer lassen * Unter ''Aufgabeneinstellung'' -> ''Befehl ausführen'': unten stehendes Skript einfügen: #!/bin/sh # Mount/Start Entware mkdir -p /opt mount -o bind "/volume1/@Entware/opt" /opt /opt/etc/init.d/rc.unslung start # Add Entware Profile in Global Profile if grep -qF '/opt/etc/profile' /etc/profile; then echo "Confirmed: Entware Profile in Global Profile" else echo "Adding: Entware Profile in Global Profile" cat >> /etc/profile <<"EOF" # Load Entware Profile . /opt/etc/profile EOF fi === Links === * [[https://github.com/Optware/Optware-ng|optware-ng Homepage (veraltet)]] * [[https://gist.github.com/ffeldhaus/226f2c5743a7f631806d|Bootstrap the Synology DS215j with optware-ng (veraltet)]] * [[https://github.com/Entware/Entware/wiki/Install-on-Synology-NAS|Install entware on Synology NAS]] ==== nützliche Pakete ==== opkg install nano git unzip ===== Unison ===== [[Unison]] ist nicht über entware erhältlich, deshalb muss man es selbst kompilieren. Unison ist in ocaml programmiert, deshalb braucht man dafür den ocaml-Compiler. Dieser ist ebenfalls nicht über entware erhältlich und muss daher auch [[synology#ocaml|selbst kompiliert]] werden. Unison ist anspruchsvoll, was die Kompatibilität zwischen verschiedenen [[unison#versionen|Versionen]] angeht. * [[synology#ocaml|ocaml]] selbst kompilieren (''gcc'' und ''make'' werden dort installiert) * [[https://github.com/bcpierce00/unison/releases|Unison Sourcen]] herunterladen und entpacken z.B. nach ''/volume1/@tmp'' * Kompilieren: make UISTYLE=text NATIVE=true * Executable ''unison'' aus dem Verzeichnis ''src'' in ein Verzeichnis im ''PATH'' kopieren bzw. ''PATH'' entsprechend anpassen ''NATIVE=true'' erzeugt schnelleren, nativen Code. Auf manchen ARM-Architekturen führt das u.U. zu falschem Code, siehe [[https://github.com/ocaml/ocaml/pull/1411|Bugreport]]. Dies kann zu ''Failed to fingerprint file "/dir/file": the file keeps on changing'' [[https://unison-users.yahoogroups.narkive.com/SIOIUtJI/can-t-fingerprint-after-update-1-attachment|führen]]. Auch PowerPC e500v2 ist betroffen (mindestens in der Kombination Unison 2.51.5 kompiliert mit Ocaml 4.12.0). Als Abhilfe kann man auf diesen Architekturen dann mit ''NATIVE=false'' zu langsameren Bytecode kompilieren. ===== Ocaml ===== * Tools installieren opkg install gcc make * [[https://ocaml.org/releases/|ocaml Sourcen]] herunterladen und entpacken z.B. nach ''/volume1/@tmp'' * Konfigurieren: ./configure --prefix /opt * Kompilieren: make world.opt * Installieren (als root) make install ===== rsync ===== Damit das NAS als Zielserver für rsync benutzt werden kann, muss seit DSM 5.1 oder 5.2 unter Hauptmenü -> Datensicherung & Replikation -> Sicherungsdienste -> Netzwerksicherungsdienst aktivieren gesetzt sein. Andernfalls erscheint der Fehler Permission denied, please try again. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0] Unter DSM 7 liegt diese Einstellung unter Systemsteuerung -> Dateidienste -> rsync. ===== screen ===== [[screen]] kann über ''opkg install screen'' installiert werden. ==== Fehler "Cannot find termcap entry for 'xterm-256color'" ==== Die Ursache für die Fehlermeldung ''Cannot find termcap entry for %%'%%xterm-256color%%'%%'' ist, dass die termcap-Datei unter ''/opt/etc/termcap'' keinen Eintrag für ''xterm-256color'' enthält, das von neueren Version von ''gnome-terminal'' (und anderen Terminals) als Standardeinstellung verwendet wird. Mögliche Abhilfen sind: * screen mit xterm starten (''TERM=xterm screen''), dazu am besten ''alias screen=%%'%%TERM=xterm screen%%'%%'' in ''/etc/profile'' eintragen oder * das Paket ''ncurses-base'' (''ipkg install ncurses-base'') installieren und screen mit gesetztem TERMINFO starten (''TERMINFO=%%'%%/usr/share/terminfo/%%'%% screen''), dazu am besten ''alias screen=%%'%%TERMINFO=%%'%%/usr/share/terminfo/%%'%% screen%%'%%'' in ''/etc/profile'' eintragen ===== GIT-Server (mit gitolite)===== Annahmen: Das Paket ''perl'' ist bereits über das Paketzentrum installiert und Benutzerverzeichnisse sind über ''Systemsteuerung'' -> ''Benutzer'' -> ''Erweitert'' -> -> ''Benutzer-Basis'' -> ''Benutzer-Home-Dienst aktivieren'' aktiviert. * Benutzer ''git'' anlegen, damit SSH-Zugriff funktioniert muss der Benutzer in der Gruppe ''administrators'' sein * git installieren * Möglichkeit 1: das Paket "Git Server" aus dem Paketzentrum installieren (Serverfunktionalität wird nicht genutzt, nur Benutzung der git Binaries, Vorteil kann über das Paketzenreum aktualisiert werden) * Möglichkeit 2: Git über opkg installieren (Vorteil: manchmal aktuellere Git-Version verfügbar, muss über opkg aktualisiert werden), dazu * dazu (als root) opkg install git *symbolische Links anlegen (als root) ln -s /opt/bin/git* /usr/bin/ * Auf dem Client SSH Key anlegen (Passphrase kann leer bleiben) ssh-keygen * Key .ssh/id_rsa.pub auf die Diskstation kopieren (nach ''/volume1/homes/git/NAME.pub'') * Installation starten (als Benutzer git) git clone git://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin $HOME/bin/gitolite setup -pk NAME.pub * [[http://web.archive.org/web/20130803022500/http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation| Comprehensive Guide to Git and Gitolite on a Synology DiskStation (via Wayback Machine)]] ===== Befehle ===== * NAS ausschalten: poweroff * NAS neustarten: reboot ===== Synology als Scanserver ===== Die Synology wird von mir nicht mehr als Scan-Server verwendet und daher wird dieser Abschnitt nicht mehr aktualisiert. Der folgende Stand beschreibt das Vorgehen für das mittlerweile obsolete ''optware'' * SANE installieren: ipkg install sane-backends libusb inetutils libieee1284 * SANE konfigurieren\\ z.B. [[#scanner_acer_620u_fuer_diskstation|Acer 620U]] * eigenes Subnetz, bzw. Clients, die scannen dürfen in /opt/etc/sane.d/saned.conf eintragen\\ für gesamtes lokales Netz 192.168.0.1-254 z.B. 192.168.0.1/24 (nicht /29) * /etc/inetd.conf bearbeiten: sane-port stream tcp nowait root /opt/sbin/saned saned * /etc/services bearbeiten: sane-port 6566/tcp # SANE network scanner daemon * inetd neustarten /usr/syno/etc/rc.d/S03inetd.sh restart ==== Debugging ==== * saned manuell (ohne inetd) mit Debuggingoutput starten: saned -d5 * per Telnet auf Port 6566 verbinden ==== Scanner Acer 620U für Diskstation==== Die Konfiguration ist ähnlich wie [[sane#scanner_acer_620u_unter_linux|hier]] beschrieben, lediglich die Pfade sind anders: * Firmwaredatei "u96v121.bin" aus dem Windowstreiber extrahieren. * Firmware nach ''/volume1/@optware/share/sane/snapscan/'' verschieben * ''/volume1/@optware/etc/sane.d/snapscan.conf'' anpassen: firmware /volume1/@optware/share/sane/snapscan/u96v121.bin ===== Links ===== * [[https://www.synology.com/en-global/products/status|Product Support Page]] Übersicht des Supportstatus der verschiedenen Modelle