Installa e aggiorna Redhat Kernel RPM

Il kernel è il componente centrale di un sistema operativo, che è responsabile della gestione della memoria, dei processi e delle attività e dei dischi. La prima cosa a cui pensare quando si aggiorna un kernel è “perché hai bisogno di un aggiornamento del kernel”. Molte persone considerano l’aggiornamento del kernel per le vulnerabilità che potrebbero non essere risolte aggiornando il kernel. L’aggiornamento del kernel è richiesto solo se,
• È stato installato hardware più recente che non era supportato in precedenza.
• I driver per l’hardware in tuo possesso sono aggiornati e devi utilizzarli.
• Più importante: i buchi di sicurezza sono stati trovati nei kernel precedenti e risolti nel kernel più recente.
Ora possiamo vedere come installare/aggiornare l’attuale RPM del kernel redhat.
1) Annotare i pacchetti correnti installati dal kernel
Innanzitutto, è necessario controllare (e annotare) gli attuali pacchetti del kernel RPM attualmente installati sul server. Questo può essere controllato usando il comando rpm.
# rpm –qa | grep ‘kernel’
Controlla anche i seguenti pacchetti per i kernel SMB.
# rpm -q mkinitrd SysVinit initscripts
Questi comandi forniranno i nomi dei pacchetti di quelli installati sul tuo server.
2) Scarica gli ultimi RPM
Ora devi scaricare gli ultimi RPM del kernel da ftp://updates.redhat.com o da qualsiasi sito mirror. Scarica tutti i kernel-* rpm.
3) Conferma dell’RPM scaricato
Prima di procedere con l’installazione/aggiornamento dell’RPM, è necessario verificare che gli RPM siano stati scaricati correttamente. A volte potresti finire per scaricare con RPM corrotti. Quindi, per fare in modo che l’aggiornamento del kernel abbia successo, è necessario confermare la somma degli RPM md5 caricati utilizzando il seguente comando (su macchine redhat 5.x).
# rpm -K --nopgp *rpm
Se tutte le somme MD5 mostrano “OK”, sei a posto.
Si consiglia sempre di avere a portata di mano un disco avviabile mentre si procede con l’aggiornamento del kernel, in quanto si potrebbe ritrovarsi con una macchina non avviabile in caso di aggiornamento del kernel non riuscito.
4) Installare/aggiornare gli RPM del kernel
Per prima cosa devi aggiornare gli RPM non del kernel come mkinitrd, SysVinit e initscripts. Il seguente comando eseguirà questa installazione.
rpm -Uvh mkinitrd*rpm SysVinit*rpm initscripts*rpm
I seguenti pacchetti sono facoltativi e richiesti solo dagli sviluppatori del kernel.
# rpm -Uvh kernel-headers*rpm kernel-source*rpm
Ora possiamo procedere con l’aggiornamento del pacchetto e del modulo del kernel. Si noti che è necessario utilizzare l’opzione -i (installazione) invece di –U (aggiornamento). Perché l’opzione –U eliminerà la versione del kernel precedentemente installata di cui abbiamo bisogno in caso di aggiornamento non riuscito.
# rpm -ivh kernel-2.2.17-14.i586.rpm kernel-ibcs*rpm kernel-pcmcia-cs-*rpm
Sostituisci la versione con quelle esatte che stai installando.
5) Creazione del disco RAM iniziale
Questo passaggio è necessario se il sistema dispone di controller SCSI/dischi rigidi SCSI. Se il tuo sistema ha controller SCSI, sarai in grado di trovare le immagini initrd in /boot.
# ls –l /boot/initrd-*
Se riesci a trovare l’immagine initrd per il kernel attualmente in esecuzione, devi continuare con questo passaggio per creare una nuova immagine initrd per il nuovo kernel.
# mkinitrd /boot/initrd-2.2.17-14.img 2.2.17-14
Questo creerà l’immagine RAM “/boot/initrd-2.2.17-14.img”.
6) Controllare la configurazione di grub
Grub verrà automaticamente configurato con il nuovo kernel durante l’installazione di RPM. Un esempio di file di configurazione di grub – /etc/grub.conf’ – sarebbe il seguente.
default=0
timeout=10
splashimage=(hd1,0)/grub/splash.xpm.gz
title Red Hat Linux (2.2.17-14)
root (hd1,0)
kernel /vmlinuz-2.2.17-14 ro root=/dev/sdb6
initrd /initrd-2.2.17-14.img
Il valore da “0” a “default” indica che si avvierà dal primo kernel menzionato in grub.conf.
7) Riavvia il dispositivo
Ora puoi riavviare la macchina usando il seguente comando.
shutdown -r now
Il sistema verrà avviato con il nuovo kernel.