Resilio Sync auf dem Raspberry – 1: Software

Schon vor einigen Jahren habe ich dieses Programm auf dem Raspberry eingerichtet. Damals hieß es noch BTSYNC (abgeleitet vom verwendeten Bittorrent-Protokoll) und lief auf einem RP2 mit einer 64 GB-SD-Karte. Dieser Speicher wurde nun knapp. Da ich vor geraumer Zeit eine USB-HDD WD-RP-Drive mit 314GB gekauft habe, wollte ich diese nun einsetzen. Weil es einfacher und sicherer ist, wollte ich das System auf neuer Hardware neu aufsetzten, natürlich jetzt auf einem RP3

Ich suchte nach aktualisierten Anleitungen und musste leider feststellen, dass die Installation ein komplizierter Weg war, als ich erwartet hatte.

Der Anfang war noch einfach: RP3 mit Debian einrichten, SSH einschalten (damit man am PC arbeiten kann, wo auch Google verfügbar ist Zwinkerndes Smiley)

Das Pi-Drive einbinden

Erste Hürde war das WD-PI-Drive, dessen Einbindung eigentlich gut erklärt wird, z.B.  https://www.randombrick.de/raspberry-pi-usb-stick-und-usb-festplatte-einbinden/ Aber: mein korrekt angeschlossenes und laut LED mit Strom versorgtes Laufwerk wurde von Linux nach Ausführen von

sudo blkid -o list -w /dev/null

nicht aufgeführt. Testhalber am PC angeschlossen funktionierte es jedoch. Nur war es nicht initalisiert und erst recht nicht nicht formatiert. Das holte ich also mit der Windows-Datenträgerverwaltung nach und zwar mit MBR und NTFS. NTFS als Dateiformat hat den Vorteil, dass man die Platte auch mal schnell an eine Windows-PC hängen und auslesen kann.

Danach konnte man es in Linux auf dem RP einbinden. Naja, erst nachdem ich den Schreib-Lese-Treiber für NTFS eingebunden hatte:

sudo apt-get -y install ntfs-3g hfsutils hfsprogs exfat-fuse

Resilio Sync

Also weiter zu Resilio Sync. Auf https://www.randombrick.de/raspberry-pi-resilio-sync-installieren-und-einrichten/  ist eine gute deutsche Anleitung, die auch bis zum ersten Start funktionierte. Die GUI erreicht man über den Browser per IP-Adresse und Port 8888. Die IP-Adresse wäre 127.0.0.1 auf dem RP, aber blöderweise geht Chromium als Browser auf dem RP aber nicht, wenn man als root angemeldet ist, was bei mir leider der Normalfall war, jedenfalls wenn ich die GUI von Debian per “sudo startx” angeworfen habe. Egal, per PC im LAN ging es über die per “ifconfig” auslesbare IP-Adresse des RP, bei mir sogar über seinen Namen im LAN (bei mir “rp3server”). Aber Leider konnte ich das USB-Laufwerk hier nicht als Zielort zum Speichern angeben, weil die GUI hier nur Verzeichnisse unter dem Home-Verzeichnis zuließ, ich aber das Laufwerk unter /media/usbdrive eingebunden hatte. Laut google muss man, um dies zu ermöglichen, die /etc/btsync/config.json-Konfigurationsdatei ändern. Das konnte ich auch. Nur leider ging btsync (wie der Service weiterhin erstaunlicherweise hieß) dann gar nicht mehr richtig. Ich konnte ihn zwar erfolgreich starten und stoppen, aber die GUI (dies sonst über den Webbrowser per [ip]:8888 erreichbar ist, war nicht mehr da.

Also Versuch 2: https://www.resilio.com/blog/sync-wd-raspberry-pi Direkt von der Seite der Macher, dazu im Bild mit dem Pi-Drive und nur wenige Monate alt. Das sollte doch gehen. Leider las ich den unscheinbaren Satz am Anfang nicht “we suggest you use our Offical Linux packages here to run Sync on your Pi.” Unter “here” war der Link. Die auf der Seite darunter folgende Beschreibung ist nämlich nicht der offiziell Weg und hat bei mir auch nicht funktioniert.

3. Anlauf: die offizielle Anleitung https://help.resilio.com/hc/en-us/articles/206178924 konnte ich wirklich erfolgreich nachvollziehen (Etwas schöner notiert auch auf https://www.rebootinternet.com/personal-cloud-with-raspberry-pi-and-resilio-sync/):

