@clsalva ha scritto:
Premessa: Guida buttata giù velocemente. Mi riprometto nei prossimi giorni di sistemarla e di dettagliarla ulteriormente. Inoltre spero di riuscire ad allegare un pacchetto ".ipk" per evitarsi tutta la parte di compilazione. Qualsiasi commento e miglioria proposta è molto più che benaccetto!
FASE 1 - Preparazione del NAS
Installare Optware-ng per la gestione pacchetti seguendo le indicazioni -> https://github.com/Optware/Optware-ng
La lista dei pacchetti disponibili è qui -> http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.htmlNB: la cartella /opt è un link (symlink) ad una cartella che decidete voi. Vi consiglio di creare quest'ultima (nel mio caso Optware-NG) all'interno di /share/CACHEDEV_DATA1/.qpkg/ prima di installare Optware.
L'installazione avviene tramite consolle/terminale.
Logghiamoci via SSH (utente admin), installiamo Optware-NG e quindi diamo:
/opt/bin/ipkg update
e/opt/bin/ipkg install nano
Oppure:
export PATH=/opt:/opt/bin:/opt/sbin:$PATH ipkg update ipkg install nano
Una volta installato Optware-NG ricordatevi che ad ogni riavvio si perdono:
- la configurazione della PATH --> export PATH=/opt:/opt/bin:/opt/sbin:$PATH
- la configurazione di Optware-ng (vedi sotto)Per ovviare a questo secondo problema:
Nella cartella /share/CACHEDEV1_DATA/.qpkg/ vengono installati i pacchetti QNAP.
Ho creato quindi la cartella "autorun" [/share/CACHEDEV1_DATA/.qpkg/autorun/] con all'interno il file autorun.sh#!/bin/sh #cancello il refuso della cartella rm -R /opt #creo link virtuale ad Optware ln -s /share/CACHEDEV1_DATA/.qpkg/Optware-NG /opt
Per poter successivamente compilare ed installare aMule come utente non root, dobbiamo garantirci l'accesso ssh.
OpenSSH è preinstallato, ma accetta solo connessioni dall'utente "admin" e il file di configurazione è nella memoria flash che viene reinizializzata ad ogni riavvio; serve quindi usare un escamotage.1) Nel pannello di controllo del NAS, alla voce SSH/Telnet, va cambiata la porta di default del demone SSH (da 22 a quella che volete). In questo modo l'SSH di default ascolterà su una porta diversa e lascerà libera la 22 per il nostro SSH.
2) Installiamo openssh --> /opt/bin/ipkg install openssh
3) Inseriamo nel file autorun.sh:
#OpenSSH per Optware-ng /share/CACHEDEV1_DATA/.qpkg/Optware-NG/sbin/sshd -f /share/CACHEDEV1_DATA/.qpkg/Optware-NG/etc/openssh/sshd_config
4) (opzionale) Nel file di configurazion sshd_config io ho inserito la riga
AllowUsers amule utente1 utente2
Per garantire l'accesso alle utenze.
In realtà ho visto che anche senza questa riga, pare non ci siano problemi.
Possiamo provare il funzionamento lanciando il comando inserito prima in autorun.sh/share/CACHEDEV1_DATA/.qpkg/Optware-NG/sbin/sshd -f /share/CACHEDEV1_DATA/.qpkg/Optware-NG/etc/openssh/sshd_config
A questo punto dovremmo riuscire con un client SSH a collegarci sulla porta 22.
NOTA BENE: PRIMA di collegarsi, va creata l'utenza amule
adduser amule --h /share/homes/amule
e creiamo una password
passwd amule
Ora dobbimo essere sicuri che il file autorun.sh venga fatto partire ad ogni avvio di NAS.
Per farlo apriamo il file /etc/config/qpkg.conf e aggiungiamo (versione, autore e date modificatele a vostro piacimento):[Autorun] Name = Autorun Status = complete Version = 1.0 Author = Claudio Salvatore Date = 2016-02-06 Shell = /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh Install_Path = /share/CACHEDEV1_DATA/.qpkg/autorun Desktop = 1 Enable = TRUE
Questo fa si che il NAS pensi che il nostro "autorun" sia un pacchetto QNAP e lo esegue ad ogni avvio.
Ora la prova del nove. Riavviate il NAS.
Dovreste trovare:
1. Connessione SSH su porta 22 attiva
2. /opt/bin/ipkg è un comando conosciuto e presenteFASE 2 - Preparazione alla compilazione di Adunanza
NOTA BENE
Per compilare dopo aver installato Optware-ng usare sempre la seguente dicituraLDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt
1. INSTALLAZIONE PACCHETTI CON OPTWARE
Installare tramite Optware-ng:
- coreutils
- binutils
- sudo
- gcc
- gawk
- automake
- autoconf
- pkg config
- python e python-xml
- libxml2
- libfreetype
- xproto
- renderproto
- kbproto
- xextproto
- gtk2
- atk
- gtk2-doc
- cairo
- pango
- perl
- svn
- libupnp
- unzip
- libzip
- altri programmi che eventualmente richiede aMule e che si scoprono provando a compilarea verifica propedeutica che gli header che andremo ad utilizzare per le wxGTK siano presenti, lanciamo il comando:
pkg-config --cflags --libs gtk+-2.0
dovesse segnalarci la mancanza di qualche pacchetto, installiamolo con
ipkg install <pacchetto>
2. INSTALLAZIONE WXWIDGET
scaricare le wxGTK 2.8.12 --> https://github.com/wxWidgets/wxWidgets/releases/download/v2.8.12/wxGTK-2.8.12.tar.gz
Compilare le wxGTK con le opzioni "enable-unicode enable-gui --enable-utf8"
quindi
LDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt --enable-unicode --enable-gui --enable-utf8
e se tutto va bene finirà così:
Configured wxWidgets 2.8.12 for armv7l-unknown-linux-gnu Which GUI toolkit should wxWidgets use? GTK+ 2 Should wxWidgets be compiled into single library? no Should wxWidgets be compiled in debug mode? no Should wxWidgets be linked as a shared library? yes Should wxWidgets be compiled in Unicode mode? yes What level of wxWidgets compatibility should be enabled? wxWidgets 2.4 no wxWidgets 2.6 yes Which libraries should wxWidgets use? jpeg sys png sys regex builtin tiff sys zlib sys odbc no expat sys libmspack no sdl no
Quindi completiamo con
make
emake install
e il risultato sarà------------------------------------------------------ The installation of wxWidgets is finished. On certain platforms (e.g. Linux) you'll now have to run ldconfig if you installed a shared library and also modify the LD_LIBRARY_PATH (or equivalent) environment variable. wxWidgets comes with no guarantees and doesn't claim to be suitable for any purpose. Read the wxWidgets Licence on licencing conditions. ------------------------------------------------------
3. INSTALLAZIONE LIBRERIE BOOST
update: le librerie si possono facilmente installare con Optware:
ipkg install boost-dev
ipkg install boost-exception-dev
ipkg install boost-system
Lascio comunque qui sotto la guida per la compilazione della versione sorgenti:
Scaricare la libreria Boost --> https://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2
Scompattare il file, entrare nella cartella creata e installa/compila con il comando
. bootstrap.sh
4. INSTALLAZIONE LIBRERIE CRYPTO++
Creare la cartella cryptopp e posizionatevi al suo interno
mkdir cryptopp
ecd cryptopp
Scaricare il file CryptoppXXX.zip da qui (al momento la versione è la 5.6.3)
wget https://www.cryptopp.com/cryptopp563.zip
Quindi scompattate il file con
unzip cryptopp563.zip
Per compilare le librerie, vanno dati i comandi:
make static dynamic cryptest.exe
make install PREFIX=/opt
5. MODIFICA A SUDO
Modifichiamo la lista degli utilizzatori di 'sudo', per poter poi installare aMule con l'utenza amule non root.
nano /etc/group
Aggiungere il gruppo "sudo" e l'utenza "amule" precedentemente creata a tale gruppo:
sudo:x:28:amule
Aggiungiamo l'utente "root" al file /etc/passwd copiando la stessa riga dell'utente admin
admin:x:0:0:administrator:/share/homes/admin:/bin/sh root:x:0:0:administrator:/share/homes/admin:/bin/sh
Quindi apportiamo una modifica al file di configurazione di sudo:
visudo
e togliamo il commento alla linea
## Uncomment to allow members of group sudo to execute any command %sudo ALL=(ALL) ALL
:wq!
(per salvare ed uscire)6. INSTALLAZIONE AMULE ADUNANZA
Ora loggatevi con l'utente amule via SSH ($HOME --> /share/homes/amule)
Prendete l'ultima versione di Adunanza dal repository svn:svn co http://svn.code.sf.net/p/amule-adunanza/code/branches/MoonRiver/ adunanza
Entriamo nella cartella adunanza e compiliamo:
cd adunanza
LDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt --enable-amule-daemon --enable-optimize --with-boost
Se ci sono errori, probabilmente manca qualche pacchetto (di solito è esplicitato) o quello presente nel repository manca di qualche parametro di compilazione.
Se non abbiamo errori:
make
e quindi:
sudo make install
(la password che viene richiesta è quella dell'utente amule)Amule è compilato.
7. LANCIARE IL DEMONE ADUNANZA
Facciamo partire il demone aMule Adunanza per la prima volta:
amuled -f
[crea alcuni file necessari]Se non abbiamo errori, terminiamo il processo e proseguiamo con la configurazione.
killall amuled
[termina il processo amuled]Entriamo nella cartella (nascosta da File Station su QNAP):
cd /share/homes/amule/.aMuleAdunanza
all'interno abbiamo il file di configurazione amule.conf. Per la configurazione ci sono molti thread. Io onestamente al momento ho solo abilitato l'accesso da amuleGUI.
se volete condividere una cartella -->
nano shareddir.dat
[ogni riga un percorso completo ai file. Non è ricorsivo]Per collegarsi e configurare aMule valgono tutte le discussioni presente nel forum adunanza.
In particolare questa guida è fatta bene, il procedimento è molto simile e comprende anche la parte di configurazione.Una volta completata la configurazione, sempre con l'utente amule
amuled -f
8. RISOLUZIONE PROBLEMI TEMPORANEI (APRILE 2016)
grazie a @lukybus per la segnalazioneAl momento si verificano alcuni errori con i file nodes.dat e server.met, causando difficoltà di collegamento ai server ed alla rete kadu. Per ovviare al problema, da terminale con utente amule potete fare cosi [fonte forum Adunanza]:
cd ~/.aMuleAdunanzA && wget http://forum.adunanza.net/uploads/default/original/2X/e/ebf5967b5518e4e7538ba59ad096445689f6de2f.zip http://forum.adunanza.net/uploads/default/original/2X/7/7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip && unzip ebf5967b5518e4e7538ba59ad096445689f6de2f.zip && unzip 7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip && rm ebf5967b5518e4e7538ba59ad096445689f6de2f.zip 7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip
Inoltre nel file adunanza.conf, presente nella cartella .aMuleAdunanzA, con utente amule e demone amule spento, la riga
UpdateURL=http://update.adunanza.net/3-16/adu_remote.conf
va modificata in
UpdateURL=update.adunanza.net/3-16/adu_remote.conf
Messaggi: 48
Partecipanti: 6