In vista della pubblicazione separata di due volumi è stata eseguita una revisione della prima parte del testo aggiornandone vari contenuti e spostando quelli più avanzati relativi ai processi in un capitolo a parte (capitolo 9) ancora incompleto. Il capitolo sulla gestione avanzata dei file è diventato il capitolo 10. Si è poi creato uno scheletro per quello relativo ai thread (capitolo 12). Pertanto la numerazione dei capitoli della seconda parte della guida, relativa alle reti, è avanzata di due unità.
Pubblicato PDF di cortesia della guida
In occasione della risistemazione del sito è stata pubblicata in data odierna una versione di cortesia del PDF della guida all’indirizzo http://gapil.gnulinux.it/fileshare/gapil.pdf. Questa versione è allo stato corrente della guida, pertanto con sezioni incomplete, e contenuti in corso di riorganizzazione. Non verrà aggiornata che sporadicamente, pertanto si ribadisce che per ottenere una versione corrente ed aggiornata occorre compilare la guida dai sorgenti come indicato nella sezione relativa (Versione Stampabile).
Il vecchio sito ospitato da Truelite è stato dismesso, la scarsa documentazione residua è stata riportata in altrettante pagine elencate nella sezione Altro Materiale.
Pubblicato Amministrare GNU/Linux
Gapil non è l’unico testo su cui ho lavorato in questi anni, con le attività di formazione e supporto fatte per conto di Truelite infatti ho dedicato molto tempo anche a creare della manualistica per la gestione sistemistica di sistemi GNU/Linux.
Il grosso del risultato di questo lavoro è nel testo “Amministrare GNU/Linux” che è giunto recentemente alla quinta edizione. Per quanto non direttamente collegato alla guida, mi pare comunque opportuno darne notizia, e rimandare per tutti i dettagli al sito di Truelite, alla pagina:
https://www.truelite.it/news/amministrare-gnu-linux-pubblicata-la-%20quinta-edizione/
Passaggio a git
Approfittando delle ferie estive si è provveduto ad effettuare il passaggio del sistema di gestione dei sorgenti della guida da Subversion a Git. Il vecchio repository Subversion rimane accessibile, ma non verrà più utilizzato ne aggiornato. I sorgenti della guida saranno da oggi disponibili su Git, e si potranno ottenere con il comando:
git clone https://gapil.gnulinux.it/git/gapil
La navigazione dei sorgenti viene fornita direttamente tramite gitweb alla voce di menu “Repository“.
Revisione seconda parte
Procede molto lentamente la revisione della guida, che viste le dimensioni verrà divisa in due volumi, separando la seconda parte dedicata alla programmazione di rete. I primi capitoli della stessa (11, 12), di natura introduttiva, sono stati revisionati, con una breve aggiunta sul modello di programmazione “broadcast”, ed una revisione generale sulle funzioni trattate uniformando la notazione a quella usata nelle pagine di manuale per le costanti che indicano le famiglie di indirizzi ed introducendo le novità intervenute nei termini delle nuove famiglie di indirizzi e delle estensioni dell’argomento flag della funzione socket.
Revisione capitolo 9 (ex 10)
E’ stata completata la revisione del capitolo sulla gestione avanzata dei file, spostato a precedere quello sui sistemi di intercomunicazione fra processi già revisionato in precedenza. Con l’occasione si è passati all’uso nella maniera più estesa possibile del font libero inconsolata per tutti i caratteri non proporzionali del testo.
Relativamente alla revisione dei contenuti si è documentata correttamente la funzione lockf ed i problemi che rendono inaffidabile il mandatory locking. Sono state riviste e completate le parti su epoll e signalfd e documentata correttamente timerfd. E’ stato revisionata la sessione sull’AIO, aggiungendo materiale su aio_error e aoi_return. E’ stata revisionata la sezione sul memory mapping, documentando le più recenti opzioni di mmap, trattando madvise e posix_madvise. Si è revisionata la trattazione di splice e ampliata quella di fallocate.
Revisione nono/decimo capitolo.
E’ stata completata la revisione del precedente nono capitolo, dedicato ai meccanismi di intercomunicazione fra processi, che è diventato il decimo per lo spostamento a seguire di quello sulla gestione avanzata dei file (che è ancora da rivedere).
E’ stata aggiornata tutta la parte sulle pipe aggiungendo la funzione di sistema pipe2 e si è documentato l’uso del close-on-exec e della modalità non-bloccante sia per le pipe che per la funzione socketpair.
Si è migliorata l’introduzione al SysV-IPC, con degli esempi più precisi e la revisione dell’introduzione. E’ stata completamente revisionata la trattazione dell’IPC POSIX, aggiornando le varie funzioni dell’interfaccia alle versioni presenti nei kernel recenti, in particolare per quanto riguarda le code di messaggi ed i semafori.
Completa la revisione del capitolo 8
Grazie al ponte del 25 aprile ed al 1° maggio ho avuto un po’ di tempo per completare la revisione del capitolo 8 (nuovo numero dopo la revisione) dedicato a sessioni e terminali. Non ci sono aggiunte significative, ma solo un po’ di aggiornamenti e svecchiamenti, ed una serie di correzioni. Rispetto all’ultima edizione è comunque presente la documentazione del syslog e di klogctl (l’interfaccia per l’accesso al ring buffer di printk).
Nuovo settimo capitolo
La revisione del nuovo settimo capitolo dedicato ai segnali, (il precedente nono, prima degli accorpamenti) è stata completata.
E’ stata completamente rivista la classificazione dei segnali aggiornando i dati e correggendo alcune imprecisioni (alcune correzioni sono state inviate anche al manutentore delle man pages relative).
Si sono aggiornate le funzioni di gestione delle maschere dei segnali. Sono stati inseriti gli aggiornamenti relativi ai nuovi orologi Posix introdotti nei kernel più recenti. Si è aggiunta la trattazione di clock_nanosleep.
Nuovo sesto capitolo
La revisione del nuovo sesto capitolo (il precedente ottavo, prima degli accorpamenti) è stata completata. Dopo la rimozione della parte sulla gestione dei filesystem, spostata all’inizio del quarto capitolo, si è ristrutturato il resto dei contenuti. In particolare:
- si è spostata la parte su
sysctl
e/proc
nella prima sezione, dove era più in argomento. La trattazione della system callsysctl
, ormai totalmente deprecata, è stata rimossa, e si è leggermente ampliata quella di/proc
. - si è rivista la seconda sezione sul sistema in generale aggiungendo una sezione su spegnimento e riavvio, trattando
reboot
ekexec_load
. - si è aggiornata la trattazione dei limiti sulle risorse inserendo le nuove risorse introdotte fino ai kernel correnti e la system call
prlimit
- si è rivista la trattazione dei tempi e le relative funzioni, accorpando i dati relativi a jiffies, HZ, clock tick, ecc.