Sabayon Wiki in italiano

Posted in Sabayon with tags , , on 9 aprile 2009 by micia87

Un po’ di tempo fà mi ha sorpreso il commento a proposito della documentazione di Sabayon da parte di ‘lupagrigia’.

[...] Non si trovano “manuali d’uso” [...]

A questo punto ho controllato la Wiki, che dovrebbe servire appunto a questo. Con mia grande sorpresa ho trovato la parte di Wiki in italiano completamente deserta. In queste condizioni è ovvio che un nuovo utente senza conoscenze buone dell’inglese rimanga abbastanza spaesato, senza un riferimento per le cose più “comuni”, malgrado gli utenti del forum e della web chat facciano un ottimo lavoro di supporto.

Per cui mi son occupato di tradurre qualche articolo della Wiki di Sabayon, cercando di aggiornarli al meglio. Spero che questo aiuti chiunque a trovare documentazione utile, e spero di riuscire a proseguire la traduzione al meglio.

Ecco il link alla wiki in italiano

Qualsiasi commento, suggerimento per un nuovo articolo o correzione sulla traduzione è ben accetto!

Script di Backup per Eclipse

Posted in Bash with tags , , , on 13 marzo 2009 by micia87

Molto spesso ci servirebbe un modo comodo per effettuare un backup dei nostri progetti. Esiste la possibilità di farlo usando complessi appoggi a SVN e simili, ma spesso questo è eccessivo per le nostre esigenze.

Lo scripting in bash e i tool esterni di Eclipse possono venirci incontro.

PASSO 1: Creare lo script

Creare uno script in bash è di una semplicità disarmante:

anzitutto avviamo il nostro editor di testo preferito, kwrite/scite/gedit o qualunque editor voi abbiate. Create un nuovo file di testo, chiamandolo per esempio “store” o “store.sh”,e mettete come prima riga:

#!/bin/bash

Questo serve a definire l’interprete necessario per il vostro script (ovvero la bash). Accertatevi di aggiungere il permesso di eseguire questo file di testo.

PASSO 2: scrivere lo script

Questa è la parte più difficile. Dobbiamo creare uno script che ci garantisca un backup efficiente da una directory A ad una directory B, possibilmente fornendo un nome alla copia di backup. Ci servono di conseguenza 3 parametri. Quindi le prime linee del nostro script saranno:


