Menu Chiudi

Categoria: Informatica

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 🙂

Pensa.

letture

Slackware Linux 13.37

letture

L’altroieri notte – intorno alle 3 ora italiana, alle 13:37 UTC  – Patrick ha annunciato l’uscita della Slackware 13.37. So l’orario preciso in quanto ero online in quel momento, e sono stato tra i primi a riportare la notizia su Identi.ca e Twitter.

La nuova versione era attesa, in quanto già da un mesetto era iniziato il ciclo delle Release Candidate, e si sapeva che la cosa era imminente.

La prima cosa da spiegare riguardo questa release è il numero di versione. E’ risaputo che Pat non ama essere rigoroso riguardo ai numeri di versione, e già in passato ha compiuto scelte controtendenza, quando decise di saltare dalla 8.0 direttamente alla 11.0. Invece ama essere giocoso e scherzoso, nello spirito della Chiesa del Subgenio, e la scelta della versione 13.37 si richiama esplicitamente al termine “Leet“, uno slang per “elite“, che gli hacker amano usare per definire i propri gruppi come i migliori, i più fighi, i più elitari. Nello slang hacker si usa sostituire alle lettere delle parole alcuni numeri che ricordano le lettere nella forma, il che rende la scrittura in un primo momento poco leggibile. Per cui spesso Leet viene scritto come 133t, oppure anche 1337.

Detto questo, parliamo della distribuzione in se. Come sempre, più che sconvolgenti novità la nuova release porta principalmente aggiornamenti di versione nei software utilizzati. Ecco quindi che KDE è stato aggiornato alla 4.5.5 – per avere la 4.6.2 bisogna far ricorso ai package non ufficiali di AlienBob -, Xfce alla 4.6.2, e il kernel Linux alla 2.6.37.6.

E’ ancora in via di svolgimento la manovra di abbandono di HAL, il sistema di riconoscimento e gestione dell’hardware che era prima alla base di KDE e che è stato ufficialmente abbandonato dal progetto, in favore di Udisk/Upower. Il KDE di Slackware di per se non ne fa più uso, ma ci sono ancora applicativi che non sono stati modificati per il nuovo standard e hanno ancora bisogno di HAL per funzionare correttamente, come ad esempio alcuni software di masterizzazione.

Addendum: una novità alquanto importante legata all’abbandono di HAL è il fatto che adesso la configurazione di X11 utilizza udev per rendersi conto delle periferiche disponibili e di quelle aggiunte al volo (ad esempio mouse e tastiere usb). In casi semplici è addirittura possibile non utilizzare più il file xorg.conf e lasciare che X11 faccia tutto da solo. Altrimenti esiste una nuova struttura di configurazione in /etc/X11/xorg.conf.d dove specificare delle regole da seguire per le nuove periferiche che si dovessero rendere disponibili in hotplug, tramite il criterio del match riferito a categorie generali, come MatchIsKeyboard, MatchIsMouse,ecc. In questo modo ogni nuova tastiera o mouse che viene ad essere inserita sarà configurata secondo i parametri specificati.

E’ stato introdotto l’utilizzo di PolicyKit e ConsoleKit, il primo per regolare in maniera granulare le politiche di accesso per i task che hanno bisogno di funzionalità eseguibili solo da root, e che consente di non dover dare in toto i privilegi di root al programma. Il secondo invece si occupa di operazioni particolari, come ad esempio la gestione delle periferiche quando si effettua il passaggio da un utente a un altro.

Oltre al kernel 2.6.37.6 ufficiale, vengono anche forniti come pacchetti a parte e “sperimentali” il kernel 2.6.38.4 e le config per compilare il kernel 2.6.39-rc4. Personalmente io uso il kernel 2.6.38.4 già da prima di questo rilascio, e l’ho compilato sulla falsariga delle configurazioni dei kernel precedenti.

Relativamente alla toolchain di compilazione, le glibc fornite sono le 2.13 e il gcc è alla versione 4.5.2. Altri punti nodali riguardo allo sviluppo sono il Perl, versione 5.12.3, e il Python alla 2.6.6.

