Seiten

Posts mit dem Label Technik werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Technik werden angezeigt. Alle Posts anzeigen

Samstag, 27. Mai 2017

Synology NFS-Freigaben unter (K)Ubuntu einbinden

Freigegebene Verzeichnisse auf Netzwerkgeräten hab ich lange Zeit über Samba in mein (K)Ubuntu-System eingebunden, früher, weil ich noch ein Windowsgerät im Netzwerk hatte, später, weil ich zu faul war meine Skripte anzupassen und einfach den Status quo behielt. Dabei waren die Verzeichnisse direkt via /etc/fstab eingebunden.

Nun brachte das für mich mit dem Upgrade auf 16.04 und damit auf Systemstart systemd folgende Nachteile:
1. Der Rechner fuhr nicht mehr hoch, da die Netzlaufwerke natürlich bei Systemstart noch nicht vorhanden sind.
2. Nach Lösung von 1. fuhr der Rechner anschließend nicht mehr runter, weil die Netzlaufwerke noch in Gebrauch waren.

Es musste also eine Lösung her, und die heißt: Einbinden via NFS!
Leider geht dies nicht so leicht, wie ich vermutet hätte und alle Anleitungen, die ich fand bieten keine holistische Lösung, da alle den ein oder anderen Fallstrick unerwähnt lassen.

Nun also mein Weg zum Erfolg:

1. Eindeutige IP

NFS lebt von eindeutigen IPs, daher müssen die Geräte vom Router eindeutige IPs bekommen, in meinem Fall:
192.168.1.101 = Laptop
192.168.1.102 = NAS

2. NFS am NAS aktivieren

Unter Systemsteuerung -> Dateidienste  NFS aktivieren.


3. Gemeinsame Verzeichnisse am NAS freigeben

In der Systemsteuerung -> Gemeinsamer Ordner auf einem Ordner "Bearbeiten" wählen und dort die Registerkarte "NFS-Berechtigungen" ansteuern. 
Nun eine neue Regel erstellen.


  • Als IP vergebe ich meinen Laptop.
  • Mit Schreib-/Leserechten.
  • Alle Benutzer zu admin zu ordnen [Fallstrick 1: eine andere Auswahl führte bei mir nicht zum Erfolg, obwohl mein Laptop-User auch am NAS bekannt ist].
  • Sicherheit: sys
  • asynchron
  • und Zugriff auf Unterordner erlauben.

4. Freigabe am Laptop prüfen

Auf der Konsole kann man mit 
showmount -e 192.168.1.102
Überprüfen, ob die Freigabe geklappt hat und auch gleich, wie der Freigabepfad ist. Die Ausgabe sieht dann in etwa so aus:
$ Export list for 192.168.1.102:
/volume1/video 192.168.1.101
/volume1/photo 192.168.1.101
/volume1/music 192.168.1.101

5. Autofs am Laptop installieren

sudo apt-get install autofs

6. Autofs einrichten

Dazu müssen zwei Dateien bearbeitet werden

6a) auto.master

sudo nano /etc/auto.master
darin trägt man den Eingehängepunkt und die Datei ein, in der die NFS-Freigaben konfiguriert sind (--ghost gibt an, dass die Verzeichnisse auch sichtbar sind, wenn das Freigabe-Verzeichnis noch nicht gemountet wurde):
/media/NAS /etc/auto.nas --ghost
Anschließend den Einhängepunkt anlegen
sudo mkdir /media/NAS 

6b) auto.nas

Nun die Konfiguration auto.nas bearbeiten
sudo nano /etc/auto.nas
und darin die NFS-Freigaben samt Einhängepunkt festlegen
NAS_Video -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/video
NAS_Bilder -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/photo
NAS_Musik -fstype=nfs,rw,retry=0 192.168.1.102:/volume1/music

