Удаление нескольких пакетов ядра действительно занимает много времени

Я нахожусь на Ubuntu 14.04, и у меня есть много старых ядер, которые я хочу удалить.

Этот вопрос может помочь найти и удалить их, но существует проблема:

Каждый раз dpkg удаляет единственное ядро, оно работает /etc/kernel/postinst.d/zz-update-grub и update-initramfs по всем ядрам, в настоящее время остающимся.

В результате удаление берет навсегда!

Я хочу удалить все пакеты сразу и затем работать update-grub однажды в конце. Как я могу отключить ненужные шаги?

(Я использую unattended-upgrades. Возможно, это - то, как я вошел в эту ситуацию.)

2
задан 13 January 2019 в 10:06

1 ответ

Вот что я сделал:

  1. Отредактируйте файл /usr/sbin/grub-mkconfig (как root) и добавьте следующую строку вверху: (*)

    exit 0
    
    [ 1118]
  2. Затем выполните apt-get purge или dpkg -P, как предложено в связанном вопросе, чтобы удалить нежелательные пакеты. Например, я запустил:

    sudo apt-get purge $(dpkg --list | grep -E 'linux-(image|signed-image|headers)' | awk '{ print $2 }' | sort -V | grep -vF "$(uname -r | grep -o '[0-9.-]*' | sed 's/-$//')")
    

    (Нервничаете? Поставьте echo впереди, чтобы посмотреть, что он очистит, прежде чем запустить его по-настоящему.)

    [ 1119]
  3. Затем не забудьте снова отредактировать grub-mkconfig и удалить строку:

    exit 0
    
  4. Затем, наконец, запустите: [ 1128]

    sudo update-grub
    

    , чтобы обновить ваш загрузчик.

Этот процесс восстановил 11 ГБ пространства менее чем за 30 минут.

Я также последовал этому прекрасному предложению , чтобы не допустить unattended-upgrades повторной сборки моих пакетов ядра в будущем.

(*) Я также рассмотрел возможность отключения /usr/sbin/dkms и /usr/sbin/extlinux-update и /usr/sbin/update-initramfs с помощью трюка exit 0, но это не сэкономило столько времени, и они оставили файлы в /lib/modules/[kernel_version]/ и /boot/initrd.img-[kernel_version] так что не очень хороший вариант.

4
ответ дан 2 December 2019 в 02:16

Другие вопросы по тегам:

Похожие вопросы: