Я использую Kubuntu 14.04 на своем личном ноутбуке. Когда система пакетов обновляет мое ядро Linux, она удаляет старые пакеты, сохраняя только 2 самые новые версии образов ядра (и связанные пакеты). На данный момент это будет (AFAIR) 3.13.0-32 и 3.13.0-48. Как мне заставить систему пакетов перестать удалять старые образы ядра?
Я понимаю, что это оставит меня с длинным списком неиспользуемых образов ядра, но я бы предпочел выполнить очистку самостоятельно, чем рискуя оказаться в ситуации, когда я не могу загрузить свой ноутбук.
РЕДАКТИРОВАТЬ: Основываясь на ответе Аарона Дигуллы, я создал файл /etc/apt/apt.conf.d/99keep-kernels
с таким содержанием:
APT::NeverAutoRemove
{
"^linux-image-*-generic$";
"^linux-image-*-generic$";
"^linux-headers-*-generic$";
"^linux-headers-*-generic$";
"^linux-image-extra-*-generic$";
"^linux-image-extra-*-generic$";
"^linux-signed-image-*-generic$";
"^linux-signed-image-*-generic$";
"^kfreebsd-image-*-generic$";
"^kfreebsd-image-*-generic$";
"^kfreebsd-headers-*-generic$";
"^kfreebsd-headers-*-generic$";
"^gnumach-image-*-generic$";
"^gnumach-image-*-generic$";
"^.*-modules-*-generic$";
"^.*-modules-*-generic$";
"^.*-kernel-*-generic$";
"^.*-kernel-*-generic$";
"^linux-backports-modules-.*-generic$";
"^linux-backports-modules-.*-generic$";
"^linux-tools-*-generic$";
"^linux-tools-*-generic$";
};
Но это не сработало. Ubuntu по-прежнему хранит только 2 последних ядра.
Прикрепление не будет работать на Вас, так как оно будет препятствовать обновить ядра в целом.
Изучают /etc/apt/apt.conf.d/01autoremove
и /etc/apt/apt.conf.d/01autoremove-kernels
. Эти файлы содержат списки пакетов, которые должны быть очищены автоматически. Второй файл сохраняется сценарием /etc/kernel/postinst.d/apt-auto-removal
, Чтобы решить Вашу проблему, скопировать файл /etc/apt/apt.conf.d/01autoremove-kernels
в /etc/apt/apt.conf.d/99keep-kernels
и отредактировать шаблоны для соответствия любой версии этих 11 пакетов там.
Так
"^linux-image-3\.13\.0-45-generic$";
стал бы
"^linux-image-";
, Этот шаблон теперь соответствует любой версии пакета и предотвращает apt
от удаления их когда-либо. Сценарий постустановки делает то же самое, которое не создает конфликт - Ваша версия файла просто соответствует большему количеству пакетов и предотвращает любую версию, которая будет удалена автоматически.