Автоматические обновления переопределяют Allowed-Origins

Я пытаюсь установить Unattended-Upgrade :: Allowed-Origins , так что он разрешен только для обновлений безопасности. Я хотел бы сделать это в более поздней конфигурации в apt.conf.d , оставив конфигурацию по умолчанию 50unattended-upgradedes по умолчанию и просто переопределив.

В моем ] 99-unattended-updates Я устанавливаю следующее:

// 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 , но я бы очень хотел оставить исходные файлы нетронутыми, если смогу.

2
задан 2 August 2018 в 03:51
1 ответ

После небольшого покопания в исходном коде apt, а затем на странице руководства apt-conf выясняется, что есть способ

[...] # clear используется для удаления части дерева конфигурации. Указанный элемент и все его потомки будут удалены. (Обратите внимание, что эти строки также должны заканчиваться точкой с запятой.)

Команда #clear - это единственный способ удалить список или всю область. Повторное открытие прицела (или используя синтаксис, описанный ниже, с добавлением: :)не буду переопределить ранее написанные записи. Параметры могут быть отменены только обращение к ним с новым значением - списки и области не могут быть переопределены, только очищено.

Таким образом, вы получите то, что хотите:

#clear Unattended-Upgrade::Allowed-Origins;
// Only allow security origin
Unattended-Upgrade::Allowed-Origins {
  "${distro_id}:${distro_codename}-security";
};

https://manpages.debian.org/testing/apt/apt.conf.5.en.html

2
ответ дан 3 December 2019 в 11:25

Теги

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