Мне показалось, что я наконец-то нашел решение своих проблем, поскольку apt недостаточно умен, чтобы удалять ядра / заголовки, которые не нужны в 'purge-old-kernels' благодаря byobu. Он отлично работает с ядрами (к счастью, так как в его названии), но не очень хорошо работает с пакетами заголовков. Кажется, что он удаляет только общие пакеты и вообще не касается базовых пакетов.
Пример:
# dpkg -l | grep linux-header
ii linux-headers-4.4.0-101 4.4.0-101.124 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-103 4.4.0-103.126 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-103-generic 4.4.0-103.126 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-104 4.4.0-104.127 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-108 4.4.0-108.131 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-108-generic 4.4.0-108.131 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-109 4.4.0-109.132 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-headers-4.4.0-75 4.4.0-75.96 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-78 4.4.0-78.99 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-79 4.4.0-79.100 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-81 4.4.0-81.104 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-83 4.4.0-83.106 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-87 4.4.0-87.110 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-89 4.4.0-89.112 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-91 4.4.0-91.114 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-93 4.4.0-93.116 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-96 4.4.0-96.119 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-97 4.4.0-97.120 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-98 4.4.0-98.121 all Header files related to Linux kernel version 4.4.0
Как вы можете видеть, я использовал его в этой системе, и он удаляет только пакеты -generic. Кажется, что он запускает apt для удаления пакетов, который выглядит следующим образом:
The following packages will be REMOVED:
linux-headers-4.4.0-103-generic* linux-headers-4.4.0-104-generic*
linux-image-4.4.0-103-generic* linux-image-4.4.0-104-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
Как вы можете видеть, он только удаляет общие пакеты заголовка и вообще не касается базовых пакетов.
Есть ли способ заставить его обратить на это внимание ??? Попытка автоматизировать это на нескольких системах с использованием cron и сделать его максимально простым. Спасибо.
Byobu является программой, содержащей старые ядра чистки сценария (он был взят из более ранней программы bikeshed),
По словам специалиста по обслуживанию Byobu Dustin Kirkland:
старые ядра чистки были удержаны от использования, в пользу "Кв. автоудаляют". Если у Вас есть проблемы, ошибки файла против Кв.
(27.04.2017 https://bugs.launchpad.net/byobu / + ошибка/1646276)
Который является подобной ошибкой к этому вопросу, который, возможно, лучше описан как запрос новых функций.
Поэтому сценарий не будет обновлен через Byobu, если он не будет принят другим специалистом по обслуживанию.
Однако сценарий является только 58 строками и расположенный в/usr/bin/purge-old-kernels во многих системах. Так, Вы могли, вероятно, переписать простой фильтр awk, который это использует для выполнения dpkg, и склонный удаляют - чистка, но затем Вас оставляют, поддерживая Ваш собственный сценарий.
Существует больше обсуждения обесценивающихся старых ядер чистки в пользу Кв., автоудаляют в https://bugs.launchpad.net/ubuntu / + source/byobu / + ошибка/1686138, которая включает некоторое описание обоих неправильных функционирований в некоторых случаях.
То обсуждение для ошибки закрывается способом для поддержания обоих пакетов основная функциональность, но не решает проблемы ядер/заголовков, неправильно очищаемых в некоторых случаях.
Вместо этого Jarno Suni, неудовлетворенный этим результатом, предложил более свежее (обновленный 2018) сценарий, названный чисткой Linux https://launchpad.net/linux-purge. Этот сценарий не упаковывается, но может использоваться с помощью этих инструкций: https://launchpad.net/linux-purge / + объявление/14752, которое действительно требует ручного обновления, если сценарий изменяется в будущем.
Чистка Linux работает, командная строка графический интерфейс выбора (подобный debian устанавливают графическую командную строку), который является довольно подробным и включает описание заголовка Linux* и модуля Linux* файлы, которые могут быть удалены. Этот скрипт может быть запущен безопасно некорневой с-s, - моделируют опцию пробного прогона перед фактическим внесением изменений.
В заключении: сценарий старых ядер чистки может только быть вручную переписан, поскольку он не будет обновлен. Улучшения удаления ядра, которые требуют, доступны от более новой вручную устанавливаемой чистки Linux сценария.