Zu erst der Einhängepunkt (z.B. NAS_Video). Folgend von den Optionen:
  • -fstype=nsf (Dateisystemtyp)
  • rw (Schreib- und Leserechte)
  • retry=0 (Mount gibt sofort aus, wenn Server nicht erreichbar ist, ansonsten versucht mount den Server zwei Minuten lang zu erreichen und blockiert eventuell.
Anschließend die Freigabe am NAS
  • <IP des NAS>:<Freigabeverzeichnis>
Fallstrick 2: Ich hatte bei Ubuntuusers gelesen, dass man die Option soft verwenden soll, um ein Einfrieren des Dateimanagers zu verhindern, wenn es zu Unterbrechungen kommt. Bei mir bewirkt die Option eben genau, dass der Dateimanager einfriert statt eine Verbindung herzustellen.

7. Rechte vergeben

Fallstrick 3: Was die Rechte-Zuordnung angeht sind die Anleitungsseiten recht dürftig, ohne gehts nämlich nicht und während ich anfangs noch dachte es müssen die Einhängepunkte gesondert mit Rechten versorgt werden, sind es dagegen doch die Dateien  /etc/auto.master und /etc/auto.nas die Rechte benötigen.
sudo chmod 644 /etc/auto.master
sudo chmod 644 /etc/auto.nas

8. Verküpfungen erstellen

Nun müssen die verbundenen Verzeichnisse einmalig über die Konsole angeredet werden und dann kann man im Dateimanager eine Verknüpfung dazu erstellen.
cd /media/NAS/NAS_Video
cd ..
cd /media/NAS/NAS_Musik
cd ..
cd /media/NAS/NAS_Bilder
Nun sind alle Verzeichnisse einmal verbunden wurden und sind im Dateimanager sichtbar. Es kann nun eine Verknüpfung erzeugt werden.

Freitag, 18. November 2016

JDownloader auf Synology NAS installieren

JDownloader ist als Downloadmanager so ziemlich unschlagbar, denn neben direkten Downloads, kann man damit auch Daten von One-Click-Hostern oder auch von Youtube inkl. Konvertierung herunterzuladen.

Seit der Anschaffung meines NAS lud ich fortan an weiterhin auf dem Laptop runter und verteilte die Daten dann übers Netzwerk aufs NAS. Je nach Datengröße und Dateimenge kann das mit unter Länger dauern. Warum also nicht direkt den JDownloader auf den NAS laufen lassen?

Eine kurze Internetrecherche stimmte mich zuversichtlich.

1. Java installieren

Synology bietet in ihren Paketquellen zur Zeit Java7 und Java8 an, ich erscheide ich mich für Java8, da der Support für Java7 endlicher ist.

2. Paketquelle einbinden

Danach muss die entsprechende Paketquelle eingebunden werden.
Im Paket-Zentrum -> Einstellungen -> Paketquellen folgende Quelle hinzufügen:

Name: SynoCommunity
Ort:     http://packages.synocommunity.com/

3. JDownloader installieren

Nach Hinzufügen der Paketquelle lässt sich "JDownloader 2 *BETA*" im Paket-Zentrum installieren.

Nach erfolgreicher Installation findet sich der Link zum JDownloader im Hauptmenü.

4. MyJDownloader

Da der JDownloader nur im Headless-Modus gestartet wird, bedarf es einen Umweg, um eine grafische Oberfläche zu erhalten, dies erfolgt über MyJdownloader. Nach der Registrierung kann man die Login-Daten auf dem NAS hinterlegen.

Dazu die Login-Daten für MyJDownloader in den Settings hinterlegen:

Als erste eine Konsole öffnen und sich via SSH oder Telnet (da ich im lokalen Netzwerke arbeite gehe ich das Risiko ein) zum NAS verbinden. Anschließend mit bspw. nano (intatllierbar aus oben genannter Paketquelle) die entsprechende Datei mit root-Rechten bearbeiten:
sudo nano /volume1/@appstore/JDownloader/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json

und Passwort und E-Mail-Adresse hinterlegen.

Danach JDownloader staten und man kann via https://my.jdownloader.org darauf zugreifen.



5. Tipps

Tipp 1: Initial wird "JDownloader@root" angezeigt, dies kann man in den Einstellungen -> Profieinstellungen -> MyJDownloaderSettings: Device Name ändern.

Tipp 2: Die Entpack-Passwortliste ist initial leer, kann man aber leicht mit der Liste aus der lokalen Installation am Rechner befüllen: Liste am PC kopieren, in den Einstellungen -> Profieinstellungen -> Extraction: Password List zwischen [ ] einfügen.

Tipp 3: Beim ersten Hochfahren des JDownloaders hat das Starten nicht korrekt geklappt, nach zwei/dreimal starten klappte es.

Tipp 4: Browser-Plugin "Official MyJDownloader Addon" - damit lassen sich Links per Click'n'Load leicht zur Instanz auf dem NAS hinzufügen.

6. Und sonst?

  • Die WebUI via MyJDownloader ist durch aus klickreicher als die lokale Instanz am Rechner.
  • Zu dem ist die Instanz am Rechner nahezu komplett konfigurierbar.
  • Dafür ist der Download aber direkt auf NAS und muss nicht noch manuell übers Netz kopiert werden.
  • Wenn man den Downloader-Ordner lokal am Rechner einbindet, kann man die Dateien auch bequem umbenennen, ohne die umständliche UI von Synology verwenden zu müssen.


Samstag, 14. November 2015

Garmin Oregon manuell updaten (ohne WebUpdater)

Garmin stellt regelmäßig Firmware-Updates für die verschiedenen Geräte bereit. Dies ist durchaus praktisch, um Bugfixes oder Nachbesserungen zu erhalten.
Leider wird seitens Garmin der Weg über den hauseigenen WebUpdater bevorzugt, damit steh ich als Linux-Nutzer auf der Straße, denn der WebUpdater steht nur für Windows und Mac zur Verfügung.

Es gibt aber auch einen, wenn auch umständlichen, Weg die Firmware-Updates manuell durchführen zu können.

Welche Firmware-Version ist aktuell installiert?
Als erstes sollte man herausfinden, welche Firmware aktuell auf dem Gerät installiert ist.
Dies kann man durch einen Blick in ./Garmin/system.xml bzw. ./Garmin/GarminDevice.xml schnell beantworten.

system.xml:
<SoftwareVersion>
         Software Version 4.40
</SoftwareVersion>

GarminDevice.xml:
<SoftwareVersion>
         440
</SoftwareVersion>

Welche Firmware-Version ist die aktuellste von Garmin?
Dies lässt sich über das ChangeLog von Garmin herausfinden:
Oregon 6x0: http://www8.garmin.com/support/download_details.jsp?id=6157
In diesen Bsp. die Versionsnummer 4.60

Oregon 7xx: https://www8.garmin.com/support/download_details.jsp?id=10379
In diesen Bsp. die Versionsnummer 4.00

Wie lädt man die aktuelle Firmware herunter?
Der Link zum Download ist:
http://download.garmin.com/software/Oregon6x0_WebUpdater__XYZ.gcd
http://download.garmin.com/software/Oregon7xx_WebUpdater__XYZ.gcd

Wobei XYZ durch die jeweilige Versionsnummer zu ersetzen ist.
In dem o.g. Bsp. wäre der Link also:
http://download.garmin.com/software/Oregon6x0_WebUpdater__460.gcd
http://download.garmin.com/software/Oregon7xx_WebUpdater__400.gcd

Wie spielt man die heruntergeladene Datei aufs Gerät?
Die heruntergeladene Datei "Oregon6x0_WebUpdater__XYZ.gcd" muss in "GUPDATE.GCD" umbenannt werden.
Anschließend muss sie ins Verzeichnis ./Garmin auf das Gerät kopiert werden.

Update-Installation durchführen
Das Gerät muss ordentlich aus dem System ausgebunden und das USB-Kabel entfernt werden.
Danach startet man das Gerät über den Einschalt-Knopf. Ab jetzt wird das Update installiert und das Gerät darf bis zur Fertigstellung der Installation keines Falls ausgeschalten werden.

Fertig.

Montag, 1. Juni 2015

Skript mit grafischer Oberfläche automatisch starten, wenn USB-Gerät angeschlossen wird - Automatischer PQ-Download

Da mir es langsam auf den Keks geht, dass ich die erstellen Pocket Queries (PQ) von der Geocaching-Seite alle einzeln herunterladen und entpacken muss, wollte ich das ganze skripten.
Da der Download aber mit der neuen GC-API nicht mehr per wget möglich ist, brauch ich dazu Software, die mit der API kommunizieren kann, die fand ich schnell: http://geo.rkkda.com/ - hier das Untertool geo-pqdownload. 
Das passende Skript, das die PQ herunter lädt, entpackt und aufs Garmin kopiert, war auch schnell geschrieben; um das ganze hab ich noch ne grafische Oberfläche gepackt, damit ich weiß, dass der Vorgang noch läuft.

Nun soll das Skript immer dann starten, wenn ich mein Garmin an den Laptop anschließe und zwar ohne ein Passwort eingegeben zu müssen. Das stellte mich vor das Problem, dass das Skript so als root und nicht mit dem angemeldeten Benutzer gestartet wird, so dass ich weder Dateiberechtigungen, noch eine grafische Oberfläche bekomme.

Lösungsweg:

1. Als erstes muss man Details zum eingebundenen Gerät einholen. Dabei hilft dieser Befehl:
sudo blkid -o list -w /dev/null 
Beispiel-Ausgabe:
device                 fs_type        label             mount point                           UUID
--------------------------------------------------------------------------------------------------------------------------
/dev/sda1            vfat                                  /boot/efi                             43F4-DFAE
/dev/sda2            ext2                                 /boot                                   56acf68d-2c5b-4b69
/dev/sdd              vfat             GARMIN        /media/<user>/GARMIN         abcd-1234

2.  Als nächstes muss das entsprechende Gerät in /etc/fstab definiert werden:
UUID=abcd-1234       /media/<user>/GARMIN     vfat noauto,users,noatime,rw,sync    0       0

3. Um nun das ganze Skript automatisch auszuführen muss man eine udev-Regel erstellen.
3a) Dazu muss man vorbereitend die Geräteinformationen ermitteln:
lsusb
Beispiel-Ausgabe:
Bus 003 Device 006: ID abcd:1234 Garmin International

