2014-09-30

Dizionario on-line da bash con curl

La RFC 2229 descrive il protocollo Internet DICT per permettere l'accesso a dizionari in rete.
Un modo molto semplice per accedere è l'utilizzo del comando curl che supporta tale protocollo.

Un esempio con la parola inglese door che viene tradotta in Italiano in porta o uscio:
curl "dict://dict.org/d:door:fd-eng-ita"
restituisce:
220 pan.alephnull.com dictd 1.12.1/rf on Linux 3.14-1-amd64 <auth.mime> <6051747.13047.1412087461@pan.alephnull.com>
250 ok
150 1 definitions retrieved
151 "door" fd-eng-ita "English-Italian FreeDict Dictionary ver. 0.1.1"
door
 porta; uscio
.
250 ok [d/m/c = 1/0/12; 0.000r 0.000u 0.000s]
221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]

le righe che iniziano con un numero fanno parte del protocollo ed offrono un utilizzo agevolato per il trattamento automatico:
il 220 corrisponde al messaggio di benvenuto da parte del server che indica i suoi riferimenti e le sue caratteristiche.
il 250 seguito da ok rappresenta la presa in carico della richiesta.
il 150 riporta il numero delle definizioni trovate, se non ce ne fossero il codice sarebbe 552.
Per ogni definizione trovate avremo un 151 con l'indicazione della parola cercata, il codice e la descrizione del dizionario in cui è stata trovata
Di seguito alla riga con codice 151 viene riportato il contenuto della definizione che si conclude con una riga contenente solo un punto "."
Al termine delle definizioni trovate di nuovo un codice 250 con eventuali indicazioni dei tempi impiegati per reperire le informazioni.
Il codice 221 rappresenta i saluti da parte del server per la chiusura della connessione.

Altrettanto interessante può essere l'esecuzione di una richiesta senza specificare il dizionario da usare:
curl "dict://dict.org/d:door"
si ottiene il contenuto della definizione door per il Dizionario Inglese Collaborativo Internazionale che rappresenta il dizionario di default del server dict.org.

Per ottenere la lista dei dizionari disponibili in dict.org eseguire:
curl "dict://dict.org/show:db"
in risposta si ottiene un codice 110 con l'indicazione del numero di dizionari presenti e di seguito la lista indicante il codice e la descrizione di ognuno, termina con la solita riga con un solo punto, poi il 250 e il 221 di saluti.

Nella lista ottenuta vorrei che si notasse:
foldoc "The Free On-line Dictionary of Computing (20 July 2014)"
e trovo doveroso il comando:
curl "dict://dict.org/d:linux:foldoc"

Idea presa da http://www.thegeekstuff.com/2012/04/curl-examples/

2014-09-25

Aggiungere un disco fisico a VirtualBox

N.B. Le operazioni descritte possono essere pericolose, assicuratevi di capire cosa state facendo e non ritenetemi responsabile di eventuali danni ai vostri dati.

Utilizzo molte macchine virtuali e con queste molti dischi a loro volta virtuali che non sono altro che file presenti nel disco della macchina host.
A volte ho bisogno di utilizzare anche i dischi reali dalle macchine virtuali ed in questi casi ricorro al comando:
VBoxManage internalcommands createrawvmdk \
      -filename /percorso/file.vmdk \
      -rawdisk /dev/sdX
Questo comando aggiunge tra i dischi disponibili per le macchine virtuali un disco virtuale che offre l'accesso diretto al disco fisico.
Chiaramente la X che compare nell'ultimo parametro /dev/sdX va sostituita con la lettera del disco desiderato senza aggiungere il numero della partizione; in questo modo VirtualBox permetterà alla macchina virtuale di accedere al disco fisico e vedere tutte le partizioni in esso contenute.

Un uso frequente di questa funzionalità è quello di installazione da macchina virtuale su un disco fisico e solitamente lo effettuo tramite un adattatore USB.

Attenzione: l'utente che esegue il comando e quello che utilizzerà il disco dovrà avere i diritti necessari per poter accedere al disco fisico, quindi dovrà appartenere al corretto gruppo, di solito disk ma si può verificare con il comando:
ls -l /dev/sdX
ricordandosi di sostituire la lettera X con la lettera corrispondente, nell'output del comando il nome del gruppo si trova nel quarto campo, di seguito al nome del proprietario, di solito root e prima della coppia di numeri che rappresenta la periferica.
Per verificare se l'utente appartiene al gruppo richiesto si usa il comando:
id
che fornisce tutti gli identificativi dell'utente, il gruppo di default ed i gruppi di appartenenza. Nel caso in cui non sia presente il nome disk l'amministratore può aggiungerlo con il comando:
usermod -a -G disk <utente>
sostituendo <utente> con il nome dell'utente che vuole ottenere l'accesso.

2014-09-15

Lubit cresce e consuma sempre poco

Lubit, attualmente alla versione 3, si conferma come ottima soluzione per l'installazione di Linux su PC con poche risorse.

L'immagine che segue ne è la prova:


Il limitato impegno di risorse in termini di memoria e di CPU ne fanno una distribuzione ideale per il recupero di vecchio hardware reperibile nelle proprie soffitte oppure dalle aziende che dismettono PC non più utilizzabili per usi professionali con i software proprietari disponibili sul mercato. Proprio i PC dismessi dalle aziende potrebbero essere riutilizzati nelle aziende stesse, anche se di solito si trova terreno poco fertile in questa direzione; ancora di più potrebbero essere utilizzati in scuole oppure associazioni in cui le disponibilità economiche sono sempre ridotte all'osso.

Inoltre trovo utili le guide nel sito del progetto, se proprio non vorrete installare Lubit potranno comunque risultare utili anche in altre distribuzioni. Di documentazione sui software liberi se ne trova sempre tanta ma la qualità di queste guide mette in evidenza le capacità e gli obiettivi del team.

Finora ho provato Lubit 3 solo installata in macchine virtuali ma a breve dovrò riutilizzare dei vecchi PC e penso che sarà la scelta che adotterò. Non mancherò di aggiornare il blog con le impressioni che ne deriveranno.

Intanto i complimenti e gli auguri di buon lavoro al team di Lubit.