Как сохранить 4 ядра Linux в / boot по умолчанию, прежде чем они будут удалены автоматически

Я немного искал и обнаружил, что автоматическая очистка для ядер находится в /etc/kernel/postinst.d/apt-auto-removal, и в файле записано:

# In the common case this results in two kernels saved (booted into the # second-latest kernel, we install the latest kernel in an upgrade), but # can save up to four. Kernel refers here to a distinct release, which can # potentially be installed in multiple flavours counting as one kernel.

, но этот скрипт намного выше моей головы, и я не могу легко найти, как autoclean ничего, кроме последних 4 ядер.

10
задан 17 December 2017 в 15:21

3 ответа

Что означает, когда он говорит «до четырех», это то, что текущие, текущие установленные, последние и предыдущие версии могут быть разными, в результате автоматически сохраняются четыре версии (с минимум двумя). См. Эту часть кода:

debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"

Я думаю, что самый простой способ получить его для сохранения старых ядер - это расширить $previous_version до списка. Вместо:

previous_version="$(echo "$debverlist" | sed -n 2p)"

Do:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"
9
ответ дан 22 May 2018 в 16:57
  • 1
    Да, похоже, это должно сработать. Следует отметить, что, поскольку файл является частью пакета apt, он может быть восстановлен до значения по умолчанию при обновлении apt. – fkraiem 17 December 2017 в 14:34
  • 2
    @fkraiem файл находится в /etc, поэтому он предположительно является conffile, и изменения должны быть сохранены (или, по крайней мере, пользователь будет спрашивать о них) – muru 17 December 2017 в 14:35
  • 3
    Да, все файлы в папке /etc являются conffiles, но кажется, что пользователи часто путаются, когда «сохраняют или заменяют» " вопрос всплывает ... – fkraiem 17 December 2017 в 14:52
  • 4
    Я не смучусь ... @fkraiem – Fabby 17 December 2017 в 15:14
  • 5
    apt все еще жалуется: The following packages were automatically installed and are no longer required: linux-headers-4.10.0-38 linux-headers-4.10.0-38-generic linux-image-4.10.0-38-generic linux-image-extra-4.10.0-38-generic linux-signed-image-4.10.0-38-generic Use 'sudo apt autoremove' to remove them. , но это исполняемый файл, и я перестану беспокоиться об этом и адаптировал вопрос, чтобы ответить на него. : -) – Fabby 17 December 2017 в 15:24

Что означает, когда он говорит «до четырех», это то, что текущие, текущие установленные, последние и предыдущие версии могут быть разными, в результате автоматически сохраняются четыре версии (с минимум двумя). См. Эту часть кода:

debkernels="$(echo "$latest_version $installed_version $running_version $previous_version" | sort -u | sed -e '/^$/ d')"

Я думаю, что самый простой способ получить его для сохранения старых ядер - это расширить $previous_version до списка. Вместо:

previous_version="$(echo "$debverlist" | sed -n 2p)"

Do:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"
9
ответ дан 18 July 2018 в 01:02

Что означает, когда он говорит «до четырех», это то, что текущие, текущие установленные, последние и предыдущие версии могут быть разными, в результате автоматически сохраняются четыре версии (с минимум двумя). См. Эту часть кода:

debkernels="$(echo "$latest_version $installed_version $running_version $previous_version" | sort -u | sed -e '/^$/ d')"

Я думаю, что самый простой способ получить его для сохранения старых ядер - это расширить $previous_version до списка. Вместо:

previous_version="$(echo "$debverlist" | sed -n 2p)"

Do:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"
9
ответ дан 24 July 2018 в 17:19

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

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