Posts Tagged ‘How To’

Canonical TimeVault ovvero come fare una rapido backup dei vostri files (e non pensarci più)


2009
05.13

Sempre alla ricerca di una “killer app” su Linux per il mio backup personalizzato (un giorno me ne scrivo una da me…) mi sono imbattuto più volte in TimeVault, così ho deciso di provarlo.

Questo software, prodotto da Canonical, si propone come alternativa pinguina a Time Machine di Apple, ma senza obbligare l’utente ad avere un Mac, dei soldi che gli escono dal culo e cose del genere. L’unica cosa che serve infatti è Ubuntu e un HD (magari esterno) un po’ grandicello.

TimeVault non farà altro che tenere traccia dei cambiamenti che abbiamo fatto ai files di una directory specifica e darci così la possibilità di ripristinarli alla versione che vogliamo, senza starci troppo a preoccupare. Oltretutto la grafica è gradevole (anche se pecca un po’ in usabilità) e le possibilità ampie.

Ho provato anche backintime ma mi convinceva poco e l’ho disinstallato subito…ora con TimeVault faccio la copia del mio HD da 320Gb su cui tengo musica, documenti, film, ecc… (ma non la home) in un HD esterno della Western Digital da 640Gb che mi dovrebbe fornire una valida alternativa sia al backup centralizzato su di un server in rete (troppo lento) sia al backup delle singole cartelle in HD esterni separati da attaccare via USB ogni volta…
Con questa soluzione sto decisamente più largo, anche se comunque continuo ad utilizzare sbackup per il backup della home, almeno finchè non trovo un’alternativa decente.

Questo per ora quello che ho capito e che ho fatto con TimeVault:

Scaricato il file .deb da questo indirizzo. Al momento in cui scrivo siamo alla beta relase candidate (versione 0.7.5-1). Installato nel modo classico (doppio clic sopra) trovo nel menu Applications – System Tools la voce TimeVault.

Il menu di Gnome

Appena lanciata, l’applicazione presenta la schermata delle preferenze:

La schermata delle preferenze

Selezioniamo la prima casella “Enable automated snapshots” e selezioniamo per lo storage il nostro disco esterno (o anche un’altra directory a vostra scelta, tenendo conto delle considerazioni di base per il backup di spazio e separazione dei media).

Vedremo anche che vicino all’orologio sarà apparsa una piccola iconcina verde e rossa: da li potremo selezionare alcuni menu di TimeVault.

Nella scheda “Include” io ho dapprima eliminato la voce /etc/ e quindi aggiunto la cartella (in realtà è un HD sata di nome “Bello”)  che mi interessava salvare e monitorare ed ho selezionato come delay “5 Mins”, il che vuol dire che TimeVault cercherà modifiche ai files in quella cartella ogni cinque minuti e, se necessario, creerà un file backup di tutti i files che sono stati modificati.

La scheda Include

Poi sono tornato alla prima scheda “General”, ho cliccato sulla checkbox “Advanced” e ho impostato “Maximum file size to back up” a 97.7 GB (la dimensione massima consentita, credo) in modo da backuppare tutti i files indipendentemente dalla loro dimensione. Se non avessi fatto questo non avrei potuto salvare film e archivi vari…

La casella Avanzate

Per quanto riguarda invece le schede “Exclude” ed “Expire” le ho lasciate così come sono, dato che le impostazioni sono sensate e non mi interessa backuppare la mia home.

A questo punto sono tornato alla scheda “Include”, ho selezionato la directory che ho deciso di monitoreare e ho cliccato sul bottone “Baseline” per creare una prima copia di tutti i files. Se non avessi fatto così il programma avrebbe cominciato a tener traccia dei cambiamenti solo alla modifica di ogni file.
Cliccando ora sul bottone “Save” facciamo partire la schedulazione dei backup, come possiamo vedere sia soffermandoci con il cursore sull’icona di TimeVault vicino all’orologio, sia cliccando su questa con il tasto sinistro del mouse.

