Как ответить почему, обратитесь к файлу /etc/apt/apt.conf.d/01autoremove-kernels

Как вы можете видеть, склонный сказано никогда не autoremove ядра, как сказал другой файл (скрипт), /etc/kernel/postinst.d/apt-auto-removal. И вот оно:

Если вы вручную установите 2 выбранных ядра, то есть первое и текущее, то apt-autoremove удалит только те старые версии, которые вы не установили вручную, так что у вас всегда будут эти 2 варианта плюс независимо от того, какое из них является последним.
Обновить:
В /etc/kernel/postinst.d/apt-auto-removalесть эта часть:
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
Так что, если вы сравните вывод 01autoremove-kernelsфайла и uname -rвы поймете, что текущее работающее ядро и самое последнее, что было до него, никогда не будут удалены этим сценарием. Получается еще один файл /etc/apt/apt.conf.d/01autoremove, где есть строки:
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";
};
Таким образом, вы можете закомментировать их, и это позволит вам автоматически удалять ядра apt-autoremove, хотя помните - делайте это на свой страх и риск