if [ $# -eq 3 ]; then
#corpo dello script per il backup
else
#errore troppi o troppi pochi parametri!
fi

Questo controlla che ci sia il giusto numero di parametri per procedere al backup (il numero di parametri forniti allo script è dato da $#), notare che i commenti son preceduti da ‘#’. Per il backup i comandi bash standard ‘tar’ e ‘date’ ci potrebbero essere utilissimi per il backup. Impostiamo lo script per ricevere per primo la cartella iniziale del progetto da salvare, per secondo la destinazione del backup, per terzo il nome del backup. Dobbiamo aggiungere nel primo ramo dell’if:


#Genero il nome del backup:
BNAME=$3-$(date).tar.gz
#Effettuo il backup:
tar -czf  "$2/$BNAME" "$1"/* 2> /dev/null

Qui generiamo un nome per il backup (BNAME) composto dal terzo parametro fornito allo script, seguito dalla data del backup (molto precisa, peraltro) sempre utile, con l’estensione dell’archivio ‘.tar.gz’ (che peraltro ottiene una eccellente compressione).

Il comando successivo effettua il backup vero e proprio (controllate la pagina di manuale di ‘tar’ se vi interessa capirlo meglio, usando ‘man tar’ dal vostro programma console preferito). Ci preoccupiamo poi di nascondere i messaggi di errore di ‘tar’ redirigendo lo standard error a /dev/null.

Segue un primo ramo dell’if più preciso per il backup, che si preoccupa di controllare gli errori.


if [ -d $1 -a -d $2 ]; then
#Creo il nome
BNAME=$3-$(date).tar.gz
#Creo il backup, stando attento a mettere le virgolette...
#redirigiamo lo standard error
tar -czf  "$2/$BNAME" "$1"/* 2> /dev/null
if [ $? -eq 0 ]; then
exit 0
else
echo "$SCRIPTNAME> error: Backup \
compression and save failed!" >&2
exit 1
fi
else
echo "$SCRIPTNAME> error: Invalid destination \
or backup directory" >&2
exit 1
fi

Qui ci preoccupiamo di verificare con un ulteriore ‘if’ l’esistenza delle directory, l’esito corretto del backup (usando il valore di ritorno di ‘tar’ con $? e controllando che sia 0, cioé successo). Si suppone che SCRIPTNAME contenga il nome del programma (store o store.sh in questo esempio).

Per maggiori informazioni sui test in bash controllare la pagina di manuale ‘man test’ anche se risulta piuttosto datata.

Da notare che ‘tar’ preserva la gerarchia delle directory, può essere utilissimo per un backup.

PASSO 3: usarlo comodamente in Eclipse

Adesso dobbiamo rendere possibile un comodo uso del nostro script direttamente da Eclipse, non vogliamo aprire ogni volta un terminale per usarlo, vero?

Apriamo Eclipse, andiamo su “Run->External Tools->External Tools Configuration” Scegliamo ‘Program’ e creiamo una nuova configurazione:

extool2

Impostiamo come “Location” il path al nostro beneamato script, e come “Working Directory” la variabile di Eclipse

${workspace_loc:}

Ora non ci rimane che fornire i 3 argomenti, impostiamo quindi come “Program Arguments”:

${project_name} ${folder_prompt} ${resource_name}

In questo modo imponiamo ad Eclipse di fornire il nome del progetto selezionato come primo parametro, di chiederci di scegliere una directory per la cartella di destinazione del backup, e di fornire come nome del backup il nome della risorsa selezionata.

extconf

Se si volesse aggiornare le build del progetto possiamo anche andare nella linguetta ‘Build’ e scegliere “Build Before Launch”->”The Project Containing the selected resource”. Potrebbe essere utile anche selezionare i progetti riferiti. Poi possiamo confermare con “Apply”.

Ora il nostro script sarà eseguibile direttamente da Eclipse. Da notare che anche se lo usiamo in Eclipse, basta poco per usarlo autonomamente per qualsiasi esigenza, magari producendo una semplice GUI, anche da bash, per usarlo in modo più comodo ed efficace.

Segue lo script completo:


#!/bin/bash
#EFFETTUA IL BACKUP DI UNA DIRECTORY,
#CREATO PER I BACKUP DI ECLIPSE.
#Autore: Micia  -http://cogottilab.wordpress.com-

#Ottengo il nome dello script
SCRIPTNAME=${0##*/}

#Lo script richiede 3 argomenti: directory
#da cui far il backup dove
# posizionare il backup e il suo nome.
case $# in
(1)
if [ $1 = "-v" -o $1 = "--version" ]; then
echo "$SCRIPTNAME version 1.0"
exit 0
else
if [ $1 = "-h" -o $1 = "--help" ]; then

echo \
"$SCRIPTNAME [-h,--help]    - Print this help \
message and exit"
echo \
"$SCRIPTNAME [-v,--version] - Print program's \
version and exit"
echo \
"$SCRIPTNAME dir path name  - Backup 'dir' in \
'path'under the name of \
'name'<current date>.tar.gz"
exit 0
else

echo \
"$SCRIPTNAME dir path name - Backup 'dir' in \
'path' under the name of \
'name'<current date>.tar.gz" >&2
exit 1
fi
fi
;;
(3)
if [ -d $1 -a -d $2 ]; then
#Creo il nome
BNAME=$3-$(date).tar.gz
#Creo il backup, stando attento a mettere
#le virgolette...
#redirigiamo lo standard error
tar -czf  "$2/$BNAME" "$1"/* 2> /dev/null
if [ $? -eq 0 ]; then
exit 0
else

echo \
"$SCRIPTNAME> error: Backup compression \
and save failed!" >&2
exit 1
fi
else

echo \
"$SCRIPTNAME> error: Invalid destination \
or backup directory" >&2
exit 1
fi
;;
(*)
echo \
"$SCRIPTNAME dir path name - Backup 'dir' in \
'path' under the name of \
'name'<current date>.tar.gz" >&2
exit 1
;;
esac

Installazione e uso dell’IDE Eclipse 3.4.1

Posted in Generale with tags , , , , , , , , , on 4 marzo 2009 by micia87

Eclipse è un Ambiente di Sviluppo (IDE) multipiattaforma che ci rende possibile sviluppare in moltissimi linguaggi, tra cui Java, C/C++, Python e molti altri; val la pena di provarlo, anche perchè non ci costa nulla!

Prerequisiti:

Perchè Eclipse funzioni è necessario avere installato Java (e nel caso dello sviluppo in C/C++ anche i rispettivi compilatori). Più nel dettaglio:

  • Windows: Scaricare ed installare Java dal sito della Sun, servono la  JRE e la JDK; si possono scaricare da qui. Il caso più spinoso è rappresentato dal compilatore, visto che Windows non ci fornisce un modo comodo ed indolore… possiamo però contare su un installatore del valido compilatore gratuito MinGW ottenibile da SourceForge a questo indirizzo. Installarlo è semplice, visto che si occuperà di tutto lui, noi dovremo solo specificare il linguaggio che ci interessa, ovvero il compilatore C/C++, e qualsiasi altra cosa ci aggradi… Ma non finisce qui, sfortunatamente dobbiamo installare anche il debugger, e questa volta a mano. Si può ottenere da qui (attenzione a non scaricare i sorgenti o patch), scaricheremo un archivio da scompattare nella directory dove abbiamo installato MinGW (di default C:/MinGW). Notare che ci verrà richiesto di “sostituire” cartelle già esistenti, acconsentite senza problemi. Il formato dell’archivio potrebbe non essere familiare ai programmi più classici di Windows, ma esistono parecchi programmi gratuiti come IZarc o ZipGenius che sanno come trattarli.
  • Linux: Nella più parte delle distribuzioni è già installato il compilatore C (GCC) e C++ (G++). Se non lo sono vanno installati per consentire lo sviluppo in C/C++. Il debugger, invece, è generalmente sotto il nome di “gdb”, ed anch’esso è tipicamente installato. Per quanto riguarda java, anche questo deve essere installato. Ciascuna distribuzione fornisce un gestore di pacchetti (o dovrebbe), per prima cosa è consigliabile cercarlo tramite quest’ultimo. Generalmente è un pacchetto che va sotto il nome di “java-<versione>-sun” o “jre” per la JRE e di “java-<versione>-sun-devel” o “jdk” per la JDK (nota, nelle distribuzioni Gentoo talvolta la sola JDK è sufficiente). In generale tutti i pacchetti son forniti dal gestore dei pacchetti, quindi non vi è la necessità di andare in giro per internet. Attualmente Eclipse è testato solo con la versione Sun di Java, quindi non è prudente usarlo con GCJ.

Ottenere il programma:

Il programma è facilmente reperibile dalla rete tramite il download di circa 100MB dal suo sito ufficiale, è necessario scegliere la propria piattaforma e architettura. Sono disponibili versioni personalizzate per sviluppatori C/C++ o Java, la versione ‘Classic’ è la tipica versione multifunzione (che raccomando). Nessuna versione non è ottenibile scaricando i plugin appropriati, questo significa che se si scarica una versione C/C++ è comunque possibile impostarla in seguito per la programmazione in Java. Quello che scaricheremo è un archivio, scoppattandolo avremo Eclipse pronto a partire. Si noti che il programma non necessita di installazione.

Plugin di Eclipse:

I plugin di Eclipse possono estendere le sue funzionalità al punto di consentire lo sviluppo in altri linguaggi (per esempio lo sviluppo in C/C++ è consentito da un plugin, il C/C++ Development Tooling, o CDT), son in genere scaricabili dal programma stesso, sotto la voce “Help->Software Updates”, linguetta “Available Software”. Da qui avremo una lista di “fonti” dalle quali ottenere plugin per gli usi più differenti. Per un aggiornamento, invece è possibile, sempre sotto “Help->Software Updates” clickare su “Update”. Val la pena sottolineare che è possibile sviluppare un plugin sempre tramite Eclipse stesso, vi sono istruzioni nel sito ufficiale.

I plugin più importanti sono il CDT, per lo sviluppo in C/C++(come detto), il JDT per lo sviluppo in Java e vari altri per lo sviluppo web o in altri linguaggi, come il potente plugin per lo sviluppo in Python (PyDev).

Caratteristiche opzionali per CDT:

Il CDT presenta alcune caratteristiche opzionali che ci possono facilitare di molto la vita nella programmazione. Per attivarle andiamo nel consueto “Help->Software Updates”, linguetta “Available Software”, andiamo in “Manage Sites”, a questo punto abilitiamo il repository “http://download.eclipse.org/tools/cdt/releases/ganymede&#8221; . Noteremo molte aggiunte sotto la voce di questo repository, dopo aver premuto su “ok”, come il supporto per la GNU Toolchain (utilissimo in Linux), per l’Unified Parallel C e per il GDB Hardware Debugging.

Il Visual Editor di Eclipse:

Da un po’ di tempo (troppo a mio avviso) si son perse le tracce di uno dei più promettenti plugin di Eclipse, il Visual Editor, plugin che consentiva un approccio user-friendly al design di interfaccie grafiche in Java. Ma non tutto è perduto, infatti è possibile reperirlo da qui e funziona alla perfezione con l’ultima release di Eclipse. Basta andare in “Help->Software Updates”, in “Available Software” possiamo trovare la voce “Add Site”, a questo punto, dopo aver scompattato l’archivio scaricato dal sito, gli forniamo il percorso alla cartella dove sono presenti i contenuti appena estratti (tramite la scelta “Local”). A questo punto abbiamo la possibilità di installare il plugin come qualsiasi altro, dal menu delle fonti, dove sarà comparsa anche quella da noi specificata.

A questo punto dovreste essere pronti per programmare con Eclipse, divertitevi!

Link:

Sito ufficiale: http://www.eclipse.org/

Sito CDT: http://www.eclipse.org/cdt/

Sabayon Linux 4

Posted in Sabayon with tags , , , on 3 marzo 2009 by micia87

Sabayon Linux 4 è l’ultimo esponente di questa distribuzione basata sulla celeberrima Gentoo, un Linux che ha fatto dell’efficienza, stabilità  (e della compilazione  diretta dai sorgenti) la sua bandiera.

Sabayon si discosta dal suo genitore grazie a Entropy, il suo gestore di pacchetti, che pur lasciando aperta la possibilità di usare Portage, offre dei pacchetti precompilati ‘pronti all’uso’ a chi è meno esperto, o non vuole perdere troppo tempo a compilare  ogni pacchetto. Questo, oltretutto, aiuta a risparmiare ai meno esperti la compilazione del Kernel o i compiti più ostici legati a emerge.

ENTROPY Package manager:

Entropy, come detto, offre la possibilità di gestire i pacchetti precompilati. Il repository ufficiale offre una gamma vastissima di pacchetti, da segnalare il fatto che i pacchetti hanno una compressione ottima, e risultano velocissimi da scaricare, anche per le connessioni più lente. Entropy cerca anche di facilitare la gestione dei file di configurazione, oltre a essere completamente compatibile con Portage. Sabayon ha due client per il gestore Entropy: uno testuale, chiamato equo, stabile e molto flessibile; uno grafico chiamato spritz. Le versioni precedenti di spritz, anche a causa della giovinezza del programma, presentavano diversi difetti e bachi, che sono stati risolti nella versione attuale, che presenta una stabilità ed affidabilità decisamente superiore ai suoi predecessori (versione attuale 0.52.2). Spritz consente di caricare contenuto generato dagli utenti, dare giudizi ai vari pacchetti, gestire backup del database dei pacchetti installati e ripristinarne, e molto altro, in modo molto più immediato di equo (il quale comunque può essere usato a questi scopi). Nonostante tutto, è comunque necessario prestare una certa attenzione nell’aggiornamento dei pacchetti più critici come il Kernel e dei suoi moduli.

spritz

Opzionalmente è anche disponibile una applet che ci avvisa ogniqualvolta siano disponibili aggiornamenti, richiamando spritz quando richiesto. Essendo scritti in Python sia Spritz, che Equo, che l’applet di notifica, sono indipendenti dall’ambiente Desktop, e si mantengono ragionevolmente contenuti in termini di dipendenze.

COMPIZ e grafica in generale:

Sabayon vanta sin dal live DVD (con una quantità di programmi impressionante, e forse eccessiva, nella versione FULL), la possibilità di avere una sessione compiz (ovvero con effetti 3d, seppure non troppo utili a fini di lavoro, pur sempre gradevoli) direttamente configurata. Anche nei computer non troppo all’avanguardia si potrà godere persino su live DVD di effetti grafici stupendi e molto curati offerti direttamente da Compiz Fusion. Questo è dovuto anche al fatto che i driver video proprietari Nvidia e ATI son disponibili senza necessità di installazione. Nella versione installata Compiz risulta molto fluido, e la sua attivazione indolore è garantita da una utilità chiamata accel-manager che consente di attivarlo e disattivarlo in modo rapido e semplice anche per un novizio. Da segnalare anche la grafica molto accattivante che contraddistingue Sabayon ormai da molto tempo, dalle immagini presenti sul sito ufficiale, e dal Live DVD è possibile farsene una idea sin da subito; infatti Sabayon punta molto anche sull’aspetto, e per questo ha un team grafico ben organizzato.

FORUM, community e supporto:

Malgrado Sabayon sia una distribuzione relativamente giovane e ristretta, i suoi forum son molto attivi, i membri son bendisposti con gli utenti di Linux meno esperti e propensi al loro aiuto (cosa che purtroppo non è cosi scontata), son inoltre presenti sezioni in molte lingue. A volte capita persino di imbattersi con i programmatori stessi della distribuzione. Generalmente si possono ottenere risposte ai propri problemi in tempi piuttosto rapidi, e se questa è la priorità, vi è anche la possibilità della web chat. È presente anche un sito in lingua italiana ricco di guide, nato per offrire supporto a Sabayon.

AFFIDABILITÀ:

Sabayon gode di una discreta stabilità, se l’utente è sufficientemente preparato e familiare con Linux, Sabayon non lo metterà certo in difficoltà. Ma è da segnalare che talvolta son presenti in Entropy pacchetti “troppo” aggiornati, e non propriamente stabili, ad esempio una versione di NetworkManager  troppo aggiornata ha creato non pochi problemi a molti utenti, cosi come un modulo Synaptics. I membri del forum son stati pronti a scrivere guide su come sopperire ai possibili problemi, indicando passo per passo la loro risoluzione, tuttavia sarebbe stata più opportuna una fase di testing più accurata. Portage può essere d’aiuto in tali casi, visto che è possibile ottenere le versioni meno aggiornate dei pacchetti. Ma questo potrebbe non essere molto indicato per utenti meno esperti o alle prime armi con Linux. Questo va sicuramente a discapito della affidabilità e dell’ottimo lavoro che in generale è stato fatto in questa versione di Sabayon. Ma visti i progressivi miglioramenti che son stati fatti finora, è lecito aspettarsi di vedere passi avanti anche in questo senso.

INSTALLAZIONE:

L’installazione di Sabayon è in linea con quella delle altre distribuzioni, è veloce e non presenta difficoltà di sorta, il suo merito è di conferire questa semplicità a una derivata di Gentoo, che è decisamente meno scontata da installare. Una nota di merito è il supporto per il nuovo filesystem Ext4, sebbene una partizione con tale filesystem non possa essere avviata da Grub (per ora). L’abbondanza di applicazioni nel live DVD della versione Full, tuttavia, può condurre a installazioni molto pesanti in termini di spazio, fortunatamente è presente una versione Lite, e alcune comode opzioni per eliminare pacchetti e gruppi di pacchetti in eccesso.

CONCLUSIONI:

Sabayon mi ha piacevolmente colpito, soprattutto per il gran passo in avanti fatto nelle ultime versioni (e per le origini  italiane della distribuzione), val sicuramente la pena di provarla e la raccomando a utenti esperti e non. La ricca disponibilità di pacchetti, la completa compatibilità con Portage e la comunità amichevole la hanno resa la mia distribuzione principale (quindi intendo scrivere parecchi articoli strada facendo…).

Pro:

  • bellissima interfaccia grafica e Compiz pronto all’uso
  • ottima configurabilità, completamente personalizzabile
  • compatibilità con Portage e disponibilità di pacchetti binari
  • comunità amichevole e supporto ottimo

Contro:

  • l’affidabilità non è ancora a livelli adeguati
  • la configurazione del sistema talvolta necessita di adeguate conoscenze di Linux

Link:

Sito ufficiale: http://www.sabayonlinux.org/

Sabayon Mania: http://www.sabayonmania-forum.com/

Grazie per aver letto il mio primo articolo!

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.