pending

Quando tutto questo lavoro finirà avremo sul nostro HD esterno una struttura con tre cartelle (assumendo che precedentemente sia stato vuoto), ovvero “catalog”, “internal” e pending”.

Da questo momento in poi avremo i nostri files sempre monitorati e pronti per essere ripritinati ad una qualunque delle versioni precedenti grazie al menu “Snapshot browser”, accessibile con il tasto destro del mouse sulla solita icona:

Lo snapshot browser

Cliccando su uno dei rettangoli in alto (nel mio caso non aveva ancora finito il baseline) possiamo vedere la lista dei files contenuti ed eventualmente, cliccando sul bottone “Revert” e scegliendo la destinazione, ripristinarlo ad uno stato precedente. Se vogliamo inoltre possiamo filtrare i contenuti in base al fatto che questi siano dei dati reali o dei metadati.

TimeVault crea un demone che parte all’avvio (/etc/init.d/timevault) ma il notifier (l’icona) deve essere fatta partire “a mano”, oppure aggiungendo a System – Preferences – Startup Applications i seguenti parametri:

Name: quello che volete
Command: /usr/bin/timevault-notifier
Comment: quello che volete

startup

Ci sarebbero ancora un sacco di cose da aggiungere come l’integrazione in Nautilus o le opzioni avanzate, ma sono stanco e vi lascio con un po’ di link:

http://www.howtoforge.com/snapshot-backups-with-timevault-ubuntu-7.10 – Un tutorial in inglese per la 7.10 ma sempre valido…
https://launchpad.net/timevault – La pagina ufficiale del progetto su Launchpad
https://wiki.ubuntu.com/TimeVault – Il wiki ufficiale del progetto

Un Ubuntu davvero portatile – seconda parte


2009
03.19

Man mano che faccio dei miglioramenti alla mia piccola macchina virtuale portatile, li scrivo qui in modo che altri possano beneficiarne.

Per prima cosa mi sono deciso ad installare X, e non volendo windows manager troppo pesanti, la scelta è caduta su FluxBox:

sudo apt-get install xorg fluxbox xdm

Dopo ciò mi sono veramente stancato dei miseri 128Mb di memoria che qemu di default assegna alle macchine virtuali, ed ho modificato gli script di avvio per far si che la ram virtuale assegnata alla macchina sia almeno di 512Mb (potete aumentarla o diminuirla a vostro piacere). Per quanto riguarda gli script per linux ecco la versione attuale:

#!/bin/sh
./bin/qemu -hda ./bin/ubuntu.img -L ./bin -m 256 -boot c

Mentre questa è la versione modificata del file .bat per Windows:

@ECHO OFF

SET SDL_VIDEODRIVER=windib
SET SDL_AUDIODRIVER=dsound
SET QEMU_AUDIO_DRV=dsound
.\bin\qemu.exe -hda .\bin\ubuntu.img -L .\bin -m 256 -boot c

A questo punto si può usare un po’ più agevolmente la nostra macchina virtuale…

Un Ubuntu davvero portatile


2009
03.18

C’è una grandissima comodità nel portarsi dietro una macchina virtuale: si ha il proprio sistema operativo preferito sempre a disposizione, ci si possono mettere i propri dati (non tutte le discografie, ovviamente) , non si lasciano tracce ad esempio, sul computer durante la navigazione, ecc…

Le soluzioni sono molteplici: si può ad esempio preparare una pennetta USB avviabile con su una DSL o una Ubuntu, (non si tratta di virtualizzazione ovviamente) ma occorre penare un po’ per rendere la partizione avviabile, formattarla e poi è difficile usarla per altri scopi o fare in modo che le modifiche siano persistenti, e non ultimo problema, ogni volta che si vuole utilizzare la macchina virtuale occorre riavviare il PC.