3b) Detailinformationen zum Gerät ermitteln:
sudo lsusb -vs  003:006 
So erhält man u.a. den Eintrag zur Seriennummer:
iSerial                  xxxxxyyyy1234
3c) Nun kann man im Verzeichnis: /etc/udev/rules.d eine neue Regel erstellen, z.B.: Garmin.rules
KERNEL=="sd?1", SUBSYSTEMS=="usb", ATTRS{serial}=="xxxxxyyyy1234", SYMLINK+="GARMIN", ACTION=="add", RUN+="/home/<user>/Skripte/UpdatePQ_Helper.sh"
Wobei hier ein Gerät mit
  • Kernel-Einhängepunkt: /dev/sd?1
  • vom Typ: USB
  • mit der Seriennummer: xxxxxyyyy1234
  • Dateisystem-Einhängepunkt: GARMIN
  • Aktion: Hinzufühen (ADD)
gesucht wird. Sind alle Bedingungen erfüllt wird mit RUN das angegebene Skript gestartet - bei mir ein Hilfsskript.

4. Skriptaufruf
Ein Direktaufruf des Skripts ist nicht möglich, da so die grafische Oberfläche nicht sichtbar ist und wie o.e. nur mit root-Rechten ausgeführt wird.

Im Hilfsskript ist der Inhalt hier nur:
#!/bin/bash
#UpdatePQ_Helper.sh
DISPLAY=:0 LANG=de_DE.UTF-8 su -c /home/<user>/Skripte/UpdatePQ.sh <user>
DISPLAY=:0 LANG=de_DE.UTF-8 braucht man zwingend für die grafische Oberfläche.
Der zweite Teil lässt das eigentliche Skript mit einem bestimmten Benutzer ausführen.

