Archives For SSH

La quantità di materiale a disposizione dei possessori di NAS Synology è impressionante. Ci sono community in grado di utilizzarlo per cuocerci due uova e una bistecca al sangue, persone che non si arrendono certo davanti a una commerciale impossibilità (o mancata volontà) di integrare alternative a software ufficiali supportati dalla casa madre. A tutto questo io aggiungerei un “per fortuna“.

Qualche mese dopo l’acquisto del mio Synology DS216j, posso ritenermi tutto sommato soddisfatto di quanto messo in piedi (fa forse eccezione la scelta –sbagliata– del taglio disco da mettere in RAID 1, potendo tornare indietro metterei nel carrello da subito due dischi da 4 TB anziché da 2), e soprattutto sono molto contento di quanto si possa personalizzare il prodotto secondo le proprie esigenze. In questo articolo, ti voglio spiegare come passare a un eMule Adunanza, distribuzione custom dedicata agli abbonati Fastweb e certamente più rapido dell’eMule presente di fabbrica sul prodotto Synology (non solo il mio DS216j).

Synology: nuovi repository e file di ricerca 2

aMule AdunanzA

Ricorda che tutto il mio test (e relativo articolo) hanno fatto leva su un NAS con processore ARM, non posso quindi fare test (e darti istruzioni) per un’architettura diversa, basata per esempio su Intel. Detto ciò, basandomi sulla guida originale del 2016 ancora disponibile nel forum di AdunanzA (forum.adunanza.net/t/installare-amule-adunanza-su-synology-arm/9392), ho fatto accesso al mio NAS e sono passato all’utente di root.

Per farlo (con le versioni di DSM attuali) dovrai accedere al NAS in SSH e utilizzare il sudo -i, comando che richiederà di inserire la password dell’amministratore che solitamente utilizzi per entrare sull’interfaccia web.

ATTENZIONE: io, se posso darti un consiglio, eviterei di utilizzare l’utente root e creerei un account a parte, da utilizzare per installare e poi gestire aMule AdunanzA anche in seguito. Ho fatto così in seguito ai test eseguiti da root.

Se è la prima volta che utilizzi l’utente di root, riceverai un messaggio di Synology che ti inviterà a fare attenzione a ciò che tocchi:

We trust you have received the usual lecture from the local System
 Administrator. It usually boils down to these three things:
 #1) Respect the privacy of others.
 #2) Think before you type.
 #3) With great power comes great responsibility.

Appurato ciò, si passa all’installazione degli aggiornamenti dei pacchetti IPKG:

AduUser@Syno:~# feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
AduUser@Syno:~# ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'`
AduUser@Syno:~# wget $feed/$ipk_name
--2017-05-01 16:41:55--  http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
Resolving ipkg.nslu2-linux.org... 140.211.169.161
Connecting to ipkg.nslu2-linux.org|140.211.169.161|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74474 (73K) [text/plain]
Saving to: 'ipkg-opt_0.99.163-10_arm.ipk'

100%[==========================================================>] 74,474       219KB/s   in 0.3s

2017-05-01 16:41:56 (219 KB/s) - 'ipkg-opt_0.99.163-10_arm.ipk' saved [74474/74474]
AduUser@Syno:~# tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
./data.tar.gz
./
./opt/
./opt/bin/
./opt/bin/ipkg
./opt/bin/ipkg-opt
./opt/bin/update-alternatives
./opt/etc/
./opt/etc/ipkg.conf
./opt/lib/
./opt/lib/libipkg.so
./opt/lib/libipkg.so.0
./opt/lib/libipkg.so.0.0.0
./opt/share/
./opt/share/ipkg/
./opt/share/ipkg/intercept/
./opt/share/ipkg/intercept/depmod
./opt/share/ipkg/intercept/ldconfig
./opt/share/ipkg/intercept/update-modules
AduUser@Syno:~# mkdir -p /opt/etc/ipkg
AduUser@Syno:~# echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
AduUser@Syno:~# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.

Quindi si scarica e si installa aMule AdunanzA, pacchetto disponibile anch’esso sul forum (l’ho scaricato precedentemente e messo in una cartella del NAS, la “Download“, così da raggiungerlo facilmente via SSH). Tu puoi ottenerlo da qui o in alternativa prendendo la copia che ho caricato su box (app.box.com/s/bcrnvq0m9uegrsvcf3q03oqdwn3jyub9):

