Hier beschreibe ich meine Verwendung eines meiner Pine64 (https://www.pine64.com/) als Download-Server mit JDownloader und Fernzugriff via xrdp und vnc. Ziel ist es einen kleinen Server zu verwenden, der eine sehr geringe Leistungsaufnahme hat und über Remote-Zugriff verwaltet werden kann.
Als Basis verwende ich das Ubuntu Image [20160530] direkt von den Download-Seiten zum Projekt:
- http://wiki.pine64.org/index.php/Pine_A64_Software_Release
- http://files.pine64.org/os/ubuntu/xubuntu-xenial-mate-20160528-longsleep-pine64-8GB.zip
Dieses Image habe ich entpackt und anschließend mit Win32 Disk Imager (https://sourceforge.net/projects/win32diskimager/) von meinem Windows PC auf eine geeignete Speicherkarte geschrieben. In meinem Fall eine SanDisk Extreme 64GB microSDXC, U3 Speicherkarte.
Anschließend mit einem Netzwerkkabel, USB-Tastatur und USB-Maus verbunden, das System gestartet und gemäß Vorgabe zum Image mit Benutzername ubuntu und Passwort ubuntu angemeldet.
Erste Schritte:
Da ich direkt zu Beginn keine Pakete installieren und aktualisieren konnte, habe ich über System, Administration, Software & Updates, Aktenreiter Other Software die Paketquellen für ubuntu-pine64-flavour-makers deaktiviert.
Wir verlassen das Menü über Close. Anschließend führen wir einen notwendigen Reload durch:
Danach öffnen wir eine Konsole durch die Tastenkombination STRG + ALT und T und installieren die Pakete:
- ssh
- x11vnc
- xrdp
- mc
- nano
mittels dem Befehl:
sudo apt-get install ssg x11vnc xrdp mc nano -y
Durch ssh haben wir nun die Möglichkeit das System über Fernzugriff zu steuern. Unter Windows können wir mittels putty (Download-Quelle: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) und winscp (Download-Quelle: https://winscp.net/eng/download.php) Befehle ausführen und Dateien auf das System kopieren.
Alternativ können wir bereits mittels mstsc von einem Windows-PC auf das System zugreifen. Hierzu einfach folgenden Befehl in der Kommandozeile (WIN-Taste + R) eingeben:
mstsc -v ip-adresse_pine64
Danach erscheint der folgende Dialog, wo wir die bekannten Anmeldedaten eingeben:
Nachdem wir die Eingabe bestätigt haben, können wir bereits das System über die GUI steuern:
In meinem Fall verwenden ich als Bildschirm einen LG 34UC98-W mit 3340x1440er-Auflösung Der pine64 hat somit kein Problem solch große Displays zu verwenden.
Zusätzlich werden jetzt Bildschirm, Maus und Tastatur nicht mehr am pine64 benötigt.
In meinem Fall habe ich meinen pine64 mittels Befehl:
init 0
heruntergefahren und an seinem zukünftigen Platz installiert (nur Strom und Netzwerk).
Nach dem ersten Neustart wird als Erstes die maximal verfügbare Größe der Speicherkarte dem System zur Verfügung gestellt.
Hierzu geben wir den folgenden Befehl in putty oder in einer Konsole auf dem System ein:
sudo /usr/local/sbin/resize_rootfs.sh
Zur Sicherheit überprüfen wir den Erfolg durch den Befehl df -h.
Zum Neustart des Systems geben wir folgenden Befehl ein:
sudo init 6
Sobald das System wieder verfügbar ist (etwa 1 Minute) führen wir ein paar notwendige Updates durch:
sudo apt-get upgrade -y
sudo /usr/local/sbin/pine64_update_kernel.sh
sudo /usr/local/sbin/pine64_update_uboot.sh
und starten anschließend das System durch.
Konfiguration von xrdp und x11vnc:
Nachdem das System wieder verfügbar ist, konfigurieren wir xrdp und x11vnc.
Zunächst konfigurieren wir die Verwendung von x11vnc. Hierzu setzen wir ein Passwort (Beispiel: jdownloader) mittels:
sudo x11vnc -storepasswd /etc/x11vnc.pass
Anschließend konfigurieren wir x11vnc zum Systemstart mittels:
sudo nano /lib/systemd/system/x11vnc.service
und fügen folgende Zeilen ein (Achtung: ggf. wird das Minus-Zeichen nicht korrekt übernommen):
[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -repeat -loop -shared -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900 -o /var/log/x11vnc.log [Install] WantedBy=multi-user.target
Bei Verwendung von putty einfach rechts Maustaste verwenden.
Zum Speichern und Schließen geben wir folgende Tastenkombinationen ein:
- STRG + O
- ENTER
- STRG + X
Anschließend aktivieren wir x11vnc zum Start mittels:
sudo systemctl daemon-reload sudo systemctl enable x11vnc.service
Danach richten wir xrdp ein. Zur Sicherheit erstellen wir zunächst eine Kopie der aktuellen Konfig mittels:
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini_bak
Danach passen wir die aktuelle Konfig mittels:
sudo nano /etc/xrdp/xrdp.ini
an. Die Datei hat zu Beginn folgenden Inhalt:
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 [xrdp2] name=console lib=libvnc.so ip=127.0.0.1 port=5900 username=na password=ask [xrdp3] name=vnc-any lib=libvnc.so ip=ask port=ask5900 username=na password=ask [xrdp4] name=sesman-any lib=libvnc.so ip=ask port=-1 username=ask password=ask [xrdp5] name=rdp-any lib=librdp.so ip=ask port=ask3389 [xrdp6] name=freerdp-any lib=libxrdpfreerdp1.so ip=ask port=ask3389 username=ask password=ask [xrdp7] name=sesman-X11rdp lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 xserverbpp=24
In meinem Fall wurden die Konfig-Elemente xrdp2 und xrdp4 bis xrdp7 vollständig gelöscht und xrdp3 zu xrdp2 umbenannt. In nano können Zeilen zum Beispiel mittels Tastenkombination:
STRG + K
gelöscht werden. Ergebnis:
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 [xrdp2] name=vnc-any lib=libvnc.so ip=ask port=ask5900 username=na password=ask
Wer wie ich das System lediglich so konfiguriert, dass andere Systeme auf dieses zugreifen, jedoch dieses nicht auf die anderen (es ist ein Frage zwischen Sicherheit und Komfort) kann zusätzliche Anpassungen für xrdp1 und xrdp2 durchführen.
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ubuntu password=ubuntu ip=127.0.0.1 port=-1 [xrdp2] name=vnc-any lib=libvnc.so ip=127.0.0.1 port=ask5900 username=na password=jdownloader
Bei xrdp1 habe ich Benutzername und Passwort hinterlegt. Bei xrdp2 die Loopback-IP-Adresse, damit ich mittels vorliegender RDP-Sitzung die vnc-Sitzung auf dem pine64 direkt ansprechen kann und auch hier das Passwort für meine VNC-Sitzung.
Zum Prüfen, dass auch die Dienste zum Start korrekt ausgeführt werden, führen wir erneut einen Neustart durch.
Anschließend testen wir die Verbindungen mittels:
mstsc -v ip-adresse_pine64
Zusätzlich sollte ein Test mit einem regulären VNCViewer erfolgen.
Weitere Anpassungen:
Zum Ende empfiehlt sich die Installation der deutschen Sprache auf dem System und die Umstellung des Tastaturlayouts. Als erstes rufen wir über die GUI mittels System, Personal, Language Support den Language Support auf.
Als erstes bestätigen wir Install und geben das Passwort ein:
Danach aktualisiert das System die Sprachpakete:
und im Anschluss danach fügen wir die deutsche Sprache hinzu:
Jetzt bestimmen wir das deutsche Tastaturlayout über System, Preferences, Hardware, Keyboard:
Danach öffnen wir den Dialog zum Hinzufügen eines neuen Tastaturlayouts:
Wählen als Land German und schließen das Fenster. Jetzt verändern wir die Reihenfolge zur Anwendung des Tastaturlayouts durch Auswahl German und Move Up:
Anschließend führen wir erneut einen Neustart durch, da nicht unmittelbar die Korrekturen aktiv werden.
JDownloader – Installation:
Hinweis: Bitte die JDownloader2-Installation beachten!
Zur Installation von JDownloader fügen wir die PPA-Quellen hinzu und installieren die Pakete mittels:
sudo add-apt-repository ppa:jd-team/jdownloader sudo apt-get update sudo apt-get install jdownloader-installer unrar -y
Anschließend können wir JDownloader über Anwendung, Internet, JDownloader starten:
Die Meldung bzgl. falscher Runtime ignorieren wir:
Warten den Update-Prozess ab:
Führen ein paar Einstellungen durch:
Bestätigen das erfolgreiche Update:
… und führen kein Update durch, da dies derzeit fehlschlägt:
JDownloader kann jetzt verwendet werden.
Installation SUN Java JDK:
Hinweis: Trotz erfolgreicher Installation von Java SDK war es anschließend nicht möglich JDownloader erfolgreich zu starten. Unabhängig der alten oder neuen Version. Für kurze Zeit war ein entsprechender Java-Prozess zu sehen der jedoch ohne weitere Meldung beendet wurde.
Wer es selbst versuchen möchte:
- https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/
- http://brabraen.blogspot.de/2016/04/pine64-install-oracle-jdk-8.html
Die meiner Meinung nach korrekte Version hatte ich hierbei von SUN direkt heruntergeladen:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Anschließend habe ich die folgende Befehle ausgeführt:
tar zxvf jdk-8u91-linux-arm64-vfp-hflt.tar.gz sudo mv /home/ubuntu/Downloads/jdk1.8.0_91/ /usr/lib/jvm/ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_91/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_91/bin/javac" 1 sudo chmod a+x /usr/bin/java sudo chmod a+x /usr/bin/javac sudo chown -R root:root /usr/lib/jvm/jdk1.8.0_91/
Zur Prüfung der aktuell verwendeten Version können die Befehle:
- javac -version
- java -version
- sudo update-alternatives –config java
verwendet werden:
Hinweis: Wer später Probleme hat JDownloader zu starten, muss lediglich:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_91/bin/java" 1
erneut ausführen und mittels 0 [Die Zahl] den alten Standard setzen.
JDownloader 2 – Installation:
Zur Installation von JDownloader2 habe ich zunächst ein Verzeichnis über die Konsole erstellt:
mkdir $HOME/.jd2
Anschließend habe ich den Installer über folgende Quelle heruntergeladen:
- installer.jdownloader.org/JDownloader.jar
Hinweis: Erst als ich die Datei von meinem Windows-PC heruntergeladen habe und diese per WinSCP in das neue Verzeichnis gespeichert habe, konnte ich die Installation erfolgreich durchführen. Der Download mittels wget unter Ubuntu war zwar erfolgreich, jedoch konnte ich die Installtion nicht erfolgreich starten. Wer in WinSCP den versteckten Ordner .jd2 nicht sieht, kann mittels STG + ALT + H zwischen der zusätzlichen Darstellung von versteckten Dateien und Ordner wechseln. Unter Ubuntu ist diese Tastenkombination STRG + H.
2. Hinweis: Bei meinen Tests konnte ich auch die Datei JD2SilentSetup.sh (http://installer.jdownloader.org/JD2SilentSetup_x64.sh) zwar herunterladen, jedoch wurden die hierbei integrierten Pakete durch unrar200 nicht erfolgreich entpackt.
Anschließend setze ich die notwendigen Berechtigungen zur Ausführung:
chown -R ubuntu:ubuntu $HOME/.jd2
und erstellte eine Verknüpfung auf meinem Desktop mittels:
nano /$HOME/Desktop/jDownloader2.desktop
wo ich folgenden Inhalt hinterlege:
[Desktop Entry] Encoding=UTF-8 Name=jDownloader2 Comment=jDownloader2 Exec=bash -c "java -jar $HOME/.jd2/JDownloader.jar" Icon=$HOME/.jd2/themes/standard/org/jdownloader/images/logo/jd_logo_256_256.png Type=Application Categories=GTK;Utility;
Anschließend speichern und die Verknüpfung ausführbar machen:
chmod +x $HOME/Desktop/jDownloader2.desktop
Zur Sicherheit habe ich vorm ersten Start eine Sicherheitskopie der jar-Datei erstellt, da diese nach dem ersten Start aktualisiert wird:
cp $HOME/.jd2/JDownloader.jar $HOME/.jd2/JDownloader_backup.jar
Nach dem ersten Start mittels Verküpfung auf unserem Desktop sollte nun zu sehen sein:
Anbei zum Vergleich der Verzeichnisinhalt nach erstem Start:
Erweiterung des verfügbaren Arbeitsspeicher mittels zram:
Es wird bei Systemen wie pine64 empfohlen keine SWAP-Partitionen zu verwenden. In meinem Fall verfügt mein pine64 lediglich über 1GB RAM und bei Tests mit JDownloader hatte ich mehrfach das Problem, dass die Anwendung unerwartet und ohne Meldung beendet wurde (RAM kleiner 10000). Es war zum Beispiel nie möglich die Plugins von JDownloader 2 zu öffnen. Der verfügbare RAM wurde innerhalb einer Minute immer kleiner, bis die Anwendung geschlossen wurde. Nach der Aktivierung von zram werden die Plugins innerhalb zwei Sekunden geöffnet.
Zum Aktivieren von zram erstellen wir zunächst eine Datei für einen neuen Service:
sudo nano /lib/systemd/system/zram.service
und fügen folgenden Inhalt ein:
[Unit] Description=zRam block devices swapping [Service] Type=oneshot ExecStart=/bin/bash -c "modprobe zram && echo 2G > /sys/block/zram0/disksize && mkswap --label zram0 /dev/zram0 && swapon --priority 100 /dev/zram0" ExecStop=/bin/bash -c "swapoff /dev/zram0 && rmmod zram" RemainAfterExit=yes [Install] WantedBy=multi-user.target
Anschließend speichern wir die Datei und führen den folgenden Befehl aus:
sudo systemctl enable zram
sudo /bin/bash -c "modprobe zram && echo 2G > /sys/block/zram0/disksize && mkswap --label zram0 /dev/zram0 && swapon --priority 100 /dev/zram0"
verwendet werden. Nach einem Neustart kann mit dem Befehl:
zramctl
top
Hinweis: In einigen Quellen wurde zusätzlich der Befehl echo lz4 > /sys/block/zram0/comp_algorithm unter ExecStart im Dienst hinterlegt. Leider existiert die Datei nicht und konnte auch nicht mit entsprechenden rechten erstellt werden. Ich bin jedoch derzeit mit der Leistung meines pine64 zufrieden.
Aktivierung ffmpeg-Unterstützung für Youtube-Download:
Wer gelegentlich Videos von Youtube herunterladet benötigt in JDownloader ffmpeg. Zur Installation muss der folgende Befehl ausgeführt werden:
sudo apt-get install ffmpeg -y
Anschließend hinterlegen wir den Pfad zu ffmpeg im JDownloader über das Menü Einstellungen, Profileinstellungen (linke Seite mit Warndreieck) und Suchen den Eintrag FFmpegSetup: Binary Path. Den Wert null ändern wir zu:
/usr/bin/ffmpeg
Quellen:
- http://www.amaxing.de/jdownloader-2-auf-arm-boards-installieren-raspberry-pi-banana-pi-cubieboard-cubietruck-etc/2014/12/01/
- http://forum.pine64.org/showthread.php?pid=7310
- http://raspberrypi-jdownloader.io.tc/2015/05/14/raspberry_pi_3_und_jdownloader2/
- http://www.techrapid.co.uk/linux/arch-linux/create-zram-memory-compression-on-arch-linux/
- http://manpages.ubuntu.com/manpages/xenial/man8/zramctl.8.html
Neueste Kommentare