Ubuntu
無人值守升級覆蓋 Allowed-Origins
我正在嘗試設置
Unattended-Upgrade::Allowed-Origins
它,以便只允許安全更新。我想在以後的配置中執行此操作,apt.conf.d
將預設50unattended-upgrades
配置保留為預設配置並覆蓋。在我
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"; };