Passa ai contenuti principali

RaspberryPi: configurare un muletto aMule


Premessa
Il progetto di oggi legato al RaspberryPi è quello di configurarlo come muletto. Per comodità ho comprato una pendrive da 32GB collegata al raspi da utilizzare come disco esterno autoalimentato.
L'idea è quella di utilizzare il client GNU\Linux su un'altra macchina per pilotare il demone di aMule utilizzando aMule Remote GUI. In rete spesso si trovano guide per configurare l'interfaccia aMule Web che sconsiglio visto che dagli stessi sviluppatori è ritenuta instabile.



Collegare il Raspberry Pi ad un hard disk o pendrive USB
Questa fase preparatoria ha lo scopo di avere un sistema che riconosca ad ogni avvio la presenza della pendrive e che la monti in una posizione stabile nel tempo. Per ottenere questo risultato è necessario modificare la tabella delle partizioni. Quando GNU\Linux riconosce un drive USB crea un file nella cartella /dev. Per avere un elenco dei drive caricati basta eseguire da linea di comando

sudo fdisk -l

confrontando le dimensioni dei dischi e il tipo di filestystem potrete facilmente riconoscere dove si trova la pendrive. Nel mio caso si trova in /dev/sda1. Se avete formattato la pendrive con il formato NTFS allora dovrete assicuravi di aver installato il seguente pacchetto con il comando da terminale:

sudo apt-get install ntfs-3g

1 Creaiamo una cartella dove andare a montare il disco ad ogni riavvio con il comando

sudo mkdir /media/usbhdd

2 Assegniamo i permessi all'utente di default pi

sudo chown pi:pi /media/usbhdd

3 Proviamo a montare il disco con il comando

sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbhdd

nota che se si sta usando un disco formattato in NTFS sarà da sostiruire -t vfat con -t ntfs-3g

4 Proviamo a smontare il disco con il comando

sudo umount /media/usbhdd

5 Ora siamo pronti a modificare il file di configurazione fstab con il comando

sudo nano /etc/fstab

aggiungere in fondo al file

/dev/sda1 /media/usbhdd vfat uid=pi,gid=pi 0 0

6 Riavviare il raspi per controllare che sia tutto a posto

Installazione e configurazione di aMule
Vediamo ora come procedere con l'installazione e la configurazione di aMule.

1 Il pacchetto di aMule è presente nei repository di Raspbian. Per installare basta quindi

sudo apt-get install amule-common amule-daemon amule-utils

2 Per configurare aMule ad accettare connessioni da remoto dobbiamo creare il file di configurazione ~/.aMule/amule.conf con il comando.

amuled -f

Fatto questo eseguiamo

pikill -9 amuled

per terminare il processo. Ora modificare il file di configurazione con il comando

nano ~/.aMule/amule.conf

Cercare la sezione

[External Connect]

e inserire il valore "1" per la seguente property:

AcceptExternalConnections=1

3 Generiamo una password per l'accesso da inserire nei file di configurazione. La codifica richiesta è in MD5. Possiamo generare la passaword da terminale con il seguente comando:

echo -n nuovaPassword | md5sum | cut -d ' ' -f 1

dove ovviamente sostituire "nuovaPassword" con la password scelta.

4 Aggiungiamo la password appena creata nel file ~/.aMule/amule.conf alla property

ECPassword=

5 Ora nella sezione

[WebServer]

impostare:

Enabled=1
Password=la password generata precedentemente in codifica MD5
Template=default


6 Infine serve configurare il file ~/.aMule/remote.conf

nano ~/.aMule/remote.conf

AdminPassword= la stessa password impostata in amule.conf codificata in MD5
Template=default


7 Uscire e salvare con CTRL+X e Y

Configurare il router
Amule utilizza delle porte prestabilite per le connessioni. Quasi tutti i router hanno le porte di comunicazione chiuse per ragioni di sicurezza. Per configurare il proprio router vi rimando a questa pagina http://www.emule.it/guida_emule/config_porte/routers.asp

Primo avvio di Amule. Aggiugnere i server Met
Dopo il primo avvio se foste interessati ad utilizzare la rete Kademlia http://it.wikipedia.org/wiki/Kademlia dovrete fare il bootstrap dei server met. Un buon sito che ne tiene un elenco funzionante è http://www.giardiniblog.com/server-met/

Da provare: Controllo remoto con Android
Non ho ancora provato ma questo client per Android potrebbe essere molto interessante ed è sviluppato da un italiano

Links
http://raspberrywebserver.com/serveradmin/connect-your-raspberry-pi-to-a-USB-hard-disk.html
http://www.slacky.eu/slacky/AMule_remote
http://www.emule.it/guida_emule/config_porte/routers.asp
http://www.giardiniblog.com/server-met/
https://play.google.com/store/apps/details?id=com.iukonline.amule.android.amuleremote&hl=it

Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Riflessioni sull'ordinamento

Gli algoritmi di ordinamento sono da sempre i più gettonati e interessanti dal punto di vista didattico (si veda la complessità computazionale) e funzionale (quasi tutti i programmi hanno almeno una funzione di ricerca). Proprio di questi giorni sono alcuni articoli di Programmazione.it dedicati a questo tema (link).Coding Horror in questo articolo presenta una provocazione molto interessante al di là delle opinioni personali:

The default sort functions in almost every programming language are poorly
suited for human consumption.
L'articolo pone l'attenzione sulla differenza tra l'ordinamento alfanumerico e quello ASCII solitamente usato nei metodi nativi dei linguaggi. Il discorso si ampia se poi pensiamo banalmente alla differenza tra Windows e GNU/Linux che è case sensitive.
Spesso i sistemi operativi e i linguaggi di programmazione realizzano ordinamenti rispettando l'ordine della tabella di codifica ASCII e non l'ordinamento naturale della lingua. I commenti a se…

Timeline dei Linguaggi di programmazione

O'Reilly ha reso disponibile per tutti gli appassionati un interessante poster in formato pdf in cui vengono riassunti 50 anni di storia dei linguaggi di programmazione.Il poster mostra una timeline colorata nella quale sono evidenziate le principali derivazioni tra i vari linguaggi... da vedere
http://www.oreilly.com/news/graphics/prog_lang_poster.pdf



fonte programmazione.it