[Tutorial] Jdownloader 2 auf Einplatinencomputer
Ich habe lange Zeit nach einer "günstigen" Möglichkeit gesucht eine 24/7 Downloadmaschine zu betreiben. d.h.
- kaum Stromverbrauch
- von überall per Smartphone App erreichbar
- Automatisches Entpacken
- kompletter Desktopzugriff über VNC und zwar von überall.
- Alternativ Bedienung über ein Webinterface.
Typische Situation: von unterwegs mal eben per Smartphone Links hinzufügen ... Captcha lösen und Zuhause die fertig entpackte Datei genießen.
Hintergrundinfos
Mein erster Versuch war einen alten Rechner in den Keller zu stellen und diesen einfach 24/7 laufen zu lassen. Im Grunde kein Problem wenn der Strom nur ein bisschen günstiger wäre.
Mein nächster Versuch: ein Raspberry Pi mit Pyload zu betreiben. Leider ist der Pi für solche Aufgaben viel zu schwach auf der Brust. Das Entpacken dauerte ewig, der verfügbare Speicher ist stark begrenzt und mit Pyload konnte ich mich auch nicht anfreunden ... ich bin eher der JDownloader-Mensch.
Nun habe ich einen Cubietruck mit 2,5 Zoll Festplatte laufen und bin mehr als begeistert. Das kleine Ding ist ein wahres Downloadmonster. Der Cubie verbraucht zwischen 5 bis 12 Watt (bei meinen Messungen zwischen 6 bis 7 Watt dies entspricht max. 20 € pro Jahr) und das bei 1Ghz Dualcore, 2GB DDR Ram, Sata Schnittstelle mit Festplatte, Gbit Lan, WLAN usw. aber dazu später mehr.
Ich benutzte als Betriebssystem ein Debian Image mit Deskopumgebung. Als Donwloadmanager kommt eine modifizierte JDownloader 2 Beta-Version zum Einsatz. Modifiziert deshalb, da von Haus aus das Entpacken auf den ARM Platinen nicht richtig funktioniert. Mit 7Zip läuft aber alles super. Der Cubietruck hat selbst mit großen Archiven jenseits der 50GB kein Problem diese zu entpacken.
Es gibt aber auch negative Aspekte:
Die Netzwerkschnittstelle ist zwar mit GBit angegeben schafft aber momentan Geschwindigkeiten von 25-40MB/Sek. Zum Streamen oder ähnlichem reicht das aber locker. Um große Dateimengen zu verschieben stecke ich die Festplatte einfach in einen anderen Rechner. Der zweite „Nachteil“ ist die Geschwindigkeit. Diese kleine Platine ersetzt keinen vollwertigen PC. Über Webinterface oder die Smartphone App habe ich überhaupt keine Probleme aber über VNC muss man doch mal die ein oder andere Sekunde warten bis eine Reaktion kommt.
Warum schreibe ich dieses Tutorial:
Ich bin ein altes Windows Kind und hatte keine Ahnung von Linux. Die Einarbeitung hat mich viele Nerven gekostet ... So ein Tutorial hätte mir einiges an Aufregung und Stress erspart
.
Außerdem hat die Community schon so lange so viel für mich getan und nun möchte ich endlich mal was zurück geben. Dies ist mein erstes Tutorial ich würde mich über konstruktive Kritik freuen. Sollten eingefleischte Linuxer anwesend sein freue ich mich ebenfalls über Verbesserungsvorschläge.
Alternativ zum Cubietruck gibt es noch den preisgünstigeren Banana Pi hier muss man aber mit schwächerer Hardware klar kommen z.B. nur 1GB Ram oder kein onboard WLAN (siehe unten) Mit dem Banana Pi habe ich persönlich noch keine Erfahrung gesammelt, ist aber vom Ablauf her gleich.
Hier ein paar Infos über die beiden Geräte:
Ausstattungsmerkmale:
CubieBoard 3 / Cubietruck
- CPU: A20 ARM Cortex-A7 Dual-Core, 1 GHz
- GPU: ARM Mali400MP2, kompatibel mit OpenGL ES 2.0/1.1
- 2 GB DDR3 SDRAM mit 480 MHz
- 8 GB NAND-Flash, vorinstalliert mit Android 4.2.2
- HDMI- und VGA-Ausgang 1080p mit ESD protectors
- 1x MicroSD Steckplatz
- 1x SATA 2.0 Anschluss mit Unterstützung für 2.5" HDD. Es werden auch SSDs unterstützt.
- 2x USB 2.0 Schnittstellen
- 1x miniUSB 2.0 OTG-fähige Schnittstelle
- 10/100/1000 MBit/s RTL8211E Ethernet PHY Netzwerkinterface
- S/PDIF audio interface, Kopfhörer- und HDMI-Audio-Ausgang, Mikrophone und Line-Eingang via externer Anschlusspins
- WLAN und Bluetooth (BCM AP6210) onboard via PCB-Antenne (Chip: Broadcom BCM4329/BCM40181), RTL8211E 10M/100M/1G Ethernet PHY Built-in IR receiver
- RTC Echtzeituhr-Batterie.
- 54 Anschlusspins einschließlich I2S, I2C, SPI, CVBS, LRADC x2,UART, PS2, PWMx2, TS/CSI, IRDA, LINEIN&FMIN&MICIN, TVINx4 with 2.0 pitch connectors, keine LVDS mehr
- Abmessungen: 11 cm × 8 cm x 1,4mm
- Stromversorgung entweder mit DC5V @ 2.5A (empfohlen für 2.5" HDD Betrieb), aber auch Unterstützung von 3.6/3.7V-Li-Ion-Akkus.. Es sollte auch mit 500mA arbeiten, aber nur wenn man eine Festplatte betreibt, sollte man mindestens 2A Strom liefern können damit die Festplatte richtig arbeitet.
Banana Pi
- CPU: A20 ARM Cortex-A7 Dual-Core, 1 GHz
- GPU: ARM Mali400MP2, kompatibel mit OpenGL ES 2.0/1.1
- Arbeitsspeicher: 1 GB DDR3 SDRAM
- SD-Speicherkartenslot: max. 64 GB
- SATA: max. 2 TB
- Netzwerk: Gigabit-LAN (REALTEK RTL8211E)
- Kamera: CSI Eingang (in Entwicklung)
- GPIO (2x13-polig): GPIO, UART, I²C, SPI, CAN, ADC, PWM, +3,3 V, +5 V, GND
- Video-Ausgänge: HDMI, CVBS, LVDS/RGB
- Audio-Ausgänge: Klinke 3,5 mm, HDMI
- USB-Anschlüsse: 2x USB 2.0 (direkt von der CPU), USB-OTG
- 3 LEDs: Power (rot), Netzwerk (blau), frei definierbar (grün)
- Reset-, Power- und UBOOT-Taste
- integriertes Mikrofon und Infrarot-Empfänger
- Gewicht: 48 g
- Platinenmaße: 92x60 mm
- Betriebsspannung: 5 V- (Micro-USB)
- Stromaufnahme: max. 2 A
Was wird Benötigt
Hardware
Für die Installation sind folgende Dinge nötig:
- ein USB-Stick alternativ geht auch eine CD/DVD (für GParded)
- ein USB-Festplattengehäuse oder ein freier SATA Steckplatz im PC, um die Festplatte einzurichten.
- ein SD/microSD-Kartenleser
und am besten einen Monitor, um die Installation zu überwachen.
CubieBoard 3 / Cubietruck
Cubietruck
Netzteil
Bei dem Cubietruck wird ein kleines "Gehäuse" mitgeliefert. Die Plexiglasplatten werden mit wenigen Schrauben zusammengehalten. Optisch eine Null aber die Belüftung ist super.
Alternativ gibt es noch zwei andere Gehäuse:
Entweder in Kunststoff. Bei mir entsteht, durch die mechanische Festplatte, ein kleiner Wärmestau . Um dem entgegenzuwirken habe ich einen 3V Radiallüfter unter die Festplatte geklebt..
Cubietruck Gehäuse
Oder in Metall. Hab es leider noch nicht Zuhause.
Cubietruck Gehäuse Metall
Western Digital 1TB Red Edition
und
eine microSD-Karte min. 2GB
Banana Pi
Software
Fangen wir an
1. Image auf die SD-Karte kopieren und der erste Start.
Image von Igor entpacken und per Win32-Disk-Imager auf die SD Karte kopieren. Seit neustem ist in den Paketen von Igor schon ein Tool enthalten mit dem man das Image auf die SD Karte kopiert.
SD-Karte in den Cubietruck einbauen LAN, Monitor, und Netzkabel anschließen. Der Cubietruck startet sofort.
Wärend des ersten Bootvorgangs wird die Videoschnittstelle ermittelt (also nicht wundern wenn der Monitor nicht sofort eingeschaltet wird).
Nach ca 3-5 Minuten und 1-2 reboots erscheint:
Das Debiansystem steht.
2. Erste Verbindung zum Cubietruck
Ich gehe mal davon aus, dass der Router auf DHCP geschaltet ist.
Die IP des Cubietrucks muss über das Routermenü ermittelt werden.
Startet am PC das Tool Putty und gebt die Cubie IP ein.
Anschließend „open“ klicken und die folgende Frage mit „Ja“ bestätigen.
Die von mir vorgegeben Zeilen werden bei Putty per Rechtsklick eingefügt.
Nun als root Benutzer anmelden.
Login as:
Passwort :
Beim ersten Login wird ein neues root Passwort vergeben.
Das alte 1234 eingeben und dann direkt ein Neues wählen.
3. Optional eine statische IP vergeben.
Die Interfaces Datei muss bearbeitet werden und zwar mit folgendem Befehl:
Code:
nano /etc/network/interfaces
die vorhandenen Zeilen einfach löschen und folgendes eintragen:
Code:
auto lo
iface lo inet loopback
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.178.45
netmask 255.255.255.0
gateway 192.168.178.1
natürlich mit Euren Adressen abändern.
Strg + X für beenden und Y zum Speichern
nun einen reboot durchführen, um zu schauen ob alles geklappt hat
reboot Befehlt:
nach dem Abgeschlossenen reboot Putty starten und mit der neuen IP verbinden.
4. Neuen Benutzer anlegen
Um später nicht immer mit dem root Konto zu arbeiten wird ein neuer Benutzer angelegt.
Im Benutzernamen nur Kleinbuchstaben:
Code:
adduser benutzername
Passwort festlegen und bestätigen
Namen, Telefonnummern und Co. unausgefüllt lassen und bestätigen
Informationen correct? :Y
Sollte man später mit dem Benutzer doch noch einmal etwas mit root-Rechten machen müssen,
kommt der User noch in die root-Liste
Liste öffnen:
und den Text so ändern:
Code:
# User privilege specification
root ALL=(ALL:ALL) ALL
benutzername ALL=(ALL:ALL) ALL
Sollten nun Befehle eingegeben werden, die die root-Berechtigungen benötigen, einfach ein
sudo vor den entsprechenden Befehl und mit dem root-Passwort bestätigen.
Vorerst war das alles, der Cubietruck kann runtergefahren werden.
5. Festplatte vorbereiten
GParted vorbereiten
Anleitung
Igor hat zwar einen Script eingebaut, um eine SATA-Festplatte einzubinden aber dieser ist recht unflexibel und funktioniert auch nicht in jeder Version. Darum der kleine Umweg über GParted.
SD-Karte aus dem Cubie heraus nehmen und in den SD-Kartenleser stecken.
Festplatte in das USB-Gehäuse bzw. PC einbauen und den PC mit GParted booten.
Sobald der Partitionsmanager gestartet ist, rechts oben in der Laufwerkauswahl die SD-Karte wählen.
Bei mir:
Die ext4 Partition mit dem Namen (in dieser Version) Cubietruck auswählen und auf
copy klicken
rechts oben wieder auf die Laufwerksauswahl und die Festplatte wählen bei mir
Code:
/dev/sdc 931.51 GiB
Anschließend die Partition mit
past von der SD-Karte auf die Festplatte kopieren.
Direkt im nächsten Fenster, vor dem Kopiervorgang, werden nochmal die Details angezeigt. Wer möchte kann hier die Größe der neuen Partition nochmal ändern ich bin mit rund 12 GB zufrieden.
Der Kopiervorgang geht los bei mir hat es ca. 10 min. gedauert.
Nun die Download Partition anlegen
„nicht zugeteilten Speicher“ auswählen und auf „Neu“ klicken.
Ich benutzte als Dateisystem ext4. Sollte die Festplatte auch mal in Windowsrechnern eingebaut werden wird hier natürlich ntfs angeklickt.
Als Bezeichnung gebe ich „JDownloader“ ein.
Gparted rödelt los. Kann schonmal einige Zeit in Anspruch nehmen.
Nachdem alles fertig ist sollten nun zwei Partitionen auf der Festplatte sein
Cubietruck und Jdownloader.
Gparted wird beendet, sowie alles zusammengebaut. Festplatte, SD-Karte, optional der Monitor und Netzkabel werden an den Cubietruck angeschlossen. Der Bootvorgang wird abgewartet.
6. Bootparameter ändern
Putty starten und als root einloggen:
Der Cubie startet noch von SD-Karte. Um das zu ändern werden die Bootparameter bearbeitet.
die Zeilen:
Code:
console=ttyS0,115200
root=/dev/mmcblk0p1 rootwait
$sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.scree$
script=cubietruck.bin
kernel=uImage
werden in:
Code:
console=ttyS0,115200
root=/dev/sda1 rootwait
extraargs=rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 panic=10 consoleblank=0
script=cubietruck.bin
kernel=uImage
geändert.
Strg + X für beenden
Y zum speichern
für einen Restart.
Nun sollte die Festplatte hörbar anspringen und alles deutlich schneller laufen.
Wer sich näher über die Kernel arguments informieren möchte
klickt hier
7. Desktopumgebung und Co. installieren
Putty starten und als root einloggen.
Als erstes wird alles auf den aktuellen Stand gebracht.
durchlaufen lassen.
Wenn das durch ist, mit:
Die Pakete aktualisieren. Eventuelle Fragen immer mit „Y“ bestätigen.
Ich verwende als Desktopumgebunge LXDE, als Loginmanager LightDM, Iceweasel als Browser, x11vnc als VNC Server und Samba für die Freigaben. Lsb-core muss nur installiert werden wenn geplant ist Hamachi zu benutzen.
Installation starten mit:
Code:
apt-get install lxde-core lxde-icon-theme lightdm xorg iceweasel x11vnc samba-common samba samba-common-bin tdb-tools lsb-core
Frage mit „Y“ bestätigen und laaaange warten.
Zwischendurch wird die Frage nach dem Tastaurlayout gestellt, ich nehme natürlich „german“.
Bei mir hat das ganze ca. 10 Minuten gedauert.
Wenn alles fertig ist erscheint wieder:
nun erstmal wieder einen restart.
Nach dem Neustart sollte auf dem Monitor nun keine Komandozeile mehr zu sehen sein, sondern der Loginscreen von LightDM.
8. VNC konfigurieren
Putty starten und als root einloggen.
Passwort festlegen. Das Fettgedruckte durch Euer Wunschpasswort ersetzten.
Code:
x11vnc -storepasswd Password /etc/x11vnc.pass
Nun möchte ich VNC schon im Displaymanager per Autostart starten.
Dazu wird die rc.local bearbeitet
vor der letzten Zeile „exit 0“ wird folgender Befehl eingefügt:
Code:
/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900 -o /tmp/x11vnc.log
und wie gehabt
„STRG + X speichern und beenden“
nun erstmal wieder einen restart.
Sobald der Loginscreen angezeigt wird ist es möglich, sich per VNC vom PC im lokalen Netzwerk einzuloggen.
Ich benutze UltraVNC. Neben der IP macht es Sinn noch Auto Scaling anzuklicken. Nach einem Klick auf „Connect“ erscheint die Passwortabfrage.
Ein schwarzer Hintergrund (kein Hintergrundbild gewählt) + Taskleiste erscheint auf dem Bildschirm. Ein weiterer Schritt ist geglückt.
9. Die zweite Partition einbinden
Weiterhin wird die zweite Partition (Jdownloader) eingebunden und festgelegt, das dies auch beim Start automatisch passiert.
Putty starten und als root anmelden.
Nun erst einmal ein Verzeichnis erstellen, in das die Partition gemountet wird.
Code:
mkdir /media/JDownloader
und das einbinden konfigurieren
am Ende dieser Zeilen wird einfach
Code:
/dev/sda2 /media/JDownloader ext4 defaults
für ext4 angefügt.
Solltet ihr am Anfang die Partition mit „ntfs“ formatiert haben lautet die Zeile
Code:
/dev/sda2 /media/JDownloader ntfs-3g defaults
dann wie gehabt
STRG + X speichern und beenden.
Nun wird die Partition direkt beim Systemstart gemountet.
10. Netzwerkfreigabe
Um über das Netzwerk darauf zugreifen zu können wird ein Sambaserver gestartet und dessen Freigaben konfiguriert.
Der erste Schritt ist es ein Sambabenutzer anzulegen. Achtung es können nur Benutzer angelegt werden die zuvor auch im System angelegt wurden (ganz am Anfang)
Code:
smbpasswd -a benutzername
nun noch das Passwort festlegen und fertig. Dies sind die Daten mit denen ihr Euch über Windows anmeldet.
Ist der Benutzer angelegt kommt noch die Freigabe selbst. Die Sambafreigaben werden in der smb.conf angepasst. Also wird diese bearbeitet. Es sind eine Menge an Konfigurationszeilen aufgeführt, aber die meisten können für unsere Zwecke ignoriert werden. Das einfachste ist ein Backup der alten Datei zu machen und eine neue zu erstellen. Wer genau wissen möchte worum es geht und wie was konfiguriert wird
klickt hier
Backup mit:
Code:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
und
Code:
nano /etc/samba/smb.conf
dort wird nun folgendes eingefügt
Code:
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
# - When such options are commented with ";", the proposed setting
# differs from the default Samba behaviour
# - When commented with "#", the proposed setting is the default
# behaviour of Samba but the option is considered important
# enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic
# errors.
# A well-established practice is to name the original file
# "smb.conf.master" and create the "real" config file with
# testparm -s smb.conf.master >smb.conf
# This minimizes the size of the really used smb.conf file
# which, according to the Samba Team, impacts performance
# However, use this with caution if your smb.conf file contains nested
# "include" statements. See Debian bug #483187 for a case
# where using a master file is not a good idea.
#
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
server string = %h server
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
# wins support = no
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z
# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no
# What naming service and in what order should we use to resolve host names
# to IP addresses
; name resolve order = lmhosts host wins bcast
#### Networking ####
# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0
# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself. However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes
#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
# Cap the size of the individual log files (in KiB).
max log size = 1000
# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
# syslog only = no
# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0
# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user
# You may wish to use password e******ion. See the section on
# 'e****** passwords' in the smb.conf(5) manpage before enabling.
e****** passwords = true
# If you are using e******ed passwords, Samba will need to know what
# password database type you are using.
passdb backend = tdbsam
obey pam restrictions = yes
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the e******ed SMB password in the
# passdb is changed.
unix password sync = yes
# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<
[email protected]> for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
pam password change = yes
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad user
########## Domains ###########
# Is this machine able to authenticate users. Both PDC and BDC
# must have this setting enabled. If you are the BDC you must
# change the 'domain master' setting to no
#
; domain logons = yes
#
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of the user's profile directory
# from the client point of view)
# The following required a [profiles] share to be setup on the
# samba server (see below)
; logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
# logon path = \\%N\%U\profile
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
; logon drive = H:
# logon home = \\%N\%U
# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
; logon script = logon.cmd
# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe. The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
# This allows machine accounts to be created on the domain controller via the
# SAMR RPC pipe.
# The following assumes a "machines" group exists on the system
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.
; add group script = /usr/sbin/addgroup --force-badname %g
########## Printing ##########
# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
# load printers = yes
# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap
# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
; printing = cups
; printcap name = cups
############ Misc ############
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m
# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
# for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
# socket options = TCP_NODELAY
# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to 'no'; otherwise, the default behavior is recommended.
# domain master = auto
# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
# The following was the default behaviour in sarge,
# but samba upstream reverted the default because it might induce
# performance issues in large organizations.
# See Debian bug #368251 for some of the consequences of *not*
# having this setting and smb.conf(5) for details.
; winbind enum groups = yes
; winbind enum users = yes
# Setup usershare options to enable non-root users to share folders
# with the net usershare command.
# Maximum number of usershare. 0 (default) means that usershare is disabled.
; usershare max shares = 100
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes
#======================= Share Definitions =======================
#[homes]
# comment = Home Directories
# browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
# read only = yes
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
# create mask = 0700
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
# directory mask = 0700
# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
#
The following parameter makes sure that only "username" can connect
# to \\server\username
# This might need tweaking when using external authentication schemes
# valid users = %S
# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes
# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700
#[printers]
# comment = All Printers
# browseable = no
# path = /var/spool/samba
# printable = yes
# guest ok = no
# read only = yes
# create mask = 0700
# Windows clients look for this share name as a source of downloadable
# printer drivers
#[print$]
# comment = Printer Drivers
# path = /var/lib/samba/printers
# browseable = yes
# read only = yes
# guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
#; write list = root, @lpadmin
# A sample share for sharing your CD-ROM with others.
#;[cdrom]
#; comment = Samba server's CD-ROM
#; read only = yes
#; locking = no
#; path = /cdrom
#; guest ok = yes
# The next two parameters show how to auto-mount a CD-ROM when the
# cdrom share is accesed. For this to work /etc/fstab must contain
# an entry like this:
#
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
# is mounted on /cdrom
#
#; preexec = /bin/mount /cdrom
#; postexec = /bin/umount /cdrom
[JDownloader]
path = /media/JDownloader
browseable = yes
available = yes
guest ok = no
valid users =
benutzername
writable = no
write list =
benutzername
Wenn ihr wollt, könnt ihr zu Beginn die Domäne unter [global] ändern. Am Schluss müsst ihr dennoch zweimal Euren Benutzernamen eintragen.
Und wie gehabt
STRG + X speichern und beenden.
Nun noch schreib/lese und Ausführ-rechte für alle. Eingefleischte Linuxer raufen sich jetzt bestimmt die Haare aber für mich ist es ok für nähere Infos
Klick
Code:
chmod 777 -R /media/JDownloader/
ein reboot durchführen und mal vom Windowsrechner aus testen ob bis hierhin alles klappt.
Sobald der Cubie wieder hochgefahren ist erstmal per Adressenzeile im Windowsexplorer \\IPAdresseCubie eingeben. Die Samba Zugangsdaten werden abgefragt und schon sollte der Ordner Jdownloader zu sehen sein. Ich schiebe diesen dann gleich in den Arbeitsplatz als Netzwerklaufwerk.
Nicht wundern, es ist ein Ordner lost+found drauf (der bleibt auch) und es ist schon ein bisschen Speicherplatz belegt (das macht Debian als Systemreserve so).
11. JDownloader
Das Grundgerüst steht nun schon. Es fehlt nur noch das Wichtigste, der Jdownloader. Der JD braucht Java also geht es damit los.
Man könnte sich jetzt per VNC auf den Cubie schalten und Java über den Browser runterladen aber da die Sambafreigabe schon läuft mache ich das über den Windowsrechner.
Java SE Development Kit 8 Update 6 for ARM
Java SE Development Kit 8 Update 6 for ARM ist momentan die aktuelle Version
License Agreement akzeptiern und die Datei jdk-8u6-linux-arm-vfp-hflt.tar.gz Downloaden.
Anschließend wird das ganze (nicht entpacken) auf das Jdownloader Laufwerk verschoben.
Das alte Spiel per Putty als root anmelden.
Nun in das Verzeichnis, mit dem Java Paket wechseln.
Code:
cd /media/JDownloader/
und Java entpacken. Das dauert einen kleinen Moment
Code:
tar zxvf jdk-8u6-linux-arm-vfp-hflt.tar.gz -C /opt
Es kann natürlich sein, dass sich der Dateiname bei neuen Java Updates ändert. Diese müsst ihr anpassen.
Java aktivieren und das alte Archiv löschen:
Code:
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_06/bin/javac 1
Code:
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_06/bin/java 1
Code:
rm jdk-8u6-linux-arm-vfp-hflt.tar.gz
Zum Testen ob alles geklappt hat einmal
eingeben und es erscheint die Versionsnummer.
Java ist nun vorhanden. Also geht es nun an den JDownloader.
Das Archiv vom PC auf den Cubi kopieren und weiter mit Putty:
Code:
cd /home/benutzername
Code:
tar zxvf /media/JDownloader/JDownloader2.tar.gz
Code:
rm /media/JDownloader/JDownloader2.tar.gz
Der Jdownloader ist entpackt, nun wollen wir noch die Desktopverknüfung erstellen.
Code:
nano /home/benutzername/Desktop/jdownloader.desktop
hier wird folgendes eingetragen (Achtung Pfade anpassen):
Code:
[Desktop Entry]
Name=JDownloader
Name[de]=JDownloader
GenericName=Downloader
GenericName[de]=Downloader
Comment=JDownloader
Comment[de]=Jdownloader
Exec=java -jar /home/benutzername/JDownloader2/JDownloader.jar
Icon=Icon=/home/benutzername/JDownloader2/jdownloader.png
Terminal=false
Type=Application
StartupNotify=false
Und wie gehabt
STRG + X speichern und beenden.
Ich musste bei mir noch Rechte vergeben sonst hat es Fehlermeldungen gehagelt also:
Code:
chmod 777 -R /home/benutzername/JDownloader2/
Der JDownloader kann nun per Desktopverknüpfung gestartet werden.
Wer jetzt noch möchte, kann das Hintergrundbild auf das Laufwerk schieben und in den Homeordner kopieren:
Code:
mv /media/JDownloader/blue-1024x768.png /home/benutzername/
per VNC verbinden ... Rechtsklick auf den Desktop und das Bild auswählen.
ein letztes mal neustarten
12. My.JDownloader
Die Erklärung von my Jdownloader spare ich mir mal. Das ist wirklich selbsterklärend.
Bei
My JDownloader - Web Interface, Android, iOs and Windows Phone App anmelden und anschließend die Daten per VNC in das Programm auf dem Cubie eintragen.
Browsererweiterungen und Apps für Android, Iphone und Windowsphone gibt es ebenfalls unter dem Link.
13. optional Hamachi installieren
Wer möchte installiert jetzt noch Hamachi um von überall Zugriff auf die Netzwerkfestplatte zu haben oder per VNC auf den Desktop zugreifen zu können.
Hamachi sollte schon auf dem PC, Laptop oder von wo aus der Cubie bedient werden soll installiert sein. Ein Netzwerk muss auch schon erstellt sein.
Die aktuelle Version funktioniert leider nicht darum verwende ich eine modifizierte. Möchtet ihr doch die Version vom Hersteller testen wollen hier der Link
ARM HF Version nutzen
Hamachi Archiv auf den Cubie kopieren und Putty als root starten.
Code:
tar xzvf /media/JDownloader/logmein-hamachi.tar.gz
und
Code:
rm /media/JDownloader/logmein-hamachi.tar.gz
zum Installieren:
Code:
./logmein-hamachi-2.1.0.130-armhf/install.sh
Code:
rm -r logmein-hamachi-2.1.0.130-armhf/
kommen wir zum starten von Hamachi
Code:
hamachi set-nick Hamachiname
Code:
hamachi do-join Netzwerkname
Damit das ganze auch direkt bei Systemstart funktioniert wird noch ein Skript geschrieben.
bei „User=“ den Benutzernamen vom System eintragen.
Code:
#!/bin/bash
###################################
### Start-up script for Hamachi ###
###################################
USER=Benutzername
case "$1" in
start)
/sbin/tuncfg
/bin/su - $USER -c "hamachi start"
;;
stop)
/bin/su - $USER -c "hamachi stop"
;;
restart|force-reload)
/bin/su - $USER -c "hamachi start"
/bin/su - $USER -c "hamachi stop"
;;
*)
exit 1
;;
esac
exit 0
und mal wieder
Strg + X speichern und beenden.
Um das ganze ausführbar zu machen:
Die Datei verschieben:
Code:
mv hamachi /etc/init.d
und die Runlevel setzten:
Code:
ln -s /etc/init.d/hamachi /etc/rc2.d/S99hamachi
Code:
ln -s /etc/init.d/hamachi /etc/rc2.d/K99hamachi
Rebooten und fertig der Cubie ist einsatzbereit!!!
Zum Abschluss noch einen Tipp. Die Benutzeroberfläche vom Jdownloader, wenn sie nicht gebraucht wird, beenden. Wenn der JD im Hintergrund arbeitet erzeugt er wesentlich weniger CPU Auslastung und es bleiben mehr Reserven für das Entpacken.
Würde mich über konstruktive Kritik und Verbesserungsvorschläge freuen.