在無頭伺服器上保持 Debian 12 安全更新運行
啟用 Debian 透過 SSH 進行的無人值守安全性更新,保留預設軟體套件來源,並透過 systemd 和 APT 日誌驗證計畫運作。
對於一台無頭 Debian 12 伺服器,請安裝unattended-upgrades並啟用 APT 的每日軟體包清單刷新和無人值守升級設置,並保留預設的安全源允許清單。然後透過 SSH 驗證 systemd 計時器和日誌。這樣可以自動更新符合條件的軟體包;但它不會執行 Debian 的主要版本升級,也不能保證每個應用程式都不需要後續更新。

使用有權使用該功能的帳號登入sudo。安裝前,請檢查伺服器版本並更新其軟體包索引:
cat /etc/debian_version
sudo apt update
sudo apt install unattended-upgrades
此流程針對 Debian 12 (Bookworm),使用其標準的 APT 軟體來源。請在接受軟體包計劃之前仔細檢查。如果 APT 報告軟體來源、DNS、磁碟空間或依賴關係錯誤,請先解決這些問題;無人值守操作無法修復損壞的軟體包來源或不健康的檔案系統。
在本地指定檔案中設定 APT 的定期選項。這樣可以實現每日軟體包清單刷新和無人值守升級運行:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades

輸入並儲存以下兩行程式碼:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
在 Nano 編輯器中,按下Ctrl+OEnter 鍵,然後輸入 `\n` Ctrl+X。該值1表示每天更新。 APT 的unattended-upgrades軟體套件設定控制著可以安裝哪些歸檔來源。在標準的 Debian 12 系統中,/etc/apt/apt.conf.d/50unattended-upgrades最初不要更改此設定;其預設允許清單旨在選擇 Debian 安全性更新和相關的已配置 Debian 更新。不要為了讓狀態輸出看起來更頻繁而新增第三方儲存庫或整個 Bookworm 倉庫。如果您有意擴大允許列表,請仔細檢查特定的儲存庫,進行測試,並像對待任何其他生產環境變更一樣監控服務。
對於遠端管理的伺服器,請檢查下列位置的重新啟動策略50unattended-upgrades:
grep -n 'Automatic-Reboot' /etc/apt/apt.conf.d/50unattended-upgrades
除非您已製定服務中斷計劃、檢查應用程式恢復方案,並擁有可靠的帶外或控制台恢復路徑,否則請勿啟用自動重新啟動。 Debian 安全性更新可能會安裝需要重新啟動才能生效的新核心或函式庫,但無人值守升級並不能取代重啟策略或值班計畫。停用自動重啟後,請安排定期維護窗口,並在更新後檢查是否需要重新啟動。

透過 SSH 運行模擬。此--dry-run標誌不會安裝軟體包,但--debug會在無人值守升級日誌中提供更多詳細資訊:
sudo unattended-upgrade --dry-run --debug
讀取輸出結果,查看允許的來源和建議的軟體包操作。如果出現「沒有要升級的軟體包」的訊息,則表示沒有待處理的合格軟體包,這可能是正常結果;但這並不意味著計時器稍後會運行。如果允許的來源為空或意外缺少候選來源,請50unattended-upgrades在變更之前檢查發行版的 APT 來源和模式。 Bookworm 手冊將此指令記錄為類比操作,而非實際安裝。
APT 使用 systemd 定時器單元進行日常工作。請檢查定時器和升級服務:
systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers 'apt-daily*'
systemctl status apt-daily-upgrade.service
定時器應已載入並處於活動狀態,清單中應顯示其下次計畫運行時間。如果定時器已安裝但未激活,請啟動它們並啟用它們以便在以後的啟動中生效:
sudo systemctl enable --now apt-daily.timer apt-daily-upgrade.timer
由於服務是一次性任務,因此在兩次計劃運行之間可能會處於非活動狀態;請檢查其最後運行結果,而不是期望它一直運行。在計劃運行視窗結束後,請查看軟體包日誌和 systemd 日誌:

sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log
sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"
查看運行是否已完成、允許的來源以及軟體包是否已安裝或是否有待安裝的軟體包。調查重複下載失敗、軟體包被保留或 dpkg 錯誤。手冊列出了這些日誌路徑,並解釋了 systemd 服務運行無人值守升級後端。
正常工作的配置意味著定時器已啟動、定期 APT 設定已啟用,且日誌顯示無人值守運行成功。但這並不能證明每個軟體倉庫中的每個軟體包都已更新,也不證明依賴重啟的修復程式已生效,或軟體包更改後服務保持健康。 Debian 的版本升級流程仍然是一個單獨規劃的操作;無人值守升級僅用於已配置來源中的軟體包更新。對於關鍵伺服器,應添加對失敗運行的監控、維護備份、在代表性環境中測試更改,並定義一個經人工審核的重啟視窗。
這些步驟遵循 Debian Bookworm無人升級手冊、Debian定期更新指南以及 Bookworm systemd.timer 手冊。 Bookworm 手冊中指出的 Debian 軟體包版本為 2.9.1+nmu3;軟體包版本可能會隨 Debian 更新而變更。
啟用 Debian 透過 SSH 進行的無人值守安全性更新,保留預設軟體套件來源,並透過 systemd 和 APT 日誌驗證計畫運作。
比較郵件投遞選項,在 Ubuntu 上配置 smartd,並驗證磁碟健康警告是否到達您的收件匣。
透過檢查 systemd-resolved、在需要時修復 resolv.conf 以及驗證上游 DNS 和應用程式解析,恢復 Debian 12 上的 DNS 查找。
讓 Ubuntu 偵測到你的顯示器或電視作為音訊輸出設備,在聲音設定中選擇它,如果缺少 HDMI,請檢查連接或 PipeWire 設備清單。
透過識別失敗的來源、刷新其已驗證的金鑰並檢查結果,安全地解決 Ubuntu APT 簽章警告,而無需停用安全性。
學習平衡三相公式,並逐步轉換線電壓、電流、kW、kVA 和功率因數,並提供範例和檢查極限。
在 systemd 範圍內運行工作負載,並設定 CPUQuota 和 MemoryMax,然後透過 cgroup v2 驗證限制。
在 Ubuntu 24.04 上將 dnscrypt-proxy 設定為 Pi-hole 的本地 DoH 橋,設定僅限 localhost 的監聽器、解析器選擇以及切換 DNS 前的檢查。
在排查應用程式或硬體故障之前,請檢查 Ubuntu 的觸控板設定、確認 Wayland 以及測試 GNOME 的內建滑動功能。
建立並驗證一個雙磁碟 Debian 12 RAID 1 資料陣列,安全地格式化它,並配置它在重新啟動後組裝和掛載。