Menu Chiudi

Mese: Febbraio 2012

Un weekend da sistemista

letture

Esiste una differenza d’approccio fondamentale tra un programmatore e un sistemista per quanto riguarda la scrittura di uno script necessario al funzionamento di un qualche meccanismo di sistema.

Un programmatore in genere scrive un software utilizzando il linguaggio di programmazione che conosce, integra librerie, scrive funzioni, ecc. Un sistemista scrive uno script. I più bravi usano il perl, ma in quel caso diventano uguali ai programmatori, mentre quelli “normali” scrivono uno script in Bash language.

Ecco, io sono un sistemista “normale” 🙂 Ho passato il fine settimana – con i dovuti intervalli, per carità – a scrivere uno script che mi consentisse di usare il Local Delivery Agent (LDA) di Dovecot nel mio sistema che utilizza qmail+VMailMgr. Leggendo la documentazione di Dovecot si ha l’impressione che sia una cosa piuttosto semplice, e che basta chiamare deliver-lda al posto del normale LDA, ma nel caso di VMailMgr non è così. L’LDA di Dovecot si aspetta di poter interrogare un userdb, un database degli utenti, per determinare all’atto della consegna del messaggio se esiste l’utente e dove si trova la sua mailbox. Ma VMailMgr non ha questo database. Il suo LDA vdeliver è in grado di leggere i file di configurazione e ricavare l’informazione, ma non fornisce un comando che dia questa informazione per poterla passare ad altri programmi.

Qui un programmatore probabilmente avrebbe letto i sorgenti di vdeliver, capito come funzionano, e scritto un software analogo che leggesse le informazioni dai file di VMailMgr per poi darle in pasto a deliver-lda.

Io invece mi sono lanciato in una sequela di:

echo $USER | cut -d@ -f1 | grep ....
if [ -d /home/$USER ]; then .. fi
sudo -u $USER  /usr/local/bin/listvdomain ...

cazz! ci vuole l’utente in /etc/sudoers..
cazz! il grep può restituire più di una riga…mettiamo un -m1..
uhmm.. e se non è un utente ma un alias?..altra serie di if e grep..
ecc.ecc.

Insomma, alla fine funziona, ma non prevede tutti i possibili casi e quindi ho dovuto restringerne l’uso a singoli utenti invece che applicarlo system-wide.

Ah, la ragione di tutto ciò era usare il delivery agent di Dovecot in quanto supporta Sieve e quindi mi consente di usare filtri email server-side per avere lo spam direttamente spostato nella cartella spam invece di doverlo far fare a Thunderbird quando è aperto, in questo modo quando non ho aperto Thunderbird e guardo la posta sul cellulare non mi trovo l’inbox piena di cose da spostare a mano 🙂

Elementi di riflessione/1

letture

Voglio iniziare a postare una serie di spunti di riflessione politico-economica relativa alla situazione italiana, europea e mondiale, da cui potranno eventualmente scaturire discussioni. Chiaramente gli spunti saranno orientati al mio modo di pensare e di vedere il mondo, la mia weltanshaaung, o per usare un termine ormai odiato da tutti: la mia ideologia.

Elementi di riflessione/1:

E’ meglio uno Stato con i conti pubblici perfettamente in ordine e con il popolo in miseria, oppure uno Stato con un popolo benestante e i conti pubblici dissestati?

CC BY-NC-SA 4.0 .