AduUser@Syno:~# cd /volume1/Download/
AduUser@Syno:/volume1/Download# /opt/bin/ipkg install amuleadunanza-svn_rev531-2014.1_arm.ipk
Installing amuleadunanza-svn (rev531-2014.1) to AduUser...
package libupnp suggests installing ushare
Installing libstdc++ (6.0.9-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libstdc++_6.0.9-6_arm.ipk
Installing wxbase (2.8.12-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wxbase_2.8.12-1_arm.ipk
Installing expat (2.0.1-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/expat_2.0.1-1_arm.ipk
Installing zlib (1.2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/zlib_1.2.5-1_arm.ipk
Installing libpng (1.2.44-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libpng_1.2.44-1_arm.ipk
Installing libgd (2.0.35-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libgd_2.0.35-6_arm.ipk
Installing libjpeg (6b-3) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libjpeg_6b-3_arm.ipk
Installing freetype (2.3.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/freetype_2.3.6-1_arm.ipk
Installing fontconfig (2.8.0-0) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/fontconfig_2.8.0-0_arm.ipk
Installing gconv-modules (2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/gconv-modules_2.5-1_arm.ipk
Installing libupnp (1.6.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libupnp_1.6.6-1_arm.ipk
Configuring amuleadunanza-svn
Configuring expat
Configuring fontconfig
Configuring freetype
Configuring gconv-modules
Configuring libgd
Configuring libjpeg
Configuring libpng
Configuring libstdc++
Configuring libupnp
Configuring wxbase
Configuring zlib
Successfully terminated.

Il primo avvio di aMule AdunanzA servirà a verificare che tutto sia andato a buon fine ma, soprattutto, a permetterti di generare i file di configurazione che andranno in seguito modificati per poter ottenere un software che rispetti le tue esigenze e i tuoi criteri d’uso (cambio di porte da utilizzare, attivazione dell’interfaccia web, ecc.):

AduUser@Syno:/opt/bin# ./amuled -f
2017-05-01 16:50:17: Initialising aMuleDAdunanzA MOD based on aMule SVN compiled with wxBase v2.8.12 and Boost 1.56 (Snapshot: rev. 531) AdunanzA 2014.1b1
2017-05-01 16:50:17: Checking if there is an instance already running...
2017-05-01 16:50:17: No other instances are running.
2017-05-01 16:50:17: ListenSocket: Ok.
2017-05-01 16:50:17: amuled: forking to background - see you

Torna sul forum e dai un’occhiata al paragrafo 7 (7. CONFIGURAZIONE amuleAdunanza) per capire come procedere e cosa toccare. Io ho configurato il mio aMule per partire su porti differenti rispetto allo standard (già utilizzate da un altro client in casa). Ricorda che dovrai sempre e comunque toccare la configurazione del tuo router per permettere una corretta comunicazione con l’esterno, ma quello è un altro discorso e spero tu lo conosca già (la stessa sorte vale per il firewall integrato in Synology, se lo utilizzi, nda).

Per snellirla un po’, puoi evitare di scaricare le liste server e nodi, non ti servono, puoi sempre caricarle in un secondo momento o appoggiarti a quelle già disponibili, ti basteranno per partire.

Trovi ulteriori riferimenti ai file di configurazione (per poter utilizzare aMule senza GUI) all’indirizzo stefano.dscnet.org/a/amuled_amule_senza_gui. Ora, ammesso che non ci siano errori, sei pronto per avviare ancora una volta il demone di aMule, e subito dopo quello della sua interfaccia di amministrazione web (altrimenti diventa più difficile amministrarlo per chi non si destreggia più di tanto con la riga di comando, nda). Ammesso che tu ti sia spostato già nella /opt/bin, dove hai installato aMule AdunanzA, i comandi per lanciare ciò che ti serve sono ./amulewed -f e ./amuleweb.

Al comando che avvia amuleweb ho notato che serve indicargli la password come parametro da riga di comando, la stessa che ti servirà per accedere poi all’interfaccia web (appunto). Per facilitarmi la vita, ho preparato un piccolo script da tenere a portata di mano sul NAS, il quale può avviare, spegnere o riavviare i servizi dedicati ad aMule:

Update

Ho aggiornato lo script includendo anche la possibilità di riavviare il solo servizio relativo all’interfaccia web di aMule, talvolta capita che questa vada in crash a causa delle elevate risorse richieste. Ho aggiunto il comando restartweb (già che c’ero ho anche messo a posto qualcosina, pura estetica e nulla più) :-)

L’utilizzo (se sei abituato a convivere con questo genere di roba) è semplice. Lo richiami tramite ./aMuleStart.sh (dopo averlo reso eseguibile, nda), seguito da start (per far partire i processi che ti servono), stop (per terminarli) o restart (per fermare e avviare da zero i processi). Lo script è chiaramente da tenere a portata di mano per poterlo richiamare facilmente da prompt SSH (la cartella home dell’utente che hai creato per installare e far partire aMule AdunanzA può essere la giusta scelta).

Se –ancora una volta– non ci sono stati errori, potrai finalmente aprire il tuo browser e puntare all’IP del tuo NAS, porta 4711 (a meno che tu non l’abbia cambiata, cosa che ti consiglio di fare) :-)

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca

Da qui in poi, nonostante si tratti di un’interfaccia molto più spartana rispetto a quella del client proposto sui sistemi Microsoft (e per certi versi anche più di quella proposta da Synology), potrai aggiungere download da eseguire, nuovi server, ecc. Ci sono alcuni bug, le statistiche non sono sempre ben visibili, ma il suo lavoro lo porta a termine correttamente, e se hai fatto tutto questo perché sei cliente Fastweb con necessità di far lavorare AdunanzA, noterai seri miglioramenti rispetto a quanto fatto con il modulo integrato nel DSM.

Nuovi repository

Che poi è un po’ un tornare all’introduzione di questo articolo, e capire sin da subito che il mondo va ben oltre quello che propone Synology tramite il Centro Pacchetti “di base“. Ci sono decine di porting per applicazioni che siamo abituati a vedere funzionare su sistemi Linux non embedded come quello di questo NAS, ed è assolutamente facile varcare quella soglia volutamente (e giustamente, aggiungerei) imposta dal produttore.

Allo stato attuale, i contributi scaricabili dalla comunità arrivano a superare i 100 pacchetti, tutti alla portata di clic (e successiva configurazione secondo proprie esigenze), tutti raggiungibili andando a modificare quella lista di repository che tu stesso puoi popolare andando nel Centro PacchettiImpostazioniPacchetti sorgente:

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca 1

Trovi diversi riferimenti in internet dove è possibile capire cosa propongono i repository Synology amatoriali (e non), prova a dare un’occhiata al sito italiano dedicato (qui trovi una discussione ad-hoc), o magari a quello ufficiale (qui in particolare un post di un thread che raccoglie diverse fonti ancora funzionanti).

In realtà poco tempo fa funzionava perfettamente anche il monitor messo a disposizione da dottoremoe.com, utile per tenere d’occhio tutti i repository e relativi tempi di up & down (vedi dottoremoe.com/synomon-3rd-parties-package-list-update), sfortunatamente però a ora sembra non funzionare più (credo ci siano stati problemi con il provider che ospita quel sito web, in attesa quindi che vengano risolti), era davvero utile.

Sì, ma i file di ricerca?

Quasi dimenticavo. I file di ricerca servono ad aggiungere motori (appunto) di ricerca (ma va?) a quelli già disponibili sul DSM. Naviga verso synoboost.com, ed esplora la quantità di alternative messe a disposizione. Scarica e installa ciò che ti serve all’interno del Download Manager, le istruzioni sono fornite per ogni pacchetto aggiuntivo scaricato, dai un’occhiata a queste due immagini catturate durante i test eseguiti sul mio NAS, giusto per farti un’idea:

In conclusione

Un mondo tutto da esplorare e da migliorare costantemente. L’importante è dedicargli il giusto tempo, provare (e riprovare), cercando però di evitare danni irreparabili (occhio, che qui i backup non sono poi così semplici da tirare in piedi, non si torna indietro in un batter d’occhio), ma soprattutto da tenere sempre in sicurezza (non aprire verso l’esterno porte che non ti servono e tieni sempre up-to-date il tuo DSM, giusto qualche giorno fa è stata resa pubblica la patch che ha corretto il bug relativo a WannaCry), trovi le note di rilascio sul sito di Synology:

Version: 6.1.1-15101-4
(2017/05/25)

Important Note

  1. The update is expected to be available for all regions within the next few days, although the time of release in each region may vary slightly.

Fixed Issues

  1. Fixed a security vulnerability regarding samba service (CVE-2017-7494).

vedi: synology.com/en-us/releaseNote/DS216j

E anche per stavolta è tutto.

Buon inizio di settimana! :-)

Condividi l'articolo con i tuoi contatti:

Pogoplug-series4-hero_FotorDi Pogoplug, Busybox e Samba ve ne ho già parlato abbondantemente in un articolo pubblicato ormai qualche mese fa, oggi vi voglio parlare di un semi-automatismo creato in casa e che vi permetterà di riavviare agilmente il Pogoplug e il Samba a bordo nel caso in cui, per qualche motivo, il disco USB collegato non sia più correttamente visibile (capita sporadicamente).

Nel primo articolo vi avevo proposto PuTTY come metodo di collegamento all’OS Linux a bordo macchina, oggi ho modificato quella scelta per permettere ad un piccolo batch di operare senza ulteriore intervento (o quasi) da parte dell’utente, e senza salvare script a bordo del Pogoplug.

Mi hanno fatto scoprire KiTTY, un fork del più conosciuto progetto di Simon Tatham che permette però di avere a disposizione più opzioni ed anche la possibilità di salvare le credenziali per l’accesso ad una macchina remota Unix-based (e non solo), Pogoplug ovviamente compreso.

KiTTY si scarica gratuitamente da fosshub.com/KiTTY.html, voi dovete solo metterlo in una cartella che Windows è in grado di raggiungere dallo Start / Esegui (basta aggiungere quella cartella nel PATH di sistema) così che lo script (che vedremo dopo) sia in grado di trovarlo senza difficoltà alcuna. Nel frattempo avviatelo per la prima volta e inserite i dettagli di collegamento al Pogoplug come certamente fatto con PuTTY in precedenza, spostatevi nella scheda “Data” (colonna di sinistra, sotto Connection) ed inserite lo username (root) e la password di connessione al device, così da attivare l’autenticazione automatica. Occhio però, questa è un’impostazione che potete mantenere su un PC privato, non certo pubblico, altrimenti chiunque all’interno della famiglia potrà collegarsi facilmente al Pogoplug, anche per sbaglio.

A questo punto salvate il profilo. Potrete così richiamarlo in seguito con un semplice doppio clic (da programma) oppure da prompt dei comandi di DOS con un “kitty -load $NomeProfilo” dove sostituire $NomeProfilo con il nome scelto da voi in fase di creazione di questo stesso profilo.

Da qui alla creazione di un piccolo script che automatizza il riavvio di Busybox, ed in seguito Samba, il passo è davvero breve:

@echo off
REM Ultima modifica 28 apr. 15

echo Riavvio Pogo in corso, attendere.

:RESTART
echo.
start "" kitty -load Pogo -cmd "busybox reboot"
ping 127.0.0.1 -n 10 > NUL
taskkill /IM kitty.exe /F

:SAMBA
echo.
echo Attendere 20 secondi per accedere via SSH e rilanciare Samba ...
ping 127.0.0.1 -n 20 > NUL
start "" kitty -load Pogo -cmd "/opt/etc/init.d/S80samba start"
ping 127.0.0.1 -n 12 > NUL
taskkill /IM kitty.exe /F

:VERIFICA
start "" kitty -load Pogo -cmd "ps | grep smb"

Giusto per capirci: il batch lancia KiTTY e subito dopo esegue un “busybox reboot” per riavviare Pogoplug (grazie all’ulteriore parametro -cmd seguito dall’operazione da lanciare in fase di post-login), termina KiTTY dopo 10 secondi (tramite il Task Manager di Windows) e ne riapre uno nuovo dopo altri 20 secondi così da permettere a Busybox di ripartire correttamente, quindi lancia il già conosciuto “/opt/etc/init.d/S80samba start” per avviare il Samba installato. Una volta chiuso (ancora) KiTTY ne verrà aperto uno “finale” per verificare che il processo di Samba stia girando correttamente, quest’ultima finestra di KiTTY andrà chiusa manualmente (così da permettervi di controllare che tutto sia in ordine o lanciare ulteriori comandi in console in caso di necessità).

Il batch potrà essere lanciato manualmente o in automatico quando andrà in errore la lettura del disco collegato in USB, a vostra discrezione.

Un consiglio prima di concludere. KiTTY può leggere impostazioni personalizzate se all’interno della sua stessa cartella andate ad inserire un file di configurazione. Al suo interno potete indicare i tempi per l’esecuzione dei comandi dopo il login, parametri fondamentali nel caso in cui il batch sopra riportato sia troppo “veloce” nel chiudere le sessioni aperte senza che queste abbiano ancora eseguito i comandi desiderati:

[KiTTY]
initdelay=2.0
commanddelay=0.1
bcdelay=5

Da salvare come kitty.ini e inserire nella stessa cartella del programma come già detto. Nato prendendo spunto dalla pagina ufficiale di riferimento disponibile su 9bis.net/kitty/?page=Automatic%20command&zone=en e che spiega quali valori utilizzare per cercare di far girare al meglio l’esecuzione del KiTTY sulla propria macchina, trovate nello stesso sito web ulteriori documentazioni, riferimenti, esempi e qualsiasi altro dato legato all’utilizzo e alla conoscenza di questo tool alternativo a PuTTY che potrete utilizzare per gestire anche le vostre altre macchine in giro per la rete locale e non.

L’area commenti è -come al solito- a vostra totale disposizione nel caso in cui troviate degli errori, abbiate dubbi o suggerimenti per migliorare il lavoro fatto :-)

Condividi l'articolo con i tuoi contatti:

Pogoplug è un piccolo prodotto attraverso il quale potrete creare e gestire uno spazio cloud completamente personale (i file sono fisicamente presenti sui vostri dischi, ndr) con il vantaggio dell’avere un software già ben avviato (e abbastanza aggiornato), sempre disponibile sul web e raggiungibile tramite applicazione o interfaccia navigabile da browser. Uno spazio potenzialmente “infinito” (con le dovute pinze, ovviamente) grazie alle porte USB ed eSata presenti sul Pogoplug stesso al quale potrete ovviamente collegare dischi esterni. Questo articolo è dedicato alla quarta versione del prodotto acquistata a un prezzo decisamente inferiore al suo listino grazie ad un’offerta su Amazon (US), pacco consegnato in pochissimi giorni e con un ricarico minimo di tasse per un totale di spesa inferiore ai 40 € (impossibile non essere soddisfatti delle performance del big del commercio elettronico), considerando che il prezzo di listino si aggira ufficialmente intorno al centinaio di euro.

Pogoplug-series4-hero_Fotor

Il Pogoplug diventa ancora più interessante se si pensa che con un minimo di lavoro si riesce a modificare il comportamento di default previsto dalla casa madre poiché basato su una distribuzione essenziale di Linux chiamata Busybox:

/etc # uname -a
Linux Pogoplug 2.6.31.8 #5 Wed Sep 28 12:09:12 PDT 2011 armv5tel GNU/Linux

Di risorse ne esistono davvero tante e nel corso del tempo sono saltati fuori articoli in grado di spiegare passo-passo tutte le possibili modifiche o aggiunte al sistema; dall’installazione di Samba per la condivisione dei file in rete LAN su Windows al client Torrent da poter controllare anche da remoto con il minimo sforzo. Stavolta si affronta la prima citata con una piccola parentesi dedicata a OS X, ne ho raccolte diverse su delicious.com/gioxx/pogoplug.

Per partire

Procuratevi una scheda SD (anche da 1 GB, basta e avanza), un client che possa collegarsi in SSH al Pogoplug (terminale di OS X o Linux o PuTTY su Windows) e un cavo di rete direttamente connesso al vostro router (il Pogoplug non integra un chip WiFi e il cavo resta in ogni caso più stabile e affidabile, ndr). Se sapete di cosa sto parlando consiglio una reservation sul DHCP basata sul Mac Address del Pogoplug che trovate direttamente sulla sua etichetta.

A corredo suggerisco le applicazioni per iOS e Android se prevedete di effettuare il backup dei vostri dispositivi sul disco fisso connesso al prodotto (o nei 5GB messi a disposizione dall’account gratuito online).

Pogoplug
Pogoplug
Price: Free+

Da ora in poi (e per alcuni vale già quanto scritto fino a qui) occhio a ciò che fate. Se non vi sentite sicuri utilizzate l’area commenti per chiedere lumi o rinunciate, nessuno ve ne farà una colpa ;-)

SD: formattazione su OS X

Questo è quel paragrafo che potete saltare a piè pari nel caso in cui stiate lavorando sotto Microsoft Windows. Tasto destro sulla lettera che identifica la vostra scheda SD, Formatta, scegliete FAT32 tra le voci disponibili in File System ed è fatta (occhio alla formattazione veloce, basta e avanza per quello che andremo a fare). Su OS X la storia cambia, non si traduce con un paio di clic, aiuta decisamente più il Terminale. A SD inserita lanciatelo e cercate la scheda tra le memorie disponibili con il comando:

diskutil list

Una volta identificata (date un’occhiata allo spazio totale, così la facciamo più semplice) si parte con la formattazione in FAT32:

sudo diskutil eraseDisk FAT32 POGO MBRFormat /dev/disk4

dove “POGO” è il nome che ho scelto per la scheda SD (quindi potete usarne un altro) e disk4 è la scheda individuata tramite il “list“, questo il risultato:

Neptune:~ gioxx$ sudo diskutil eraseDisk FAT32 POGO MBRFormat /dev/disk4
Password:
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk4s1 as MS-DOS (FAT32) with name POGO
512 bytes per physical sector
/dev/rdisk4s1: 15485368 sectors in 1935671 FAT32 clusters (4096 bytes/cluster)
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=8192 drv=0x80 bsec=15515648 bspf=15123 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk4
Neptune:~ gioxx$

Potete quindi smontare la scheda SD e inserirla nel Pogoplug, che accenderete subito dopo collegandolo alla rete elettrica.

Installazione di Samba

Il mio articolo si basa sull’ottimo originale pubblicato da Razvan Rosca e disponibile su razva.ro/how-to-install-samba-on-pogoplug-4 (lo stesso ha scritto come installare Arch Linux pur mantenendo le caratteristiche del salvataggio in cloud di My Pogoplug: razva.ro/install-arch-linux-pogoplug-samba-pogoplug-4). Qui voglio raccogliere il da farsi localizzato in italiano basandomi sulla mia personale esperienza (nel mio caso ho utilizzato una scheda SD e un disco USB attaccato a una delle porte USB 3.0), suggerendovi altre fonti che ho avuto modo di scoprire e leggere durante le svariate ricerche fatte.

La scheda SD è formattata e dentro al Pogoplug, abilitate il prodotto a farvi accedere via SSH dalla pagina web del servizio (my.pogoplug.com, Settings, Security):

Schermata 2015-01-27 alle 22.09.14

Scegliete una password che potrete ricordare semplicemente ma che non sia banale (soprattutto se il vostro Pogoplug sarà accessibile dall’esterno della vostra rete casalinga tramite IP pubblico!). Usate ora un Terminale (OS X o Linux) o PuTTY su Windows (ne avevamo già parlato, ricordate?) e puntate all’IP del Pogoplug, entrate come root e con la password che avete stabilito sull’interfaccia web. Da ora in poi è tutto un comando o un file di configurazione, procedete con ordine, non fate confusione, nel caso aveste dei dubbi utilizzate l’area commenti!

Montate la “/” in lettura e scrittura e create la cartella /opt

mount -o remount,rw /
mkdir /opt

prima di poter montare la scheda SD nella /opt sarà necessario capire chi è la SD e chi il disco fisso collegato alla porta USB, per farlo basterà andare in /tmp/.cemnt e lanciare un ls della cartella:

cd /tmp/.cemnt/ls | grep mnt

questo il mio risultato:

/tmp/.cemnt # ls -la | grep mnt_
drwxr-xr-x    6 root     root   4096 Jan  1  1970 mnt_mmcblk0p1
drwxr-xr-x    1 root     root   8192 Jan 14 02:18 mnt_sda1
/tmp/.cemnt #

e si scopre che mnt_mmcblk0p1 è la scheda SD (basta entrare nella cartella e lanciare un ulteriore ls per controllare che file contiene, riconoscerete cosa avete messo dove, no? :-)). A questo punto si potrà procedere con il montare in lettura e scrittura la SD nella /opt:

mount -o exec,remount /tmp/.cemnt/mnt_mmcblk0p1/ /opt

Sostituiamo il wget originale del Pogoplug con quello ufficiale che siamo abituati a vedere sulle macchine Linux più comuni (ma anche su Windows, usato in diversi miei script):

cd /opt
mkdir work
cd work
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wget_1.12-2_arm.ipk
tar xf wget_1.12-2_arm.ipk
tar xf data.tar.gz
mv /usr/bin/wget /usr/bin/wget.bak
mv /opt/work/opt/bin/wget /usr/bin/

a questo punto procediamo con un po’ di pulizia per poter lavorare meglio, basta un semplice

rm -rf /opt/work/*

Ora si passa all’installazione di IPKG che permetterà in seguito di installare pacchetti binari tra cui Samba, da spostare subito dopo nella /opt:

cd /opt/work
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
tar xf ipkg-opt_0.99.163-10_arm.ipk
tar xf data.tar.gz
cd /opt/work/opt
mv * /opt

pulizia, ancora una volta:

rm -rf /opt/work/*

A questo punto occorrerà preparare la directory all’interno della quale far lavorare IPKG e aggiungere i repository ai quali “bussare” per cercare e scaricare i pacchetti:

mkdir -p /opt/etc/ipkg
echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf
echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /opt/etc/ipkg/armel-feed.c

e coprire i file delle dipendenze per poi lanciare l’aggiornamento di IPKG:

cp /opt/lib/libipkg.so.0.0.0 /opt/lib/libipkg.so.0
/opt/bin/ipkg update

Siamo pronti per installare libnsl ed in seguito Samba:

/opt/bin/ipkg install libnsl
cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so
cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so.1
/opt/bin/ipkg install samba2

A questo punto bisognerà mettere da parte il file di configurazione di default di Samba per poterne creare uno nuovo che andremo a personalizzare in seguito:

mv /opt/etc/samba/smb.conf /opt/etc/samba/smb.conf.bak
touch /opt/etc/samba/smb.conf
vi /opt/etc/samba/smb.conf

premendo “i” sulla tastiera si entrerà in modalità di inserimento e potrete copiare e incollare ogni singola riga (qui di seguito), una alla volta, occhio a non fare copia e incolla totale perché non vi riuscirà e dovrete ricominciare (consiglio per i più temerari: tasto ESC e poi scrivete q! per uscire da vi senza salvare ciò che avete combinato):

[global]
        workgroup = workgroup
        server string = Pogoplug
        hosts allow = 192. 127. 10.
        null passwords = yes
        guest account = root
        log file = /opt/var/log/samba/log.%m
        max log size = 50
        security = share
        encrypt passwords = yes
        smb passwd file = /opt/etc/samba/smbpasswd
        dns proxy = no
        preserve case = yes

[sda1]
        comment = USB1
        path = /tmp/.cemnt/mnt_sda1/
        available = yes
        public = yes
        writable = yes
        printable = no
        create mask = 0777
        guest ok = yes
        browseable = yes

Il file (tradotto in soldoni) permetterà il collegamento al disco gestito da Samba dalle reti 192. e 10. (oltre il classico localhost 127.(0.0.1)). Al posto del path sotto sda1 mettete il puntamento al vostro disco collegato alla porta USB 3 (vi ricordate quanto verificato qualche paragrafo più su? mnt_sda1 corrispondeva al mio disco esterno, lo richiamo adesso). Al posto di sda1 nelle parentesi quadre inserite il nome da dare alla cartella condivisa sotto Samba.

Se tutto vi sembra in ordine premete il tasto ESC e scrivete “wq” (write and quit) per salvare e uscire da vi. A questo punto potrete testare la validità della configurazione del vostro Samba:

/opt/bin/testparm

questo è grosso modo il risultato che dovrebbe spuntare fuori:

/opt/etc/samba # /opt/bin/testparm 
Load smb config files from /opt/etc/samba/smb.conf
Processing section "[DiscoDatiUSB3]"
Loaded services file OK.
Press enter to see a dump of your service definition

in caso contrario c’è un problema. Niente panico, potete buttare via il file di configurazione Samba (rm -rf /opt/etc/samba/smb.conf) e rifarlo (tornate al vi /opt/etc/samba/smb.conf). Se tutto è filato liscio potrete lanciare Samba:

/opt/etc/init.d/S80samba start

Godetevi il risultato esplorando l’unità da una qualsiasi macchina Windows nella rete, avviate un esplora risorse e puntate a \\IPPogoplug, dovreste trovare la cartella condivisa (corrispondente al disco USB) pronta per essere utilizzata:

Schermata 2015-01-27 alle 22.53.43

Ho dimenticato qualcosa? Pensate che ci sia qualcosa che non quadra? L’area commenti è a vostra totale disposizione!

OS X 10.10.1 e smb://, Support deprecated

Andate nel Finder e quindi nelle applicazioni, entrate nella cartella delle Utility e avviate Console. Da questo spostatevi sulla voce “system.log” sotto FILE (colonna di sx, ndr) per leggere gli ultimi errori di sistema tracciati nel file di log, dovreste trovare qualcosa di molto simile a questo:

Jan 21 22:10:05 Neptune kernel[0]: smb1_smb_negotiate: Support for the server POGOPLUG has been deprecated (PreXP), disconnecting

Come avrete capito il supporto per il Samba installato sul Pogoplug non è più affare di Apple in quanto considerato vecchio e abbondantemente superato. Cercando nel web si arriva a diversi risultati che spesso però non aiutano (come questo vecchio consiglio per Lion: support.apple.com/en-us/HT200158). Ho provato a sbatterci la testa per diverso tempo ma nessuno dei test eseguiti ha portato al risultato sperato. Poco male, l’applicazione di backup ufficiale per OS X integra ancora la funzione di mappatura dinamica dei dischi collegati al Pogoplug, questo vi permetterà di vederli e amministrarli come se fossero collegati direttamente al vostro Macbook (e famiglia).

La si scarica dal sito ufficiale ma potete trovarne una copia qui (in caso di necessità): app.box.com/s/gi3s3wiilgkdkr4ob9w26v5twmant6mi (anche se dovesse diventare obsoleta, al primo avvio richiederà l’aggiornamento). La modifica va operata da “Settings” e funzionerà solo ad applicazione avviata sul sistema:

Schermata 2015-01-26 alle 20.42.19

Chiaramente all’interno delle unità montate nel sistema troverete anche la stessa SD sulla quale avrete installato i pacchetti aggiuntivi tramite IPKG, potete espellere l’unità così da evitare ogni possibile errore ;-)

Riavviare il Pogoplug ed il Samba installato

Questa è forse la pecca più fastidiosa del prodotto. Se viene riavviato sarà necessario ricordarsi di dare un “giro di chiave” anche alla modifica operata: occorrerà montare l’unità SD e avviare Samba. Poco male, si può sempre creare uno script ad-hoc (che nell’esempio ho chiamato startengine.sh) da tenere a portata di mano nella /etc e far fare a lui il lavoro sporco:

touch /etc/startengine.sh
vi /etc/startengine.sh

e includere al suo interno:

mount -o remount,rw /
mount /tmp/.cemnt/mnt_mmcblk0p1 /opt
/opt/etc/init.d/S80samba

Dove (ve lo ricordo ancora una volta) mnt_mmcblk0p1 corrisponde alla mia scheda SD e va sostituita con il nome assegnato alla vostra. Salvate il file e lanciate un chmod 0755 startengine.sh per renderlo eseguibile ed il gioco è fatto, basterà ovviamente collegarsi in SSH al Pogoplug e lanciare lo script con /etc/startengine.sh.

In conclusione

Una spesa tutto sommato affrontabile per riutilizzare i propri dischi USB esterni permettendo ai client di una stessa rete di accedervi facilmente in qualsiasi momento, copiare / spostare dati e fare backup dei propri dispositivi iOS, Android, OS X o Windows. Una soluzione che seppur modificata manterrà le funzionalità previste dalla fabbrica permettendovi di avere un punto unico di accesso ai vostri file e -se volete- un server DLNA accessibile anche da console (non ve ne ho parlato perché generalmente utilizzo Plex, lo stesso accede ai file contenuti sul disco collegato al Pogoplug, ndr). L’unico limite è dettato dall’hardware del prodotto e dalla vostra fantasia ma anche dalla vostra pazienza.

Buon divertimento! ;-)

Condividi l'articolo con i tuoi contatti: