Я пытаюсь установить Unattended-Upgrade::Allowed-Origins
так что это разрешено только для обновлений безопасности. Я хотел бы сделать это в более поздней конфигурации в apt.conf.d
оставив значение по умолчанию 50unattended-upgrades
config по умолчанию и просто переопределяет.
В моем 99-unattended-upgrades
Я устанавливаю следующее:
// Only allow security origin
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Однако, похоже, это слился с существующей конфигурацией (а не просто уничтожить ее полностью), как когда я apt-config dump
Там я вижу настройки по умолчанию.
Я также пробовал установить его следующим образом:
Unattended-Upgrade::Allowed-Origins "${distro_id}:${distro_codename}-security";
Тоже не сработало.
я мог просто закомментируйте строки в 50unattended-updates
, но я бы очень хотел оставить исходные файлы нетронутыми, если можно.
После небольшого покопания в исходном коде apt, а затем на странице руководства apt-conf оказывается, что есть способ
[...] # clear используется для удаления части дерева конфигурации. Указанный элемент и все его потомки будут удалены. (Обратите внимание, что эти строки также должны заканчиваться точкой с запятой.)
Команда #clear - единственный способ удалить список или всю область видимости. Повторное открытие области (или использование описанного ниже синтаксиса с добавленным: :) не отменяет ранее записанные записи. Параметры можно переопределить, только назначив им новое значение - списки и области нельзя переопределить, только очистить.
Итак, это даст вам то, что вы хотите:
#clear Unattended-Upgrade::Allowed-Origins;
// Only allow security origin
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};