Monthly Archives: March 2012

Because I’m lazy. (Latex link)

In this period I’m following an English Advance Control Course at my University and the Professor said that will be a project that weight two/third of the final score. Uh, ok! I’ll take the challenge seriously.

He said also that the report of the project HAVE to be written in Latex. Ok ok, I admit that a master degree student have to know Latex, but I don’t. Even for my bachelor thesis I used M$ Word :D .

Fortunately God love us and invent humans that posts on blog to help other humans like me, that are too lazy to read a tutorial. So here the link to the blog I’ve discovered recently. Thanks dude!

-3-Come organizzare un piano di deployment per linux: i punti fondamentali.

Continuiamo la nostra rassegna dei passi fondamentali per usare il Gulliver (-cit.- “la testa”) quando per lavoro saremo chiamati ad installare Linux su macchine aziendali. Non si può sbagliare!

Nel precedente post avevamo sottolineato l’importanza di documentarsi sul sito della distribuzione scelta e nello specifico riguardo due documenti importanti: la HCL — hardware compatibility list — ed i requisiti minimi, in questo post avremo a che fare con il file system; dovremo cioè sceglierne uno e pianificare la tabella delle partizioni.

Essenzialmente nel mondo Linux sono presenti due tipi di file system che vale la pena di considerare: ext e Reiser. Di file system ext c’è ne sono diverse versioni: la due (ext2), la tre (ext3) e la quattro (ext4).Ometterò volutamente di parlare di Reiser poiché implementa soluzioni che sono comuni anche a ext2/ext3. Si tratta di un’alternativa.

Ext2 è un file system molto performante ma se, Iddio non voglia mai, capita che la macchina si spenga per qualche motivo durante una transazione del disco (così si chiamano che operazioni che il kernel compie sul disco) al riavvio verrà chiamato un programma di recupero (e2fsck) che analizzerà l’intero file system in cerca di anomalie nei dati. Ecco, il problema è proprio questo, passa in rassegna tutto il file system. Potrebbe volerci molto tempo e non è quello che vogliamo.

Ext3 aggiunge una feature molto interessante: il journaling. In sostanza il kernel tiene traccia dello stato di tutte le transizioni del disco su un file (detto appunto journal – diario in inglese- ) così se capita un qualche problema il kernel sa che deve ispezionare sono un file per rimettere le cose apposto, il che non è poco. Il tutto è molto bello ma capite bene che ogni transazione del disco deve passare per l’aggiornamento di questo file. Ciò si traduce in un overhead in I/O.  Ma sono sicuro che potremmo sopportarlo, vero?

Ext4 è il vostro uomo! Dovrebbe essere la scelta più naturale poiché comprende tutti i pro delle versioni precedenti ed è compatibile retroattivamente sia con ext2 sia con ext3. Questo file system aggiunge i checksum (un metodo per verificare se il file è stato modificato — accidentalmente o volutamente –) sul file di journal ed un’ipotetica dimensione del volume di 1 exabyte, file di dimensioni massime di 16 Terabyte ed un numero complessivo di file di 4 miliardi. Veramente muscoloso.

Per quanto riguarda invece il partizionamento darò uno schema che nella maggior parte dei casi collima con le esigenze che di solito si hanno. Divide et impera! Le partizioni che si dovrebbero creare sono sette. La root ( / ) per installare il sistema e gli update software, una partizione di boot ( /boot ), 100/200 Mb saranno più che sufficienti, di vitale importanza sono poi le partizioni sulla home ( /home ) sui file temporanei ( /tmp ) e sui file variabili ( /var ), non vogliamo certo che qualche utente oppure una politica di rotazione dei log fallace ci intasi il sistema! Per ultime ma non meno importanti sono le partizioni per i file applicazioni ( su /opt ) e per le utilità di sistema ( /usr ).

E siamo giunti alla conclusione del terzo punto, alla prossima puntata!

Scrivere, si! Ma come?

Molto spesso mi sono chiesto cosa ci fosse sotto e dentro il processo della scrittura. Questo piccolo post è una mia rielaborazione del famoso studio di Linda Flower e John R.Hayes “A Cognitive Process Theory of Writing”. Flower ed Hayes sono due psicologi cognitivi. Invito tutti coloro che masticano l’inglese a leggerlo loro stessi ( Flowers-Hayes-1981-Cognitive-Process-Theory-of-Writing ).

Prima di arrivare ad avere un testo finito lo scrittore passa attraverso vari processi, alcuni dei quali si ripetono ricorsivamente. Possiamo dire che il tutto parte dal contesto in cui lo scritto deve esistere: “Qual è la motivazione dello scritto?”, “Chi è, chi sono i destinatari?”, “Il tipo/l’argomento della composizione?”. Queste sono alcune delle domande a cui bisogna rispondere per identificare il contesto in cui lo scritto nasce. Ora le informazioni raccolte sono unite alla memoria dello scrittore, ciò che sa dell’argomento, dei possibili destinatari e degli stili di scrittura fanno si che si delinino le prime idee. A queste idee bisogna poi dare un’organizzazione secondo criteri ben definiti ed il risultato sono i primi abbozzi di indici, paragrafi e sottoparagrafi. Si passa quindi alla stesura vera e propria dello scritto a cui segue, con una parola amata molto dagli informatici come me, una revisione ricorsiva – rilettura e correzione – dello scritto.

Questo è in estrema sintesi il processo della scrittura, giusto per fissare le idee di base.

–2–Come organizzare un piano di deployment per linux: i punti fondamentali.

Continuiamo la nostra rassegna dei punti fondamentali per organizzare al meglio un piano di deployment per Linux. Nel primo post avevamo parlato dell’importanza di avere bene in mente tutti i soggetti coinvolti nel piano, i rispettivi ruoli, gli obiettivi a breve/medio/lungo termine che l’installazione dovrà soddisfare e la portata in termini di forza lavoro che occorre per implementarla prima e manutenerla poi.

Il secondo punto è quello della scelta della distribuzione Linux da adottare. Ora in commercio esistono essenzialmente due distribuzioni che offrono supporto tecnico e soluzioni enterprise — Suse e Red Hat — tra cui poter scegliere. C’è anche Ubuntu, ma è ancora abbastanza giovane come realtà e non così consolidata come le altre due. Tutto dipende ovviamente dal ruolo che andranno a ricoprire le macchine. Documentatevi e scoprite le peculiarità di una distribuzione per quanto riguarda le applicazioni fornite, il tipo di supporto tecnico, il tempo di risposta e cosa molto importante, la compatibilità hardware ed i requisiti minimi che la macchina deve supportare. Suse e Red Hat hanno una HCL — hardware compatibility list — che vi sarà molto utile quando sceglierete l’hardware da comprare o verificherete la compatibilità di macchine che devono essere riqualificate.

Il prossimo punto da discutere sarà quello di pianificare ed organizzare il File System.

Alla prossima!