Archivi categoria: Software

Expect, utile strumento per automatizzare le sessioni remote

Avevo una bozza per un articolo su expect li da  marzo 2011. Oggi volevo completarla ma ho notato che mancava la pagina italiana di wikipedia sull’argomento, ho preferito tradurre la pagina inglese.

Se date un occhio che non abbia tradotto castronnerie mi fate un favore! 🙂

http://it.wikipedia.org/wiki/Expect

Contrassegnato da tag , , , , , ,

Ricordati il latte!

Remember The MilkPost-it, post-it everywhere! Sul mobile, sulla cornice dello schermo, sul muro.
Siamo oberati di cose da fare, attivitĂ  che poi, puntualmente, ci dimentichiamo. Torniamo a casa e ci accorgiamo di non esser passati al supermercato per acquistato il latte.

Per aiutarci a destreggiarci tra i task lavorativi, personali e famigliari arriva in soccorso Remember The Milk. Continua a leggere

Contrassegnato da tag , , , ,

La variabile IFS di read

La variabile di sistema IFS viene utilizzato dal comando read per identificare il carattere divisore di un file csv.

Ecco un esempio per gestire un csv di input.
cat input_test.txt | while IFS=',' read campo1 campo2 campo3
do
echo "campo1 -> $campo1 ; campo2 -> $campo2 ; campo3 -> $campo3 "
done

Utilizzando il seguente “input_test.txt”….

a,b,c
1,2,3
primo,secondo,terzo

…otteniamo il seguente output

# sh testIFS.sh
campo1 -> a ; campo2 -> b ; campo3 -> c
campo1 -> 1 ; campo2 -> 2 ; campo3 -> 3
campo1 -> primo ; campo2 -> secondo ; campo3 -> terzo

Contrassegnato da tag , , , , , , , ,

Fedora e la (non) inversione di tendenza

Guardando la pagina delle statistiche del FedoraProject sembra esserci un dato allarmante: 1,629,196 connessioni ai repository di Fedora 15 rispetto ai 4,211,938 di Fedora 14
La cosa non e’ scappata all’occhio di Gusions, il tutto sembra essere un DISASTRO!

La squadra italiana dei Fedora Ambassadors ha chiesto una consulenza al genio investigativo di Sherlock “Lovelock” Holmes il quale, dopo aver ascoltato attentamente il racconto ha iniziato a studiare il caso.

“Elementare cari miei Fedoristi – ha risposto placidamente dopo pochi minuti – non sono cambiati gli utenti, e’ cambiato il sistema. La comunita’ ancora ama Fedora.”

Sherlock Holmes infatti usa fedora e ben sa come funziona!

L’avviso che sono presenti nuovi aggiornamenti al sistema infatti viene mostrato molto piu’ raramente rispetto alla release precedente. La notifica e’ cambiata assieme a tutto l’environment di GNOME3. E Sherlock Holmes ne e’ felice, perche’ puo’ lavorare senza preoccuparsi di installare un pacchetto per volta, ma aggiornare un buon numero di pacchetti contemporaneamente.
Ovviamente l’effetto IP multiplo si verifica grazie agli IP dinamici.

I dati presenti poco sotto ci rincuorano parecchio: i direct download sono aumentati del +48% rispetto l’anno prima nella prima settimana per poi assestarsi a un piu’ che dignitoso +25%

Elementare Watzon! 🙂

Contrassegnato da tag ,

Catturare i segnali in uno script bash

A volte puĂł essere necessario effettuare alcune operazioni prima che uno script muoia quando stiamo spegnendo il computer oppure quando gli inviamo un kill a mano

Per gestire questi comportamenti si puĂł usare il comando trap.
la sinossi Ă©:
trap [-lp] [[arg] sigspec …]

In pratica il modo piĂş facile per usarlo Ă©:

function at_SIGTERM
{
    echo "ho ricevuto un segnale di tipo TERM"
    rm /tmp/trap_test.pid
    exit
}


function at_SIGKILL
{
    echo "ho ricevuto un segnale di tipo KILL"
    rm /tmp/trap_test.pid
    exit
}

trap at_SIGTERM SIGTERM
trap at_SIGKILL SIGKILL

if [[ -f /tmp/trap_test.pid  ]]
then
   echo "oh, sono gia' attivo!!!!"
   exit
fi
echo "Ciao, sono il PID $$ "
echo "$$" > /tmp/trap_test.pid
while true
do
   echo "Dormo 20"
   sleep 20
done

Per testarne il funzionamento scriviamo su un file lo script qui sopra e lanciamolo

cat > test.bash
[incolla il testo]
^D
bash test.bash

adesso apriamo un altro terminale e inviamo un SIGTERM allo script

# kill -15 `cat /tmp/trap_test.pid`

nell’altra shell dovremmo trovarci la scritta “ho ricevuto un segnale di tipo TERM” e il prompt pronto, segno del termine del processo. Riavviamo il processo per provare il SIGKILL.

# kill -9 `cat /tmp/trap_test.pid`

ops.. non funziona!!! infatti non Ă© possibile fare il trap del sigkill.
alla prossima esecuzione lo script dará errore perché il pidfile nella directory /tmp é giá esistente.

Se riesco a trovare un metodo per trappare anche il sigkill vi avviso, se riuscite a trovare un modo per trappare il sigkill avvisatemi, ma fino ad allora.. ocio a come killate i processi!