pi@rp3server:~ $ echo „deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free“ | sudo tee /etc/apt/sources.list.d/resilio-sync.list
deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free
pi@rp3server:~ $ wget -qO – https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add –
OK
pi@rp3server:~ $ sudo dpkg –add-architecture armhf
pi@rp3server:~ $ sudo service btsync stop
pi@rp3server:~ $ sudo apt-get update
Holen:1 http://linux-packages.resilio.com/resilio-sync/deb resilio-sync …
Es wurden 19,2 kB in 1 s geholt (11,9 kB/s).
Paketlisten werden gelesen… Fertig
pi@rp3server:~ $ sudo nano /etc/apt/sources.list

Hier ändern und mit Strg-O <Return> Strg-X abschließen:
deb [arch=armhf] http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free

pi@rp3server:~ $ sudo apt-get update
OK:1 http://linux-packages.resilio.com/resilio-sync/deb resilio-sync InRelease

W: Target Translations (non-free/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:4 and /etc/apt/sources.list.d/resilio-sync.list:1
pi@rp3server:~ $ sudo apt-get install resilio-sync
… Die folgenden NEUEN Pakete werden installiert:
resilio-sync
… Entpacken von resilio-sync (2.5.12-1) …
resilio-sync (2.5.12-1) wird eingerichtet …
Trigger für systemd (232-25+deb9u1) werden verarbeitet …
Trigger für man-db (2.7.6.1-2) werden verarbeitet …
pi@rp3server:~ $ sudo systemctl enable resilio-sync
Synchronizing state of resilio-sync.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable resilio-sync
pi@rp3server:~ $ sudo nano /usr/lib/systemd/user/resilio-sync.service

Mit dem Nano-Editor eine Zeile von “mulit-user” auf “default” ändern: und mit Strg-O <Return> Strg-X abschließen:
WantedBy=default.target

pi@rp3server:~ $ systemctl –user enable resilio-sync
Created symlink /home/pi/.config/systemd/user/default.target.wants/resilio-sync.service → /usr/lib/systemd/user/resilio-sync.service.

Auf der Konfigurationsseite des Webinterfaces ([IP]:8888) gibt man eine Benutzernamen/Passwort-Kombination ein, die lediglich für diese Webseite gilt, also nichts mit der Benutzverwaltung des RP zu tun hat. In der Konfiguration  stellte ich ein:

image

Wobei im “default folder” (den nicht verändern) Logs und Konfiguration gespeichert werden. Für die Datenspeicherung wird der zweite Ordner “File download location” verwendet.

Gibt man nun auf der Hauptseite der GUI unter “+” den von einem PC/RP (mit Resilio Sync) kopierten Schlüssel ein und wählt den Speicherort, so synchronisiert sich der RP mit diesen Geräten und lädt alle Dateien auf das Pi Drive. Fertig! Fast…

PiDrive dauerhaft einbinden

UUID auslesen und mit nano in die fstab eintragen:

pi@rp3server:~ $ sudo blkid
/dev/mmcblk0p1: LABEL=“boot“ UUID=“0298-4814″ TYPE=“vfat“ PARTUUID=“336f327b-01″
/dev/mmcblk0p2: LABEL=“rootfs“ UUID=“d4f0fd64-ad9d-4cfd-aa76-8d3541fbf008″ TYPE=“ext4″ PARTUUID=“336f327b-02″
/dev/mmcblk0: PTUUID=“336f327b“ PTTYPE=“dos“
/dev/sda1: LABEL=“PI“ UUID=“CEB2CEF2B2CEDDD9″ TYPE=“ntfs“ PARTUUID=“b99cbd91-01″
pi@rp3server:~ $ sudo nano /etc/fstab

indem man mit Nano die Zeile

UUID=CEB2CEF2B2CEDDD9 /media/usbhdd/ ntfs-3g defaults,umask=000,users 0 0

anfügt und mit Strg-O <Return> Str-X speichert. der String nach “UUID=” ist natürlich die UUID, die nach dem blkid für die USB-Platte (bei mir /dev/sda1) ausgegeben wurde.

Tatsächlich läuft Resilio Sync auch nach einem Neustart dann perfekt.

Dieser Beitrag wurde unter Rasperry Pi veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.