8.11.1. Funzionalità di pacchetto kernel Debian
Un pacchetto kernel Debian installa l'immagine del kernel (vmlinuz-versione
), la sua configurazione (config-versione
) e la sua tabella dei simboli (System.map-versione
) in /boot/
. La tabella dei simboli aiuta gli sviluppatori a comprendere il significato di un messaggio d'errore del kernel; senza di essa, il kernel restituirebbe solo un "oops" (un "oops" del kernel è equivalente ad un difetto di segmentazione nei programmi in spazio utente, in altre parole messaggi generati a seguito della dereferenziazione di un puntatore non valido) che contiene unicamente un indirizzo di memoria numerico, che è un'informazione inutile senza una tabella che relazioni questi indirizzi ai simboli ed ai nomi delle funzioni. Questi moduli sono installati nella directory /lib/modules/versione/
.
Gli script di configurazione del pacchetto generano automaticamente un'immagine initrd, che è un mini-sistema pensato per essere caricato in memoria (da qui il nome, che sta per "init ramdisk") dal bootloader, e utilizzato dal kernel Linux unicamente per caricare i moduli necessari ad accedere ai dispositivi che contengono il sistema Debian completo (per esempio, i driver per i dischi SATA). Alla fine, gli script di post-installazione aggiornano i collegamenti simbolici /vmlinuz
, /vmlinuz.old
, /initrd.img
e /initrd.img.old
così che possano puntare, rispettivamente, agli ultimi due kernel installati, così come alle corrispondenti immagini initrd.
La maggior parte di questi task sono scaricati per agganciare script nelle directory /etc/kernel/*.d/
. Per esempio, l'integrazione con grub
si basa su /etc/kernel/postinst.d/zz-update-grub
e /etc/kernel/postrm.d/zz-update-grub
per chiamare update-grub
quando i kernel sono installati o rimossi.
8.11.2. Installare con dpkg
Using apt
is so convenient that it makes it easy to forget about the lower-level tools, but the easiest way of installing a compiled kernel is to use a command such as dpkg -i package.deb
, where package.deb
is the name of a linux-image package such as linux-image-4.9.30-ckt4-falcot_1_amd64.deb
.
I passi di configurazione descritti in questo capitolo sono base ma funzionano sia per un sistema server sia per una postazione di lavoro e possono essere duplicati massivamente con modalità semi-automatiche. Tuttavia non sono sufficienti per fornire da soli un sistema completamente configurato. Alcune parti necessitano ancora di configurazione, cominciando con i programmi di basso livello conosciuti come «servizi Unix».