在無人值守升級中配置更新首選項的 Debian 不可知論、版本不可知論方式
我了解
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 配置文件按以下順序讀取:
- 由指定的文件(
APT_CONFIG
如果有);- 中的文件
/etc/apt/apt.conf.d
;/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
)。