Quando esegui server di produzione, l'unica cosa che non vuoi fare è aggiornare il kernel ogni volta che esce un nuovo aggiornamento. Perché? Perché questa è l'unica operazione di aggiornamento di Linux che richiede un riavvio una volta completata e in un ambiente di produzione spesso non è possibile avere tempi di inattività.
Lo scenario
Quindi hai finalmente il tuo server basato su rpm, stabile e sicuro. La vita è bella e non pensi di dover fare nient'altro per un po 'di tempo.
Quindi, per qualche motivo, esegui dalla riga di comando come root:
#yum -y -d0 aggiornamento
Che succede solo per fornire una risposta affermativa a tutti i prompt per il comando yum. Che funziona anche nel modo più silenzioso possibile. E che succede questa volta per includere un aggiornamento ai pacchetti del kernel.
E ora le cose non funzionano correttamente. Come hai potuto impedirlo?
Sebbene tu abbia ovviamente e disperatamente bisogno di una vacanza ora, dovresti rivedere il tuo programma di aggiornamento del sistema, la tua documentazione (che, ovviamente, è meticolosa, attuale e prontamente disponibile) e soprattutto i file di configurazione che controllano yum.
Ma prima, perché non vorresti aggiornare il kernel?
- Le cose a volte si rompono. Un aggiornamento potrebbe rendere i moduli oi driver incompatibili, quindi i dispositivi come una scheda wireless non funzioneranno più.
- Mantieni le versioni tra le popolazioni di server. Ciò si applicherebbe sicuramente se hai un mix di diverse distribuzioni di server insieme ad alcune scatole costruite in casa.
- Ha compilato il kernel manualmente, bypassando così la configurazione automatica fornita da yum
- Sei orribilmente orgoglioso del tuo tempo di attività, quindi eseguire un riavvio per attivare il nuovo kernel non sarebbe nel tuo migliore interesse. Quindi, se non si riavvia mai, non è mai necessario aggiornarlo.
Perché vorresti aggiornare il kernel?
- In primo luogo - sicurezza. I kernel hanno buchi proprio come le applicazioni e, se non patchati, possono fornire opportunità per la compromissione del sistema da parte dei malintenzionati.
- Soprattutto se non stai utilizzando un repository di terze parti, per mantenere la tua versione il più aggiornata possibile. Le principali distribuzioni rilasciano patch a tutto il codice incluso, incluso il kernel, e si sforzano di testarlo prima del rilascio per garantire la stabilità. Non aggiornare significa rimanere indietro, il che potrebbe rendere le cose più difficili quando si esegue un aggiornamento a una versione principale.
- Approfittare di una nuova funzionalità (o risolverne una precedentemente danneggiata) ti renderebbe forse più disponibile a un aggiornamento del kernel.
Per aggiornare il kernel basta fare quello che hai fatto sopra. O, meglio, eliminare le opzioni della riga di comando in modo da avere un certo controllo sul processo di aggiornamento e vedere cosa sta succedendo. Correre:
#yum update
e segui le istruzioni.
Impedire a Yum di aggiornare il kernel
Tuttavia, se non vuoi mai aggiornare ciecamente il kernel, puoi aggiungere quanto segue al tuo file /etc/yum.conf:
escludi = kernel *
Oppure, se insisti a utilizzare un file di configurazione vanilla e controlli tutto tramite la CLI, usa
#yum –exclude = kernel * aggiornamento
Entrambi questi metodi elimineranno il kernel dall'aggiornamento o persino dall'inclusione nel potenziale elenco di aggiornamenti.