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ů.
- Otevřete crontab pro úpravy:
sudo crontab -e
- 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.