如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

範例場景: Morgan 有一個用於個人開發的 Debian 12 桌面系統,他需要為某個專案安裝更新的函式庫。如有必要,Morgan 可以重新安裝系統,但他更希望避免系統升級不徹底或修復方案會移除重要軟體套件的情況。這只是一個假設範例,並非實際遷移或測試結果。最穩健的做法是分階段進行遷移,模擬 APT 的方案,並在發現任何不理解的變更時立即停止。

截至 2026 年 10 月 9 日,Debian 將目前的測試發行版標識為 Forky,它是 Debian 13 “Trixie” 之後的下一個版本。 Debian 警告稱,測試版的安全更新無法由安全團隊及時維護。測試版在備用桌面或開發機器上可能有用,但對於需要可預測的安全性覆蓋或持續可用性的系統而言,它並不適用。任何遷移過程都無法保證所有依賴項和應用程式保持不變。

1. Debian Testing 是否是這台電腦的正確安裝目標?

測試版包含已通過從不穩定版自動遷移標準的軟體包,其中包括旨在保持依賴項可安裝性的檢查。但這並不意味著每個軟體包都完美無缺,或者每個桌面配置都能正常運作。 Debian 專案在其測試版發行版概述中解釋了軟體包如何進入測試版。 Debian 的安全性常見問題指出,由於遷移等待或過渡,修復程序可能會延遲。

對於工作關鍵型桌上型電腦、生產伺服器或沒有復原路徑的機器,請繼續使用穩定版。對於 Morgan 假設的開發桌面電腦,如果計劃中包含偶爾的軟體包更新、臨時卸載以及手動維護,則測試版或許可行。如果目標只是安裝一個新應用程序,請在遷移整個作業系統之前,先查看 Debian Backports 或其他受支援的軟體包管理方案。

Debian 終端機顯示 /etc/os-release 文件,其中標識 Debian GNU/Linux 12,代號為 Bookworm。
請先確認起始系統為 Debian 12 Bookworm,然後再依照對應的發行說明進行操作。

2. 更換儲存庫之前必須備份哪些內容?

建立可恢復的備份,而不僅僅是軟體包清單的副本。保留個人文件、應用程式資料、加密復原金鑰、重要設定以及任何本地建置的軟體包。對於虛擬機,請建立快照並確認如何復原。對於實體桌面,請保留安裝媒體和已測試的啟動方法,並確保備份儲存在單獨的媒體上。

記錄目前軟體包和來源狀態,以便稍後進行比較:

dpkg --get-selections > ~/package-selections.txt
apt-mark showmanual > ~/manually-installed-packages.txt
sudo cp -a /etc/apt ~/apt-config-before-testing

這些記錄有助於解釋發生了哪些變化,但它們本身並不能重現整個系統。摩根應該在有足夠時間審查 APT 提示並進行恢復時安排遷移,而不是在截止日期前才開始。

檔案管理器顯示一個名為 debian12-backup 的資料夾,其中包含系統、主目錄和設定檔。
範例備份資料夾旨在提醒您檢查您自己的單獨備份是否為最新且可恢復。

3. 軟體包管理和 Bookworm 安裝是否乾淨?

在引入新發行版之前,請先解決現有問題。完成 Debian 12 的常規更新,如果核心或核心服務發生更改,請重新啟動系統,並驗證桌面是否正常運作。然後檢查軟體包狀態、保留項和軟體倉庫來源:

sudo dpkg --audit
sudo apt-get check
apt-mark showhold
apt-cache policy bash libc6 systemd

dpkg --audit報告部分安裝或不一致的軟體包狀態;apt-get check檢查目前系統中的依賴關係問題。審查已保留的軟體包,而不是盲目取消保留。在過渡期間移除或停用第三方軟體倉庫,並記錄從供應商軟體倉庫、本機檔案或原始碼建置安裝的軟體套件。這些軟體包在 Debian Testing 中可能沒有相容的版本。

如果系統已經存在損壞的軟體包、未解決的配置或混用套件,請勿在其上疊加發行版變更。請先修復目前狀態,或在單獨的分割區或磁碟上執行全新安裝。預期結果是建立一個能夠識別軟體包問題的基線系統,而不是預先聲明的完全空白的審計輸出。

Debian 終端機會在不同的提示字元下列出 dpkg audit、apt-mark showhold 和 apt-cache policy 指令。
在開始發布過渡之前,檢查軟體包配置是否中斷、軟體包是否被保留以及儲存庫來源是否異常。

4. 在測試之前,是否應該從 Bookworm 過渡到 Trixie?

是的,請使用文件中記錄的從 Bookworm 到 Trixie 的升級步驟作為中間階段。 Debian 的發行說明是針對從一個穩定版本升級到下一個穩定版本而編寫的,其中列出了準備工作、已知問題和升級後的任務。 Debian 12 的Bookworm 發行說明描述了升級到下一個版本的過程。請按照這些說明操作,重新啟動系統,並在切換到測試版之前確認機器運行的是最新的穩定版本。