Come browser, a parte il Konqueror integrato in KDE, viene fornito Mozilla Firefox 4.0. C’è da notare che, per quanto riguarda la versione 32bit, finora era stato sempre ripacchettizzato il binario ufficiale fornito da Mozilla, secondo richiesta della loro licenza. Dalla 4.0 invece viene compilato un binario su Slackware partendo dai sorgenti. Forse le condizioni di licenza da parte di Mozilla sono cambiate e consentono questo tipo di operazione senza perdere il diritto a chiamarlo “Firefox”. Altre distribuzioni come Debian in precedenza risolvevano il problema compilando il proprio pacchetto e dandogli un altro nome, come “Iceweasel”. Nelle distribuzioni a 64bit il problema non è mai esistito, in quanto non esiste un binario ufficiale a 64bit da parte di Mozilla, e si è sempre dovuto compilare Firefox dai sorgenti.

Google Chrome viene fornito come pacchetto a parte nel repository Extra. Le ultime release di Chrome dipendono da PAM, e la cosa ha creato scompiglio dato che Pat è da sempre contrario a PAM e Slackware ne è totalmente priva. L’ostacolo è stato risolto tramite un pacchetto “dummy” che installa soltanto il file libpam.so.0 nella cartella di Chrome, in modo che il browser si avvii senza protestare.

La nuova magnifica distribuzione in versione 32 e 64bit è scaricabile da torrent e da diversi mirror, ma consiglio a chi non l’abbia ancora fatto almeno una volta di acquistare il DVD ufficiale presso il negozio online, in modo da fornire un piccolo sostegno economico alla Slackware e a Patrick, che continua a mantenere la distribuzione da quasi 20 anni in maniera pressochè amatoriale e personale, mettendoci tempo e soldi propri, e ricavandone ben poco ritorno economico.

E’ uscito Firefox 4!

letture

Come era stato già preannunciato, oggi 22 marzo è uscito ufficialmente Mozilla Firefox 4.0. E nel giro di meno di 3 ore ha già superato 1 milione di download e si avvicina ai 2 milioni. Il download si può effettuare dal sito Mozilla, anche se a chi usa Linux dovrebbe essere noto che è preferibile installarlo tramite i mezzi offerti dalla propria distribuzione, dato che il pacchetto Linux che viene fornito da Mozilla Foundation non è personalizzato e non è dotato di un meccanismo di installazione specifico.

Il team Mozilla ha messo su un fascinoso portale sul quale seguire l’evoluzione dei download, con contatore, mappa mondiale per vedere da dove partono i collegamenti, e link a Twitter per seguire tutti coloro che stanno invianto tweet di gioia o di commento all’evento.

Adesso che il browser è uscito ufficialmente, probabilmente anche tutte le estensioni e i plugin che fino a questo momento non erano stati aggiornati per la compatibilità con la nuova versione – che comunque erano piuttosto pochi – cominceranno a seguire la novità.

Sono anche già disponibili le versioni nazionalizzate, come quella italiana. Inoltre anche la mia Slackware Linux, nella versione Current, ha già inserito il package ufficiale di Firefox 4. Per chi installa la versione internazionale e vuole poi inserire la lingua italiana senza dover attendere che sia pronto un package localizzato ufficiale per la propria distribuzione Linux, è disponibile l’apposito LangPack su MozillaItalia.org.

Le novità sono più o meno quelle che avevo già discusso nel mio articolo sulla beta8, a parte qualche perfezionamento e anche qualche piccola “marcia indietro“. Infatti nelle ultime beta gli sviluppatori hanno raccolto la voce di un certo quantitativo di utenti che si era lamentato per lo spostamento dei messaggi di connessione dalla status bar alla barra degli url. Dato che questi messaggi nella barra degli url passano molto più inosservati, si è sostenuto che l’utente medio non percepisca il fatto che certi rallentamenti nella visualizzazione delle pagine sono dovuti alle attese di risposta da parte del server web, e non a lentezze del browser. La lotta con Chrome sulla velocità di apertura delle pagine è ai ferri corti, e non si vuole che la gente si faccia l’idea che Firefox è lento quando la colpa magari è invece del sito che si sta visitando. Perciò è stata reintrodotta la visualizzazione dei messaggi di connessione in un box semitrasparente a comparsa, che appare al di sopra della Add-on bar in basso.

A me personalmente questa marcia indietro non è piaciuta, dato che mi ero già impegnato ad accettare mentalmente la nuova GUI di Firefox 4, e trovo esteticamente sgradevole la comparsa di questi messaggi. Inoltre io tengo la add-on bar nascosta, per estendere lo spazio visivo, e dunque questi messaggi di connessione sembrano comparire “ingiustificatamente” sulla pagina mentre navigo. Per fortuna esiste l’estensione Status-4-Evar, che permette di personalizzare vari parametri relativi alla add-on bar, che ha preso il posto della status bar di FF3. Questa estensione consente di ricreare l’estetica precedente a livello di add-on bar, ma in senso più ampio permette di personalizzare le varie opzioni un po’ come si vuole, e dunque anche di rimettere i messaggi di connessione nella barra degli url, secondo la nuova estetica più estrema che era stata concepita per Firefox 4.