Das Hilfsskript und das eigentliche Skript müssen noch ausführbar gemacht werden:
chmod a+x ~/Skripte/UpdatePQ.sh ~/Skripte/UpdatePQ_Helper.sh

5. Gerät anschließen
Schließt man nun das Gerät an, wird dieses automatisch eingehängt, das Skript gestartet und am Ende wieder ausgehängt.

Färtsch.

P.S. Um das alles herauszufinden, war doch ein wenig Google-Hilfe nötig, daher auch der Blogeintrag, sonst muss ich das wieder alles einzeln ermitteln, wenn ich mein System das nächste Mal neu aufsetze.

Donnerstag, 28. Mai 2015

Hardreset für Garmin GPS Oregon 600

Mein Garmin Oregon 600 entwickelte mit der Zeit ein Eigenleben, die Kartenansicht sprang rum, es wurden zufällig Geocaches als Ziel gewählt oder Menüeinträge wurden während der Navigtion zufällig ausgewählt. Das war teilweise so schlimm, dass ich nicht mal mehr Ziele in 1km-Umkreis ansteuern konnte. Zunächst versuchte ich durch Firmware-Updates und Zurücksetzen auf Werkseinstellungen das Problem zu lösen, leider brachte dies keinen Erfolg. Auch eine Google-Suche half mir nicht weiter. Also musste ich notgedrungen den Garmin-Support anschreiben und bekam folgende Hilfsanleitung:
Führen Sie bitte einen sogenannten Hardreset durch um das Gerät auf die Werkseinstellungen zurückzusetzen. Beachten Sie, dass persönliche Einstellungen und Daten hierdurch verloren gehen.
1. Schalten Sie das Gerät aus.
2. Drücken Sie die Benutzertaste (unter der Einschalttaste) und halten diese gedrückt.
3. Schalten Sie das Gerät ein.
4. Sobald die Frage "Wirklich alle Benutzerdaten löschen?" erscheint, können Sie die Benutzertaste loslassen.
5. Beantworten Sie die Frage mit "Löschen/Erase".
Stellen Sie bitte sicher, dass auf Ihrem Gerät die aktuellste Gerätesoftware installiert ist.

Diese Lösung funktioniert. Ich habe dies nun vier Wochen lang getestet und habe nicht noch einmal den Effekt gehabt, dass das Oregon 600 eigenmächtig handelt.