20Aug

Hoe Yum te voorkomen dat de kernel wordt bijgewerkt

Wanneer u productieservers draait, is het enige dat u niet wilt doen, het upgraden van de kernel telkens wanneer een nieuwe update verschijnt. Waarom? Omdat dat de enige Linux-updatebewerking is waarvoor opnieuw opstarten vereist is - en in een productieomgeving kunt u vaak geen downtime hebben.

Het scenario

Dus je hebt eindelijk je op rpm gebaseerde server ingesteld, stabiel en veilig. Het leven is goed en je denkt niet dat je al een tijdje iets anders moet doen.

Dan, om wat voor reden dan ook, voer je als root de opdrachtregel uit:

#yum -y -d0 update

Die toevallig een bevestigend antwoord geeft op alle prompts voor het yum-commando. Dat gebeurt ook zo stil mogelijk. En wat gebeurt er deze keer om een ​​update van de kernelpakketten op te nemen.

En nu werken dingen niet correct. Hoe had je dit kunnen voorkomen?

Hoewel je nu duidelijk en dringend een vakantie nodig hebt, moet je je systeemupdateschema, je documentatie( die uiteraard nauwgezet, actueel en direct beschikbaar is) en vooral de configuratiebestanden die yum beheersen, opnieuw bezoeken.

Maar eerst, waarom zou je de kernel niet willen bijwerken?

  1. Soms breken dingen. Een update kan modules of stuurprogramma's incompatibel maken, zodat apparaten zoals een draadloze kaart niet langer werken.
  2. Behoud versies over serverpopulaties. Dit zou zeker van toepassing zijn als je een mix van verschillende serverdistributies hebt samen met enkele zelfgemaakte boxen.
  3. Heeft de kernel handmatig gecompileerd, dus de automatische configuratie omzeild die door yum
  4. wordt geleverd. Je bent vreselijk trots op je uptime, dus het uitvoeren van een reboot om de nieuwe kernel te activeren zou niet in je beste belang zijn. Dus als u nooit opnieuw opstart, hoeft u deze nooit bij te werken.

Waarom zou u de kernel willen bijwerken?

  1. Hoofdzakelijk - beveiliging. Kernels hebben gaten net als toepassingen en kunnen, indien niet gepatcht, kansen bieden voor het compromitteren van het systeem door de slechteriken.
  2. Vooral als u geen externe repository gebruikt, om uw versie zo actueel mogelijk te houden. Grote distro's geven patches vrij aan alle bijbehorende code inclusief de kernel en proberen deze te testen voordat ze worden vrijgegeven om stabiliteit te garanderen. Niet bijwerken is achterblijven wat het moeilijker kan maken bij het uitvoeren van een upgrade naar een belangrijke versievrijgave.
  3. Door gebruik te maken van een nieuwe functie( of om een ​​eerder defecte functie te repareren) zou je mogelijk meer vatbaar zijn voor een kernel-update.

Om de kernel bij te werken doe je gewoon wat je hierboven hebt gedaan. Of, beter, elimineer de opdrachtregelopties, zodat u enige controle hebt over het updateproces en kunt zien wat er gebeurt. Uitvoeren:

#yum update

en volg de aanwijzingen.

Voorkomen dat Yum de kernel bijwerkt

Als je echter niet wilt dat de kernel gewoon blindelings wordt bijgewerkt, kun je het volgende toevoegen aan je /etc/ yum.conf-bestand:

exclude = kernel *

Of, als je erop staatgebruik een vanilla-configuratiebestand en controleer alles via de CLI, gebruik

#yum -exclude = kernel * update

Beide methoden zorgen ervoor dat de kernel niet wordt bijgewerkt of zelfs opgenomen in de potentiële updatelijst.