Aby odpowiedzieć dlaczego, zapoznaj się z plikiem /etc/apt/apt.conf.d/01autoremove-kernels
Jak widać, apt dowiaduje się nigdy autoremove jądra, jak powiedział o innym pliku (skryptu) /etc/kernel/postinst.d/apt-auto-removal
. A oto:
Jeśli ręcznie zainstalujesz 2 wybrane jądra, tj. Pierwsze i bieżące, apt-autorove usunie tylko starsze wersje, których nie zainstalowałeś ręcznie, więc zawsze będziesz miał te 2 opcje plus cokolwiek najnowszego.
Aktualizacja:
W /etc/kernel/postinst.d/apt-auto-removal
tej części jest:
if [ "$latest_version" != "$installed_version" ] \
|| [ "$latest_version" != "$running_version" ] \
|| [ "$installed_version" != "$running_version" ]
then
# We have at least two kernels that we have reason to think the
# user wants, so don't save the second-newest version.
previous_version=
fi
Więc jeśli porównasz dane wyjściowe 01autoremove-kernels
pliku i uname -r
zdasz sobie sprawę, że aktualnie działające jądro i najnowsze przed nim, nigdy nie zostaną usunięte przez ten skrypt. Okazuje się, że jest inny plik /etc/apt/apt.conf.d/01autoremove
, w którym są wiersze:
APT
{
NeverAutoRemove
{
"^firmware-linux.*";
"^linux-firmware$";
};
VersionedKernelPackages
{
# linux kernels
"linux-image";
"linux-headers";
"linux-image-extra";
"linux-signed-image";
# kfreebsd kernels
"kfreebsd-image";
"kfreebsd-headers";
# hurd kernels
"gnumach-image";
# (out-of-tree) modules
".*-modules";
".*-kernel";
"linux-backports-modules-.*";
# tools
"linux-tools";
};
Możesz więc je skomentować, a to pozwoli ci automatycznie usunąć jądra apt-autoremove
, jednak pamiętaj - rób to na własne ryzyko