Поддерживать чистоту при загрузке - скрипт для удаления ядра +2
Есть ли способ настроить Ubuntu, чтобы при установке нового обновления ядра оно удаляло самое последнее ядро +2? Это не моё текущее ядро, не новое ядро, а уже бесполезное старое ядро. Так что у меня только 2 ядра новые и стабильные.
Можно ли это установить по умолчанию в apt?
2 ответа
Эта команда была размещена в нескольких местах:
apt-get purge $(dpkg --list |egrep 'linux-image-[0-9]' |awk '{print $3,$2}' |sort -nr |tail -n +2 |grep -v $(uname -r) |awk '{ print $2}')
Смотрите http://chr4.org/blog/2013/08/04/apt-get-cleanup-commands/
Невозможно настроить APT для этого.
Это выбор части конструкции, ограничение части.
Ubuntu определяет каждое новое ядро как отдельное имя пакета (имя пакета содержит версию ядра), поэтому APT рассматривает их как отдельные пакеты. Когда они хотят, чтобы вы загрузили и установили новый пакет, они создают новый пакет ядра, а затем указывают общий пакет ядра (например, linux-kernel-generic
) зависеть от этого нового пакета. Это то, что заставляет новый пакет ядра быть установленным.
Теперь (или, по крайней мере, традиционная мудрость утверждает, что это так), как правило, хорошей идеей является сохранение предыдущего установленного ядра при установке нового, на случай, если в новом появятся какие-либо несовместимости или ошибки. Это позволяет переключать ядра из загрузчика. Таким образом, Ubuntu не помечает новые пакеты ядра как "замену" старых, что означает, что APT просто оставит старые установленные.
В APT или репозиториях Ubuntu нет механизма для указания "держать последние два пакета ядра". Может быть что-то вроде этого взломано, но это может не очень хорошо играть во всех ситуациях, например, когда люди пропускают версию ядра.
Теперь, хотя я сказал, что это невозможно сделать в APT, могут существовать сторонние программные инструменты, которые могут помочь вам в этом, если не на автоматической основе.
Существует инструмент под названием http://ubuntu-tweak.com/, который недоступен в Ubuntu, но может быть установлен из PPA. Этот инструмент имеет функцию "компьютерного уборщика", которая, помимо прочего, помогает вам удалять старые ядра.
Или вы можете просто использовать Synaptic. Synaptic упрощает перечисление установленных ядер (поиск пакетов, содержащих linux-image
) и оттуда вы можете легко удалить их.