Debian

在無人值守升級中配置更新首選項的 Debian 不可知論、版本不可知論方式

  • January 9, 2018

我了解unattended-upgrades您確定是否只需要安全升級或其他升級的配置文件位於一些“動態”位置,可能會在特定的 debian 發行版及其版本之間發生變化。

是否有一個通用的命令結構來以統一的、Debian 不可知論、版本不可知論的方式控制這些?我可以學習一些命令嗎?

我不確定以下是我需要的:

sudo dpkg-reconfigure --priority=low unattended-upgrades

我可能會錯過優先級和允許的來源之間的關聯,例如:

Unattended-Upgrade::Allowed-Origins {
       "${distro_id}:${distro_codename}";
       "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

斯蒂芬更新

親愛的斯蒂芬,如果我正確理解了您的回答,由於您描述的層次結構,我應該/etc/apt/apt.conf在該文件的末尾進行編輯和添加:

Unattended-Upgrade::Allowed-Origins {
     "${distro_id}:${distro_codename}";
     "${distro_id}:${distro_codename}-security";
     "${distro_id}:${distro_codename}-updates";
     "${distro_id}:${distro_codename}-proposed";
     "${distro_id}:${distro_codename}-backports";
};

這將是更改允許升級所有類型軟體的最簡單方法,因為沒有針對此的命令。

APT 配置文件按以下順序讀取:

  1. 由指定的文件(APT_CONFIG如果有);
  2. 中的文件/etc/apt/apt.conf.d
  3. /etc/apt/apt.conf.

後面的文件會覆蓋前面的文件,因此在實踐中放置設置的最佳位置是/etc/apt/apt.conf; 這將覆蓋/etc/apt/apt.conf.d. 一個應該很好用的替代方法是使用一個名為 的文件/etc/apt/apt.conf.d/99local,但/etc/apt/apt.conf多年來我一直很好地用於這種目的。您可以將此設置視為允許包在 中的文件中提供預設配置/etc/apt/apt.conf.d,並/etc/apt/apt.conf包含本地系統管理員所需的配置。

在您的情況下,您應該編輯/etc/apt/apt.conf並添加以下程式碼段:

Unattended-Upgrade::Allowed-Origins {
     "${distro_id}:${distro_codename}";
     "${distro_id}:${distro_codename}-security";
     "${distro_id}:${distro_codename}-updates";
};

你不想要-proposed(其中包含等待批准的包);如果您使用反向移植的軟體包,您可能想要-backports(其中包含從目前 Debian 版本反向移植的軟體包)。-updates包含對安全性不重要的升級;因此,您可以啟用它以在可用時進行升級,或禁用它以在點發佈時進行批量升級。

命令中指定的優先級dpkg-reconfigure與允許的來源沒有任何關聯,它只是確定顯示哪些配置問題(並且應該是不必要的,因為low它是 的預設值dpkg-reconfigure)。

引用自:https://unix.stackexchange.com/questions/415809