Python + Oracle – Installare cx_Oracle su Fedora 14

Ho trovato l’installazione di cx_Oracle un po’ complicata su Fedora 14, quindi procedo a spiegare passo per passo come fare.

Prima di tutto scarichiamo alcuni pacchetti dell’istant client dal sito di oracle:

  • instantclient-basic-linux32-11.2.0.2.0.zip
  • instantclient-sdk-linux32-11.2.0.2.0.zip
  • instantclient-odbc-linux32-11.2.0.2.0.zip
  • instantclient-sqlplus-linux32-11.2.0.2.0.zip
  • instantclient-tools-linux32-11.2.0.2.0.zip

I primi due archivi sono strettamente necessari, il resto Ă© tutto grasso che cola ;).

Da utente root creiamo la directory /opt/ORACLE e scompattiamoci tutti gli zip.
É necessario impostare alcune variabili d’ambiente nel .profile (o .bashrc) di tutti gli utenti che necessiteranno di utilizzare il client oracle.

# Export ORACLE
export ORACLE_HOME=/opt/ORACLE/instantclient_11_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME

Aggiorniamo l’env, oppure effettuiamo un login/logout.

Creiamo un soft link della libreria libclntsh.so.11.1

cd $ORACLE_HOME
ln -s libclntsh.so.11.1 libclntsh.so

Ricordiamoci anche di compilare il file tnsames.ora in $ORACLE_HOME/network/admin/

Scarichiamo l’archivio “Source Code only” aggiornato all’ultima versione di cx_Oralce dalla pagina di cx_Oracle su souceforge, al momento il pacchetto Ă© questo e scompattiamolo in una directory di comodo.

Da dentro la directory diamo i due comandi di installazione

python setup.py build
python setup.py install

Sotto Fedora 14 Ă© inoltre necessario abbassare il livello di sicurezza (oppure aggiungerci le regole di SeLinux, prima o poi imparerĂł anche quello gh :\ )

setenforce 0

Fatto.
Buon lavoro 🙂

Contrassegnato da tag , , , , , ,

Scaricare tutte le foto di flickr

#!/bin/bash
url= $1
wget "${url}" -O  - -o /dev/null | while read line
do
url=`echo $line | grep media:content | grep -E "http://.*.jpg" -o `
if [[ ${#url} -gt 0 ]]
then
title=''
while [[ ${#title} -eq 0  ]]
do

read line
title=`echo $line | grep media:title | grep -o ">.*<" | sed "s/>//" | sed "s/<//"`
done
echo "--------------------------------------"
echo "TITLE: $title"
echo "URL: $url"
wget "${url}" -O "${title}.jpg" -o /dev/null
fi

done
Contrassegnato da tag , , ,

Skype plugin per pidgin

Oggi ho installato il plugin per utilizzare skype su pidgin.

Pidgin con il plugin Skype su fedora.

Pidgin con il plugin Skype su fedora.


Installarlo Ă© molto semplice:
Prima di tutto dobbiamo accertarci di avere installato skype e pidgin:

$ pidgin -v
Pidgin 2.7.7-1.fc14 (libpurple 2.7.7)
$ skype -v
Skype 2.1.0.81
Copyright (c) 2004-2009, Skype Limited

Poi copiare il plugin nella directory corretta :

$ mkdir ~/.purple/plugins
$ cd  ~/.purple/plugins
$ wget http://eion.robbmob.com/libskype.so

Le due icone convivono pacificamente nel vassoio di sistema.Ora basta riavviare pidgin tenendo skype chiuso e creare il nuovo utente skype. Al primo avvio skype chiederá se pidgin é autorizzato ad utilizzare le api. Diciamo gli di ricordare la nostra risposta che, ovviamente é si.

Contrassegnato da tag , , , , , , ,

Richard Stallman si esprime su ChromeOS

Richard StallmanNegli Stati Uniti arrivi persino a perdere i diritti legali se memorizzi i tuoi dati nelle macchine di una compagnia, invece che nelle tue. La polizia deve presentarti un mandato di perquisizione per prendere i tuoi dati dai tuoi computer; se invece sono memorizzati nel server di un’azienda la polizia può prenderli senza mostrarti alcunché. Non hanno neanche bisogno di fornire un mandato di perquisizione all’azienda.”

Concordo con la visione Stallmaniana della questione. Sopratutto per quanto riguarda le aziende che si avvalgono dei cloud (ad esempio Amazon) vanno incontro alla perdita del controllo sui dati.
Se contiamo che quando un dipendente viene assunto in un’azienda deve firmare a volte parecchie carte sul segreto aziendale, sulla non diffusione di dati sensibili etc, come Ă© possibile che poi questi dati vengano inseriti in un sistema non proprietario?

L’articolo originale su FSUGItalia

Contrassegnato da tag , , , ,

Esplorare i files su file system EXT4

Oggi avevo bisogno di recuperare da windows dei files sulla partizione /home di linux.

I driver per leggere file system ext su windows ce ne sono parecchi ma ho notato che per ora non funzionano con l’ext4, infatti – anche se me lo caricavano come F: – me lo davano come raw, chiedendomi di formattarlo. Con ext2explore (nonostante il nome ext2) mi apre una finestrella da cui posso copiare e salvare files sull’altra partizione.

Clicca qui per scaricare il file.