Usuwanie nieaktualnych kerneli z Ubuntu

No votes yet

Poniżej znajduje się skrypt automatycznie czyszczący nieaktualne wersje kernela i pakietów "okołokernelowych" (nagłówki, itd) z działającego systemu. Skrypt należy uruchomić po aktualizacji zmieniającej kernel na nowszy i po zresetowaniu komputera. Kluczową sprawą jest reset, gdyż starszą wersję można bezpiecznie wywalić tylko z poziomu działania nowej wersji kernela.

#!/bin/bash

# Wyciągnięcie informacji o aktualnie działającym kernelu

# KERN_FULL - na przykład '2.6.27-11-generic'
KERN_FULL=`uname -r`

#KERN_SUBVER - na przykład '2.6.27-11'
KERN_SUBVER=`uname -r | cut -d'-' -f1-2`

# KERN_VER - na przykład '2.6.27'
KERN_VER=`uname -r | cut -d'-' -f1`

#  Wybiera wszystkie pakiety z pełnym numerem wersji w nazwie (póki co na szczęście tylko pakiety kenelowe)
# z pominięciem aktualnego kernela i pakietów z numerami wersji ale bez żadnych przyrostków - czyli na przykład
# nie ruszy linux-source-2.6.27
PKG=`aptitude -F "%p" search "~i${KERN_VER}" | grep -v "${KERN_FULL}" | egrep -v "${KERN_VER}\\s*\$" | egrep -v "${KERN_SUBVER}\\s*\$"`

aptitude purge $PKG