Košík je prázdný

CentOS 7, jakožto oblíbená distribuce Linuxu pro serverové prostředí, vyžaduje pravidelnou údržbu a aktualizace. Jedním z běžných problémů, kterým administrátoři čelí, je plnění /boot oddílu starými verzemi jádra systému (kernelů), což může vést k problémům při aktualizaci systému. Tento článek popisuje, jak nastavit systém pro automatické odstraňování starých kernelů a uvolnění místa na oddílu /boot.

Předpoklady

  • Přístup k root účtu nebo uživateli s sudo oprávněními.
  • Nainstalovaný CentOS 7.

Krok 1: Zkontrolujte aktuální jádra

Nejprve zjistěte, která jádra jsou momentálně nainstalována na vašem systému. Otevřete terminál a spusťte následující příkaz:

rpm -q kernel

Tento příkaz vypíše všechna nainstalovaná jádra. Doporučuje se ponechat alespoň jedno starší jádro jako zálohu pro případ, že by s novějším jádrem nastaly problémy.

Krok 2: Nastavení YUM

CentOS 7 využívá správce balíčků YUM pro instalaci a aktualizaci softwaru, včetně jader. YUM umožňuje konfiguraci pro automatické odstraňování starých kernelů. Otevřete konfigurační soubor YUM v editoru:

sudo nano /etc/yum.conf

V souboru yum.conf najděte řádek obsahující installonly_limit. Tato hodnota určuje, kolik verzí jádra si systém ponechá. Doporučená hodnota je 2, což znamená, že systém si ponechá aktuální jádro a jedno předchozí. Pokud tento řádek neexistuje, přidejte ho na konec souboru:

installonly_limit=2

Uložte soubor a zavřete editor.

Krok 3: Automatické čištění pomocí YUM

YUM disponuje pluginem yum-utils, který obsahuje nástroj package-cleanup, jenž umožňuje snadné odstraňování nepotřebných balíčků, včetně starých jader. Pokud yum-utils ještě není nainstalován, nainstalujte jej pomocí příkazu:

sudo yum install yum-utils

Po instalaci můžete spustit package-cleanup s parametrem --oldkernels a nastavit limit na počet jader, které si přejete ponechat. Pokud jste nastavili installonly_limit=2, můžete spustit:

sudo package-cleanup --oldkernels --count=2

Tento příkaz odstraní všechna jádra kromě posledních dvou.

Krok 4: Automatizace čištění

Pro automatizaci tohoto procesu můžete nastavit cron job, který bude pravidelně spouštět příkaz pro odstraňování starých kernelů.

  1. Otevřete crontab pro úpravy:
    sudo crontab -e
    ​
  2. Přidejte řádek definující, jak často chcete čištění spouštět. Například pro spuštění jednou týdně:
    0 2 * * 0 sudo package-cleanup --oldkernels --count=2
    ​

Tento příkaz spustí čištění každou neděli v 2:00 ráno.

Uložte a zavřete crontab. Cron nyní automaticky spustí čištění podle nastaveného harmonogramu.

 

Nastavením automatického odstraňování starých kernelů na CentOS 7 můžete udržovat oddíl /boot čistý a zabránit jeho zaplnění, což zajišťuje hladké a bezproblémové aktualizace systému. Vždy se ujistěte, že si ponecháváte alespoň jedno funkční starší jádro pro případ nouze.