Dropbox e' il popolare servizio che permette di sincronizzare file tra terminali differenti.
Sfortunatamente
1) e' tutto codice proprietario
2) la cartella remota che contiene i dati e' ospitata su un server privato (il loro server privato)
Difetti non da poco, e nella grande comunita' del software libero c'e' gia' chi si e' messo all'opera per fixare il problema :D
- INTRO -
REQUISITI -
PREPARAZIONE REPOSITORY GIT - LATO SERVER -
INSTALLAZIONE CLIENT DA REPOSITORY GIT (compilando i sorgenti) - lato client
-
INSTALLAZIONE CLIENT DA REPOSITORY GIT (compilando i sorgenti) - lato client -
PROBLEMA CHIAVE SSH
INTRO
Guardando nella mia agendina di cose da fare durante la colazione ho trovato un punto che troppo spesso ho evitato: trovare una alternativa a Dropbox! E cosi' mi sono ricordato di un certo Sparkleshare, che prometteva bene: e allora attenzioniamolo un pochetto!
Gia' conoscevo a grandi linee il progetto, un demone con un back-end che e' niente di meno
sviluppatori del kernel linux.
Traduzione breve: l'utilizzo di git rende possibile consultare tutto la cronologia di cio' che avete aggiunto, cancellato o modificato. Quindi avrete i file sincronizzati e se sbagliate a fare una operazione potere anche tornare indietro! Comodo, no?
La parte dolente e' che ancora il progetto e' agli albori, un po' grezzo, ma funzionante nelle sue features base.
Se vi interessa provarlo di persona, vi mostrero' come ho installato un mioo server per lo storage dei dati da sincronizzare tra i diversi terminali.
Per mia comodita', faro' uso di un sistema debian, sia lato client che lato server.
REQUISITI
1. un server ^_^
2. familiarita con la riga di comando
PREPARAZIONE REPOSITORY - lato server
E' necessario installare un server ssh, giacche' ssh e' il protocollo cifrato che git andra' ad utilizzare per lo scambio dati
apt-get install openssh-server git git-core
Di default questo basta per abilitare di default l'avvio del demone ssh. Se nel vostro sistema non dovesse essere cosi' allora vi tocchera' provvedere affinche' lo sia :D
Adesso create il vostro repository git, supponendo che siate nella cartella home, digitate:
git init --bare repository.git
e vedrete spuntate la cartella kanna.git nella vostra home. Non toccatela, la gestione di quella cartella compete solo a git!
INSTALLAZIONE CLIENT DA REPOSITORY GIT (compilando i sorgenti) - lato client
Passo primo: installare il client ssh e copiare la chiave pubblica nel server apt-get install openssh-client
# Cio' generera' le chiavi.
#IMPORTANTE: non fornire alcuna password per la chiave:
#sparkleshare non e' in grado di gestirla, ancora. ssh-keygen
#sistemate la porta, la default e' la 22.
#In questo modo copierete la chiave pubblica nel #vostro server e non dovrete digirare piu' alcuna password ssh-copy-id -p 22 utente@server
Passo secondo: scarichiamo e compiliamo il client sparkleshare. Al solito, logghiamo come root
apt-get git build-essential checkinstall
gtk-sharp2 mono-runtime mono-devel monodevelop libndesk-dbus1.0-cil-dev nant libnotify-cil-dev
libgtk2.0-cil-dev libwebkit-cil-dev intltool libtool python-nautilus libndesk-dbus-glib1.0-cil-dev cd /usr/local/src
git clone https://github.com/hbons/SparkleShare.git cd SparkleShare
./autogen.sh --prefix=/usr makemake install
Se tutto e' andato bene, potrete avviare Sparklehare dal menu
INSTALLAZIONE CLIENT DA PACCHETTO DEBIAN (testing/sid) - lato client
Non esistono pacchetti ufficiali per SparkleShare, quindi ne ho creato uno io in modo blando...e sembra anche funzionare, ma
usatelo a vostro rischio e pericolo.
Pacchetto per Debian Testing
PROBLEMI CHIAVI SSH
Se doveste avere problemi nell'aggiungere la cartella remota, molto probabilmente SparkleShare non riesce a gestire la chiave ssh che avete pre-generato voi.
In questo caso andremo ad utilizzare le chiavi che SparkleShare ha pregenerato automaticamente durante il primo avvio.
ssh-copy-id -i ~/.config/sparkleshare/[email protected] -p 22 utente@server