Я пытаюсь установить 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
, но я бы очень хотел оставить исходные файлы нетронутыми, если смогу.
После небольшого покопания в исходном коде apt, а затем на странице руководства apt-conf выясняется, что есть способ
[...] # clear используется для удаления части дерева конфигурации. Указанный элемент и все его потомки будут удалены. (Обратите внимание, что эти строки также должны заканчиваться точкой с запятой.)
Команда #clear - это единственный способ удалить список или всю область. Повторное открытие прицела (или используя синтаксис, описанный ниже, с добавлением: :)не буду переопределить ранее написанные записи. Параметры могут быть отменены только обращение к ним с новым значением - списки и области не могут быть переопределены, только очищено.
Таким образом, вы получите то, что хотите:
#clear Unattended-Upgrade::Allowed-Origins;
// Only allow security origin
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};