Я немного покопался и обнаружил, что автоматическая очистка для ядер находится в /etc/kernel/postinst.d/apt-auto-removal
, а файл гласит:
# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.
, но этот скрипт находится над моей головой, и я не могу легко найти как автоочистить что угодно, кроме 4 последних ядер.
Что означает «до четырех», так это то, что текущие, установленные, последние и предыдущие версии могут отличаться друг от друга, в результате чего автоматически сохраняются четыре версии (как минимум две). См. Эту часть кода:
debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"
Я думаю, что самый простой способ сохранить его для старых ядер - это расширить $previous_version
до списка. Вместо:
previous_version="$(echo "$debverlist" | sed -n 2p)"
Делать:
previous_version="$(echo "$debverlist" | sed -n 2,4p)"