Come ho già detto considero Firefox il browser in assoluto, sia per motivi storici che per la maggiore completezza e anche per un look and feel generale che preferisco. Di conseguenza spero che questa uscita contribuisca al successo di Firefox e lo riporti al top delle classifiche!

Firefox Download Button

L’ora di Firefox 4

letture

Con l’uscita della beta 8 di Firefox 4 mi sono deciso a tentare il passaggio definitivo, cioè impiegare la nuova release come mio browser di default al posto di Firefox 3.6.

Fino ad adesso mi ero limitato a testare la versione 4 brevemente, ma nulla più. Questo non tanto perchè non fosse stabile o affidabile, ma perchè mancavano le estensioni che io giudico essenziali, per lo meno per come utilizzo io il browser. Ormai considero Greasemonkey del tutto irrinunciabile; i suoi script per personalizzare Facebook e miriadi di altri siti sono il massimo della vita, e adesso che ci sono delle nightly build di GM compatibili con Firefox 4 si può incominciare a parlare di migrazione. Stessa cosa dicasi per Stylish, che con le sue estensioni javascript a xul mi permette di impostare le toolbar del browser con la scomparsa automatica quando non sono utilizzate.

Infatti un merito che riconosco a Chrome è quello di averci fatto scoprire quanto bello sia navigare con una finestra ampia e sgombra, circondata da una cornice minima ed essenziale, al contrario di quanto era diventato comune prima della sua comparsa, ossia browser infarciti di toolbar che occupavano quasi tre quarti della finestra di navigazione. Il problema però è che poi quelle toolbar servono e sono comode, quindi anzichè eliminarle come fa Chrome io preferisco nasconderle e farle riapparire solo quando ci passa sopra il mouse, cosa che si realizza egregiamente appunto con Stylish.

Il cambio di GUI di Firefox 4 è in fondo relativo. Le “tab on top” sono la cosa più pubblicizzata ma in realtà trovo che non cambino molto. L’idea viene da Chrome e su Chrome rappresenta un cambiamento notevole, ma perchè accompagnato dall’assoluto minimalismo di cui sopra. Su Firefox si nota che spostando le tab sopra o sotto alla barra di navigazione cambia ben poco perchè l’occupazione di spazio è sempre la stessa.

Simpatica l’idea delle PinTab, le tab più piccole da tenere sempre aperte a mo’ di applicazione. Nulla che non fosse già realizzabile su FF3 con una estensione apposita, sia ben chiaro.

Trovo invece più di impatto la nuova filosofia della menu bar nascosta, non perchè sia nuova, infatti già si poteva fare sulle ultime versioni di FF3, ma perchè quando si nasconde la menubar adesso compare un pulsantone cumulativo – che ricorda un po’  quello di Office 2007/2010 – all’interno del quale sono raggruppate tutte le voci che normalmente stanno nella barra menu, il che presumo serva a eliminare la necessità di far poi ricomparire la barra quando serve accedere alle opzioni, come si fa in FF3 premendo un tasto o andando col mouse in zona menu.

L’impatto è dato dal fatto che ci si ritrova questo pulsantone e lo si vorrebbe spostare un po’ in giro per levarselo dai piedi, ma non ci si riesce a meno che non si installi qualche estensione che lo rende spostabile, ma di converso lo rende anche più evidente trasformandolo da grigio in arancione. Oh beh, si tratta ancora di una beta, magari nella versione finale sarà diverso.

Il tema di integrazione con KDE4 Oxygen è un vero gioiellino, pieno di opzioni e con la possibilità di avere finalmente anche i menu contestuali con gli angoli arrotondati, appunto in stile oxygen, invece di quelli squadrati tipici di FF3 e GTK.

Per il resto, il browser si conferma più leggero e veloce di FF3 e questo non può che essere positivo. Tutto sommato mi ci sto trovando bene e penso quindi che manterrò l’utilizzo della beta fino poi all’uscita definitiva di Firefox 4.

Ah, ovviamente tutte le considerazioni che ho fatto sono relative a Firefox su Linux e KDE! 🙂

CC BY-NC-SA 4.0 .