Un’altra soluzione può essere quella di usare software come Virtualbox, VMWare o altro, ma anche qui si pone un problema: cosa fare se sul sistema host (ovvero quello fisico) non c’è installato il relativo software di emulazione? Rischieremmo di portarci dietro un file di svariate centinaia di Mb senza poterlo utilizzare…

La soluzione è Qemu, reso “portatile” e una bella Ubuntu minimale. L’idea mi è venuta vedendo questo, e ovviamente alcuni dei files sono copiati da quella macchina virtuale.

Andiamo per steps:

  1. Installare qemu sulla propria macchina (una volta terminato il processo si può disinstallare senza problemi)
  2. Da terminale:
    • Creare una cartella sul proprio PC, entrare nella cartella appena creata e lanciare il seguente comando:
      qemu-img create ubuntu.img 1200M

      (ovviamente la dimensione fissa di 1.2 Gb è modificabile a piacere)

  3. Scaricare da questa pagina la versione di ubuntu che più ci aggrada. Io ad esempio ho scaricato la 8.10. Il download è di soli 9 Mb perchè non ci sono praticamente pacchetti: tutti i software infatti verranno installati scaricandoli da internet, il che vuol dire una granularità ed un aggiornamento dei pacchetti senza precedenti.
  4. Una volta scaricata l’immagine all’interno della cartella lanciamo questo comando da terminale:
    qemu -cdrom mini.iso -hda ubuntu.img -boot d
  5. Verrà quindi lanciata la macchina virtuale dall’immagine ISO scaricata che potremo installare sul nostro bell’HD virtuale secondo tutte le opzioni che preferiamo. L’importante è avviare l’installazione testuale scrivendo al prompt cli.
    Nel mio caso oltre alla lingua inglese e alla tastiera italiana, ho scelto i repository italiani per l’installazione dei pacchetti e ho completato l’installazione. Se si volesse uscire dalla macchina virtuale per tornare al sistema operativo host basta premere Ctrl+Alt, mentre per usare la modalità a tutto schermo premere Ctrl+Alt+F.
  6. Mentre si scaricano e installano i pacchetti scaricate questo eseguibile e scompattatelo in una sottocartella chiamata bin/
  7. In questa cartella /bin/) eseguite:
    cp /usr/bin/qemu .
  8. Una volta fatti tutti  gli aggiornamenti del caso, la vostra macchina nuova nuova con Ubuntu vorrà riavviarsi, ma riavviandosi ripartirà con il cdrom, che non è proprio quello che vogliamo…per farla partire come vogliamo quindi, la cosa migliore sarà fermare qemu (CTRL+C) e lanciare di nuovo al macchina da terminale con questo comando:
    qemu -hda ubuntu.img
  9. Completiamo la procedura di installazione facendo login sulla macchina e installando tutti i software che vogliamo.
  10. A questo punto dobbiamo creare gli script di avvio da Windows e Linux. Nella nostra cartella (non bin/, la superiore) creiamo un file ubuntu.sh con questo contenuto:

    #!/bin/sh
    ./bin/qemu -hda ./bin/ubuntu.img -L ./bin -boot c
  11. Diamo i permessi di esecuzione al file
    chmod a+x ubuntu.sh
  12. Creiamo anche un file ubuntu.bat con il seguente contenuto:
    @ECHO OFF
    
    SET SDL_VIDEODRIVER=windib
    SET SDL_AUDIODRIVER=dsound
    SET QEMU_AUDIO_DRV=dsound
    .binqemu.exe -hda .binubuntu.img -L .bin -boot c
  13. I più attenti avranno notato che i due file sono delle semplici copie con piccolissime modifiche di quelli trovati all’interno della macchina virtuale scaricata prima. Se siete così attenti potete anche andare avanti senza il mio aiuto…
  14. Spostiamo il file ubuntu.img all’interno della cartella bin/ e cancelliamo la iso mini.iso
  15. Vediamo un secondo quindi la struttura della nostra cartella…
    • ubuntu.sh
    • ubuntu.bat
    • bin/
    • bin/SDL.dll
    • bin/bios.bin
    • bin/casper.img
    • bin/fmod.dll
    • bin/ubuntu.img
    • bin/qemu
    • bin/qemu.exe
    • bin/pxe-ne2k_pci.bin
    • bin/pxe-pcnet.bin
    • bin/pxe-rtl8139.bin
    • bin/kqemu.exe
    • bin/qemu-img.exe
    • bin/libusb0.dll
    • bin/vgabios.bin
    • bin/vgabios-cirrus.bin
    • bin/keymap/…
  16. Possiamo copiare la cartella e il suo contenuto su una pennetta usb e avviare l’eseguibile corretto a seconda di essere su una macchina Windows o Linux, ed avere quindi al nostra bella macchina virtuale Ubuntu sempre a portata di mano…