這種分階段升級的方式提供了一個已知的檢查點,使故障更容易隔離。不要直接在主桌面上將 Bookworm 來源變更為 Testing,從而跳過版本說明。雖然 APT 可能可以解決直接升級的問題,但這並非官方記錄的穩定版到穩定版的升級路徑,並且可能將多輪軟體包變更合併為一個更難審查的更改。如果穩定版升級本身失敗或遺留未解決的軟體包問題,請暫停升級。

瀏覽器顯示 Debian 12 Bookworm 發行說明,位於標題為「從 Debian 12 升級」的部分。
請使用官方的 Bookworm 升級說明完成向 Debian 13 Stable 的支援遷移,然後再將 APT 的目標版本改為 Testing。

5. 如何在不混淆測試套件的情況下,引導 APT 進行測試?

Trixie 系統清理並備份完成後,請檢查 `/etc/trixie/`/etc/apt/sources.list和 `/etc/ trixie/` 目錄下的所有檔案/etc/apt/sources.list.d/。暫時停用第三方軟體倉庫。一致地取代 Debian 穩定版套件條目;除非您完全了解 APT 版本鎖定機制,否則不要混用trixie`/ etc/trixie/` trixie-security、` testing/etc/trixie/`、`/etc/trixie/` 和其他不相關的套件。

Deb822 原始檔每個來源使用一個節。以下是一個針對 Debian 主歸檔文件的簡化範例:

Types: deb
URIs: https://deb.debian.org/debian
Suites: testing
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

請保留與您的安裝相符的組件和簽名設定;並非每個系統都啟用所有組件。如果您希望目前的測試發行版在未來的版本變更中自動更新,請使用套件名稱testing。截至上述日期,該套件名稱為 Forky。使用代號會將forky您綁定到該版本名稱;在 Forky 發布後,它不會自動跟隨下一個測試代號。

不要想當然地認為某個testing-security版本就等於穩定版的安全倉庫。 Debian 目前的 Forky 頁面顯示,測試版的安全性更新尚未由安全團隊管理,因此可能無法及時推播。請在繼續操作前查看目前的測試版發布資訊。

文字編輯器顯示了 deb822 Debian 原始碼節,其中 Suites 欄位設定為 testing,並指定了 Debian 歸檔金鑰環。
請務必重新定位 Debian 歸檔節,並保留安裝所使用的金鑰環和元件。

6. APT 提議要改變什麼?

刷新軟體包索引,檢查候選版本,然後模擬發行版升級:

sudo apt update
apt-cache policy
apt-get -s full-upgrade

此-s選項模擬事務,但不會安裝建議的軟體包。請仔細查看完整計劃,尤其要注意軟體包的移除、新安裝的庫、暫緩安裝的軟體包以及沒有候選軟體包的情況。 APTfull-upgrade允許安裝或移除軟體包以滿足依賴關係,因此「命令已完成」並不等同於「我所有需要的應用程式都已安裝」。

對於複雜的方案,請使用解析器診斷功能重複模擬:

apt-get -s -o Debug::pkgProblemResolver=yes full-upgrade

如果您計劃移除桌面環境、顯示管理器、網路元件、引導程式或其他您依賴的軟體包,且您無法解釋原因,請勿繼續。庫的遷移可能會導致某些應用程式在測試環境中暫時無法使用。等待遷移完成或暫時將系統保持在穩定版可能比強制合併軟體包更安全。切勿--force為了使類比環境看起來乾淨而使用或大量移除軟體包。

在模擬場景中,Debian 終端機顯示 apt-get -s full-upgrade 指令,後面跟著軟體包清單標題。
在授權任何軟體包更改之前,請閱讀模擬交易及其移除清單;螢幕上的內容並非真實的 APT 運行。

7. 何時應該進行真正的升級?

只有在模擬方案可接受、備份可用且電腦電源和網路連接穩定後才能繼續操作。關閉所有應用程序,使用本地端而非不穩定的遠端會話,並在不啟用自動確認的情況下啟動升級:

sudo apt full-upgrade

接受之前,請再次閱讀軟體包和移除摘要。如果 APT 提議移除關鍵的桌面或核心軟體包,請拒絕並進行調查。如果升級因依賴項錯誤而停止,請保留完整的錯誤輸出。不要立即運行apt --fix-broken install或重複操作-y;首先確定是哪個軟體包或存儲庫約束導致求解器停止。

