Trattazione delle quote disco

Al capitolo sulla gestione di file e directory è stata aggiunta una nuova sezione dedicata alla trattazione delle funzioni (in realtà è una sola, quotactl) per la gestione delle quote disco. Oltre alle spiegazioni sono stati aggiunti alcuni esempi di un modulo Python (scritto in C) che consente di effettuare le operazioni sulle quote disco chiamando direttamente la suddetta funzione.

Per l’occasione il modulo è stato esteso anche con la gestione dell’impostazione dei grace time, e pubblicato insieme ai sorgenti dei pacchetti Debian di Truelite, pertanto si potrà ottenerne il codice completo a partire dalla relativa pagina, raggiungibile all’indirizzo:

http://labs.truelite.it/projects/packages/wiki/QuotaModule

Revisione del capitolo su terminali e sessioni

Ho completato una breve revisione del capitolo 10, originariamente intitolato “Terminali e sessioni di lavoro“. Il nuovo titolo, che tiene conto del fatto che vi si parla anche di demoni e del syslog, è diventato “Interfaccia utente: terminali e sessioni di lavoro“.

Sono stati aggiornate e riviste alcune parti introduttive, sottolineando il significato della console di sistema, e riscritta in buona parte la sezione su demoni e syslog, aggiungendo alcune funzioni di libreria (vsyslog, closelog) che non erano state trattate e aggiungendo la trattazione della gestione dei log del kernel (klogctl) prima totalmente assente.

Per fare alcuni test relativi all’uso di klogctl si è inoltre scritto un piccolo programma di test (mydmesg.c) che ha anche rivelato che una delle operazioni di klogctl non si comporta esattamente come descritto nella pagina di manuale.

Infine sono state riviste anche le parti relative alla gestione dei terminali, aggiornando i flags di termios, e le varie funzioni associate alla manipolazione delle caratteristiche dei terminali, aggiungendo alcune funzioni non trattate precedentemente (cfmakeraw, cfsetspeed). Resta ancora da fare la parte sulla gestione dei terminali virtuali.

Un programma di esempio per sa_sigaction

Nella caccia ad un bug che faceva sì che i CGI bloccati non venissero correttamente terminati da Apache nonostante la direttiva Timeout fosse impostata correttamente, ho scritto un semplicissimo CGI che non facesse niente, allo scopo di capire di cosa stesse succedendo.

Alla fine il problema, almeno su Debian Lenny, era che sulle macchine a 64 bit (e solo su quelle) mod_deflate manda in SEGFAULT il sottoprocesso di Apache che a sua volta lancia il CGI se questo non ha generato nessuna uscita, con il risultato che poi il segnale di terminazione (che per i curiosi che come me lo han cercato invano nella documentazione, è SIGTERM) non viene inviato ed il CGI resta in esecuzione, orfano, per l’eternità.

Ma prima di arrivare alla conclusione che il segnale non veniva neanche lanciato, per capire da chi e come arrivasse in condizioni normali (e per essere sicuri che non ci fossero problemi di intercettazione) ho scritto questo piccolo programma, che si limita ad attendere indefinitamente, e scrive su un file (dall’interno del gestore) quello che vede.

Per farlo ho usato versione avanzata dei gestori di segnali (quelli impostati con un campo sa_sigaction) che prevedono anche il ritorno in un argomento siginfo_t di una serie di dati relativi al segnale, come il PID del processo che lo ha inviato. Il programma è molto semplice e appena avrò un po’ di tempo lo inserirò come esempio nel testo per questa funzionalità, per chi fosse curioso si trova a questo indirizzo:

http://gapil.truelite.it/sources/browser/trunk/sources/testsignalcgi.c

Codifica caratteri

In questa settimana ho convertito tutti i sorgenti di GaPiL a UTF8, questo questo però comporterà che la visualizzazione con Trac del codice Latex delle differenze introdotte  conversione non sarà del tutto corretta. Chiunque riscontri altri problemi di visualizzazione è pregato di segnalarlo.

Tags: ,

Transizione completa

Con l’impiego di qualche giorno per il recupero delle varie informazioni e la definizione dei collegamenti, ho completato la transizione al nuovo sito per GaPiL, reinserendo la vecchia sezione delle notizie come tanti articoli separati sul sito. Da oggi le vecchie pagine redirigono la nuova versione su gapil.gnulinux.it, restano su gapil.truelite.it il repository subversion e il sistema di tracciamento con Trac.

Un nuovo sito

Dopo molto tempo mi sono deciso a risistemare anche le pagine di GaPiL portando il tutto su WordPress, come fatto circa un mese fa con il mio sito personale. La migrazione inizia oggi, e proseguirà nei prossimi giorni, cercando di reimmettere nel sito tutti i contenuti delle vecchie pagine.

Tags:

Aggiornamento versione stampata

Aggiornata la versione cartacea acquistabile su lulu.com, all’indirizzo http://stores.lulu.com/piccardi, contiene le ultime novità in particolare riguardo le funzioni delle ACL. Si ricorda che il sovrapprezzo serve a finanziare lo sviluppo del testo; si può sempre scaricare la versione corrente aggiornata e gratuita da questo sito.

Pubblicata versione stampabile

Pubblicata una versione stampabile a richiesta su lulu.com, ordinabile all’indirizzo http://stores.lulu.com/piccardi.

Accesso ai sorgenti con Trac

Modificata la pagina dell’accesso ai sorgenti, non viene più utilizzato ViewCVS ma è stato installato il sistema di tracking Trac che oltre alla navigazione dei contenuti consente di tenere sotto controllo le revisioni, e l’evoluzione della guida e di inviare ticket via web.

Pubblicato webserver di esempio

Realizzato un web server elementare a scopo didattico, in vista dell’iniziativa del Lilik su GaPiL.

This work by Simone Piccardi is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported.