Почему старые ядра отмечены, как вручную установлено?

От всего я читал в Ubuntu 18.04 sudo apt-get autoremove должен очистить старые ядра. Однако по некоторым причинам, после установки новой версии ядра, меня оставляют с "изображением Linux -*", "заголовки Linux -*" и "модули Linux -*" пакеты, которые необъяснимо отмечены, как вручную установлено и поэтому не очищены apt-get autoremove.

Я вручную не установил эти пакеты (например, linux-image-4.15.0-70-generic), и не может выяснить то, что отмечает их, как вручную установлено.

Почему эти пакеты отмечают, как вручную установлено? И как я могу мешать этому произойти?

Обновление

Я отвечаю на @user535733 здесь, потому что это слишком длинно для комментария. Я думаю, что это - что-то другое, чем сценарий в/etc/kernel/postinst.d/apt-auto-removal.

Смотря на тот сценарий, это не отмечает пакеты, как вручную установлено, вместо этого это пишет способный конфигурационный файл с разделом "APT:: NeverAutoRemove", который перечисляет ядра, которые не должны быть удалены. И я понимаю это. Проблемой являются пакеты, которые я вижу отмеченный, как вручную установлено не находятся в том списке. И они никогда не удаляются autoremove даже после нескольких обновлений ядра.

И отмеченным, как вручную установлено, я имею в виду это apt-mark showmanual linux-* списки эти пакеты и apt-mark showauto linux-* не делает.

Обновление 2

Я нашел это в своей способной истории:

Remove: linux-headers-5.0.0-32:amd64 (5.0.0-32.34~18.04.2), linux-modules-extra-5.0.0-32-generic:amd64 (5.0.0-32.34~18.04.2), linux-headers-5.0.0-32-generic:amd64 (5.0.0-32.34~18.04.2), linux-image-4.15.0-70-generic:amd64 (4.15.0-70.79), linux-modules-5.0.0-32-generic:amd64 (5.0.0-32.34~18.04.2), linux-modules-extra-4.15.0-70-generic:amd64 (4.15.0-70.79), linux-image-5.0.0-32-generic:amd64 (5.0.0-32.34~18.04.2), gradle-6.0:amd64 (1.0-0ubuntu2), linux-modules-4.15.0-70-generic:amd64 (4.15.0-70.79)
Error: Sub-process /usr/bin/dpkg returned an error code (2)

И соответствующий term.log содержит:

Log started: 2019-12-21  22:23:02
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
Log ended: 2019-12-21  22:23:02

Таким образом, это похоже, автоудаляют попробованный и неудавшийся для удаления пакетов. (И я думаю, что это перестало работать, потому что это находится в задании крона, и ПУТЬ не установлен правильно). Я все еще не понимаю, как они стали отмеченными, как вручную установлено все же. Я не вижу ничто больше подозрительное в способной истории или term.log

0
задан 23 December 2019 в 22:31

2 ответа

Сценарий /etc/kernel/postinst.d/apt-auto-removal управляет, какие пакеты ядра способно отмечены 'руководство' (не имеющий права на автоудаление) и которые способно отмечены 'автоматические' (имеющий право).

существует серьезное основание для него: очень мудро сохранить по крайней мере одно старое ядро удобным в случае, если новому ядру не удается загрузиться.

Это противоречит нормальной практике Debian установки только одной версии пакета за один раз. Настолько склонный не хорошо укомплектовано для обработки этого углового случая. Следовательно потребность в сценарии.

логика, которую использует сценарий, описана в сценарии и легка следовать. Смотрите на него.

1
ответ дан 26 December 2019 в 22:28

Почему Вы не используете ukuu, можно найти, как установить ukuu ниже.

sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get update && sudo apt-get install ukuu
-2
ответ дан 26 December 2019 в 22:28

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

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