Buon divertimento (e buona navigazione senza tracce) con la vostra nuova macchina virtuale!

Vi posto per completezza un paio di link utili e idee interessanti…fate voi…

http://www.nubuntu.org/
http://wiki.colar.net/creating_a_qemu_image_and_installing_debian_in_it
http://www.torproject.org/
https://www.torproject.org/torbutton/
http://www.metropipe.net/pvpm.php

Usare le opzioni in perl


2009
03.11

Se vogliamo creare realmente script che si avvicinino il più possibile agli standard POSIX, per il perl ci viene in aiuto per quanto riguarda gli argomenti da passare ad uno script, il package Getopt::Std

Vediamo quindi uno script (ben commentato spero) che può essere usato come template per creare i propri (piccoli) programmi. L’uso è il classico:

perl esempio.pl -h -v

oppure

perl esempio.pl -hv

#!/usr/bin/perl -w
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#
#
#
# Global variables
#
# Enable the options
use Getopt::Std;
$verbose=0;
use vars qw/ %opt /;
#
# Main subroutine
sub init {
# Set the options range
my $opt_string = 'hv:'; # CHANGE HERE WITH YOUR OPTIONS
getopts( "$opt_string", %opt ) or usage();
# Print the usage if the -h options is passed
usage() if $opt{h};
#
# Check and enable verbose mode
# eg. $verbose && print "additional informations or variablesn";
#
if ($opt{v}) {
print STDERR "Verbose mode ON.n";
$verbose=1;
}
}
#
# User help subroutine
#
sub usage {
####################################
print STDERR << "EOF";
This program does... # CHANGE
usage: $0 [-hv] # CHANGE
-h : this (help) message
-v : verbose output
example: $0 -v # CHANGE
EOF
####################################
exit;
}
#
# HERE STARTS THE SCRIPT
#
&init();

Sincronizzare GCal e calendario di Thunderbird (Lightning)


2009
03.05

Prima che me lo scordo:

  • Installare Lightning su Thunderbird
  • Installare il Provider per Google Calendar su Thunderbird
  • Riavviare Thunderbird
  • Andare su Google Calendar
  • Cliccare su “Impostazioni
  • Scheda “Calendari“, cliccare sul calendario che si vuole sincronizzare
  • Nella sezione “Indirizzo privato“, cliccare sul bottone “XML” e copiare l’URL
  • In Thunderbird, creare un nuovo calendario
  • Selezionare dal wizard “on the network” poi “Google Calendar” (ovviamente)
  • Inserire nella casella “location” l’URL copiato precedentemente
  • Dare un nome al calendario e terminare il wizard
  • Un nuovo calendario dovrebbe essersi aggiunto alla lista sulla sinistra, cliccarci sopra con il destro e aprire le proprietà
  • Levare la spunta da “Read only” e dare ok
  • Di nuovo click con il destro sul calendario e selezionare “Reload Remote Calendars
  • I due calendari ora sono sincronizzati