交易成功後,請遵循軟體包的任何提示,重啟計算機,並檢查圖形會話、網路、聲音、儲存和基本應用程式是否正常運作。如果正在進行大規模遷移或某些軟體包暫時從測試版中消失,通常最好等待歸檔遷移完成,而不是混用不穩定軟體包。 Debian管理員手冊中的 APT 章節解釋了普通升級和 APT 之間的區別full-upgrade,包括 APT 刪除軟體包的功能。

Debian 終端機顯示 sudo apt full-upgrade 和初始依賴關係計算訊息。
只有在模擬結果可以接受之後才能開始升級,然後在接受之前查看實際的交易摘要。

8. 如何驗證遷移並保持其可恢復性?

重新啟動後,確認目前版本並檢查軟體包一致性:

cat /etc/os-release
sudo apt-get check
sudo dpkg --audit
apt-cache policy bash libc6 systemd

如果需要了解變更內容,請查看 APT 歷史記錄/var/log/apt/history.log和軟體包日誌/var/log/dpkg.log。測試 Morgan 所依賴的應用程序,包括促成此次遷移的任何專案。驗證來源檔案現在是否指向預期的軟體包套件,以及已停用的第三方條目是否已悄悄恢復。

請保留備份,直到桌上型系統完成正常工作任務並至少更新過一次軟體包。 APT 不支援從測試版降級到穩定版。如果系統無法使用,恢復完整系統映像或重新安裝穩定版並恢復資料通常比手動回滾每個軟體包版本更可靠。

為了持續使用,請定期更新,閱讀擬議的軟體包移除公告,並密切注意 Debian 的測試和安全公告。如果 Morgan 的優先順序從開發新軟體包轉向可預測的安全維護,那麼下一步正確的做法是全新安裝或恢復穩定版系統,而不是隨意修改軟體包並想當然地認為降級就能解決問題。

截取的 Debian 終端機視圖顯示了 apt check 和 dpkg audit 指令,後面跟著空白提示。
請核對您機器上的版本標識符和軟體包狀態;空白範例輸出並不能證明昇級成功。

官方參考資料

留下評論

安全釋放 Ubuntu 的 APT 鎖定並完成更新

安全釋放 Ubuntu 的 APT 鎖定並完成更新

找到擁有 Ubuntu dpkg 前端鎖定的進程,讓軟體包工作完成,並在不刪除鎖定檔案的情況下修復中斷的安裝。

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

如何在 Ubuntu 桌面系統上設定 Btrfs 自動快照

使用 Timeshift 在 Ubuntu Desktop 上設定定時 Btrfs 系統快照,驗證 Ubuntu 子磁碟區佈局,選擇保留策略,並了解快照無法保護的內容。

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

規劃更安全的 Debian 12 到 Testing 遷移:透過 Stable 版本升級,備份,清理 APT 來源,模擬依賴項更改,並驗證更改的內容。

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

安全地診斷 Ubuntu 伺服器緊急模式。讀取啟動日誌,檢查根目錄和 fstab 掛載點,修復故障單元,處理檔案系統錯誤,並驗證是否乾淨重新啟動。

如何在 Debian 12 設定 WireGuard 點對點 VPN

如何在 Debian 12 設定 WireGuard 點對點 VPN

為一個遠端客戶端設定 Debian 12 WireGuard VPN 伺服器。設定金鑰、IPv4 轉送、nftables NAT、防火牆存取和連線檢查。

Debian 12 逐步加固指南,以符合 CIS 標準

Debian 12 逐步加固指南,以符合 CIS 標準

使用精心設計的 CIS 基準測試工作流程來強化 Debian 12 工作站:選擇正確的設定檔、安全地修補程式、檢查服務和存取權限、設定 nftables 並記錄證據。

在低記憶體VPS上運行Debian 12:如何減少MySQL記憶體不足崩潰

在低記憶體VPS上運行Debian 12:如何減少MySQL記憶體不足崩潰

診斷 Debian 12 上的 MySQL OOM 崩潰問題,檢查 VPS 記憶體限制,配置交換空間,並調整資料庫記憶體和並發性,但不保證提供通用的解決方案。

如何建構基於 OSTree 的不可變系統的 Debian 桌面

如何建構基於 OSTree 的不可變系統的 Debian 桌面

學習如何在虛擬機器中建立和測試基於 Debian 的 OSTree 桌面,包括系統樹準備、啟動整合、部署檢查和回滾。

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

How to Mount a Remote SSHFS Directory Automatically at Boot in Debian

Configure an SSHFS boot mount in Debian with SSH keys, fstab, and systemd automount. Includes reboot checks, permissions, timeouts, and troubleshooting.

2026年10月臺北、新北種什麼?蔬菜、香草、花卉與每週播種定植清單

2026年10月臺北、新北種什麼?蔬菜、香草、花卉與每週播種定植清單

2026年10月臺北與新北種植指南:依中央氣象署與農業部資料整理蔬菜、香草、草花、直播、育苗、定植與每週工作,並分清氣候常態與短期預報。