När du kör produktionsservrar är det enda du inte vill göra att uppgradera kärnan varje gång en ny uppdatering kommer ut. Varför? Eftersom det är den enda Linux-uppdateringsoperationen som kräver en omstart när den är klar - och i en produktionsmiljö kan du ofta inte ha stillestånd.
Scenariot
Så du har äntligen din rpm-baserade server, stabil och säker. Livet är bra och du tror inte att du måste göra något annat under en tid.
Sedan kör du av någon anledning på kommandoraden som root:
#yum -y -d0 uppdatering
Som bara råkar ge ett bekräftande svar på alla uppmaningar till kommandot yum. Som också råkar springa så tyst som möjligt. Och vilket händer den här gången för att inkludera en uppdatering av kärnpaketen.
Och nu fungerar saker inte korrekt. Hur kunde du ha förhindrat detta?
Även om du uppenbarligen och desperat behöver en semester nu, bör du besöka ditt systemuppdateringsschema, din dokumentation (som naturligtvis är noggrann, aktuell och lätt tillgänglig) och särskilt konfigurationsfilerna som styr yum.
Men först, varför skulle du inte vilja uppdatera kärnan?
- Saker går ibland sönder. En uppdatering kan göra moduler eller drivrutiner inkompatibla så att enheter som ett trådlöst kort inte längre fungerar.
- Underhåll versioner över serverpopulationer. Detta skulle verkligen gälla om du har en blandning av olika serverdistributioner tillsammans med några hembyggda lådor.
- Kompilerade kärnan manuellt och kringgick därmed den automatiska konfigurationen från yum
- Du är fruktansvärt stolt över din drifttid så att utföra en omstart för att aktivera den nya kärnan skulle inte vara i ditt bästa intresse. Så om du aldrig startar om, behöver du aldrig uppdatera det.
Varför vill du uppdatera kärnan?
- I första hand - säkerhet. Kärnor har hål precis som applikationer och kan, om de inte lappas, ge möjligheter för skurkarna att kompromissa med systemet.
- Speciellt om du inte använder ett tredjepartsförvar för att hålla din version så uppdaterad som möjligt. Större distros släpper korrigeringar till all sin inkluderade kod inklusive kärnan och strävar efter att testa den före release för att säkerställa stabilitet. Att inte uppdatera är att släpa efter vilket kan göra saker svårare när du utför en uppgradering till en större version.
- Att dra nytta av en ny funktion (eller för att fixa en tidigare trasig) skulle göra dig möjligen mer mottaglig för en kärnuppdatering.
För att uppdatera kärnan gör du bara vad du gjorde ovan. Eller, bättre, eliminera kommandoradsväxlarna så att du har viss kontroll över uppdateringsprocessen och kan se vad som händer. Springa:
#yum uppdatering
och följ anvisningarna.
Att förhindra att Yum uppdaterar kärnan
Men om du inte bara vill ha kärnan uppdaterat blindt kan du lägga till följande i din /etc/yum.conf-fil:
exkludera = kärna *
Eller, om du insisterar på att använda en vaniljkonfigurationsfil och kontrollera allt via CLI, använd
#yum –exclude = kärna * uppdatering
Båda dessa metoder kommer att eliminera att kärnan uppdateras eller till och med ingår i den potentiella uppdateringslistan.