Debian Debusine:這就是新型 PPA 式軟體倉庫的樣子

最後更新: 17一月2026
  • Debusine 提供 PPA 風格的 APT 軟體倉庫,整合到官方 Debian 基礎架構中,專為開發者和維護者設計。
  • 該平台可自動執行建置、品質測試、簽名和快照,從而促進大規模過渡和實驗。
  • Debusine 軟體倉庫是公開的、與 APT 相容的,並且僅限於具有有效 Debian 授權的軟體包,從而減少了 Ubuntu 對外部 PPA 的依賴。

Debian Debusine 風格的軟體倉庫

如果你使用 Debian 系統一段時間了,你可能曾經使用過基於 Ubuntu 的 PPA 軟體來源來安裝一些官方軟體來源中沒有的程式。這是一種相當常見的做法,但也存在一定的風險:混合使用為其他發行版設計的軟體包可能會導致依賴關係破壞或影響系統的關鍵部分。而Debusine正是為此而生的,它是 Debian 專案提供的現代化且靈活的軟體來源系統,填補了這一空白,無需依賴 Launchpad 或其他外部解決方案。

這個由 Debian 與 Freexian 合作開發的新平台,以「PPA 式」軟體倉庫服務的形式呈現,原生整合於 Debian 系統,並與 Debian 的工作流程、基礎設施和品質標準無縫銜接。儘管目前仍處於開發階段,處於測試版(beta 版),但開發者和官方維護人員已經可以使用一個公共實例 (debusine.debian.net) 來自動編譯、測試和發佈軟體包。

Debusine是什麼?它旨在解決什麼問題?

Debusine 是一個基於雲端的持續整合 (CI) 平台,專為 Debian 生態系統設計。它不僅僅是一個軟體包倉庫,而是一個完整的架構,旨在涵蓋整個生命週期:從編譯到測試,再到分發 Debian 及其衍生發行版的軟體包和可安裝鏡像。

專案文件將其定義為用於建立、維護和分發基於 Debian 的發行版的整合解決方案。換句話說,它不僅僅是一個簡單的“官方 PPA”,而是旨在為大規模實驗、複雜的軟體包遷移以及影響 Debian 軟體包庫很大一部分的協同開發奠定基礎。

先前,需要類似功能的使用者只能依賴reprepro 或 aptly 等工具,自行建置 APT 軟體來源,或直接使用 Ubuntu PPA,但這會帶來許多風險,例如混用非 Debian 平台設計的程式庫和版本。 Debusine 的出現正是為了填補這一空白:它提供了一個受控環境,擁有清晰的規則和強大的自動化功能,開發者可以在此基礎上進行實驗,而最終用戶則無需離開「Debian 世界」即可獲得額外的軟體來源。

需要注意的是,該服務仍在積極開發中。 Debian 正在確定最終產品將包含哪些功能、其限制以及它將如何與 Debian 的其他基礎設施整合。然而,該軟體倉庫元件目前已足夠成熟,可以發佈公開測試版,這標誌著 Debian 發行版軟體包維護人員的工作方式發生了重大變化。

目前,參考實例是由Freexian 在 debusine.debian.net維護的。所有 Debian 開發者 (DD) 和維護者 (DM) 都可以使用 Salsa 驗證存取它,Salsa 是 Debian 專案的 Git forge。由於這種集成,工作流程非常自然:程式碼在 Salsa 中編寫,自動化流程在 Debusine 中運行,倉庫也在 Debusine 中管理。

專案起源及Freexian的角色

Debusine 的一個有趣之處在於,它並非從零開始創建,而是基於一個團隊的經驗,該團隊已經為自由軟體生態系統構建了非常穩固的基礎設施。負責開發 Debusine 的公司 Freexian 專注於 Debian 的服務和維護,並參與了Launchpad(Canonical 的 Ubuntu 平台)和Debian 軟體包追蹤器等關鍵項目。

正如Freexian本人所解釋的那樣,Debusine的開發旨在對Debian基礎設施進行現代化改造,最初得到了德國政府透過主權技術署提供的支持。其理念是打造一個靈活、可擴展的平台,能夠自動化從單一建置到產生安裝鏡像、磁碟、雲端解決方案或容器的所有流程,並具備相應的中間品質檢查功能。

  Linux 中的權限:你需要知道的一切

總體目標超越了傳統的「建立倉庫」:它旨在減少對手動和異質工具的依賴,並為 Debian 社群提供一個統一的系統,使實驗、遷移和同時對多個軟體包的協調工作更容易管理,並且不易出現人為錯誤。

該項目獲得Debian 官方認可,這使其與其他獨立項目區分開來。該平台並非 Freexian 的私有解決方案,而是作為 Debian 官方基礎設施的一個元件,嚴格遵守其各項政策,尤其是在軟體授權和分發方面。

Debusine 作為 Ubuntu PPA 的替代方案

多年來,許多用戶一直將Ubuntu 視為「舒適」的發行版,部分原因是它透過自身的軟體倉庫、Snap 軟體包以及龐大的社群維護 PPA 來源提供了豐富的應用程式。對於那些來自 Debian 或其他較保守的發行版的用戶來說,這種感受顯而易見:在 Ubuntu 中,更容易找到所需的軟體包,即使有時這意味著犧牲一些穩定性。

對於 Debian 系統而言,使用 PPA 來源是常見但問題重重的解決方案。 PPA來源是針對 Ubuntu 系統設計和測試的,它包含 Ubuntu 的函式庫、libc、systemd 版本以及整個生態系統。將其安裝到 Debian 系統上或許可以正常運作……但也可能導致系統在更新時出現半數故障。如果 PPA 來源影響到敏感元件(例如驅動程式、編譯器、工具鍊等),風險將急劇上升。

Debian 專案希望透過Debusine Repositories提供一種類似於 PPA 的機制,但預設會適配 Debian 系統。也就是說,它提供了額外的 APT 軟體倉庫,這些倉庫與常用工具集成,同時尊重發行版的版本,並允許最終用戶在安裝軟體包之前進行品質測試。

這為幾個非常有趣的場景打​​開了大門:為特定團隊或專案創建自訂軟體包的倉庫、包含上游軟體每日建置的倉庫(例如,桌面環境的開發分支)或專門用於複雜過渡的倉庫,在這些過渡中,需要測試許多庫中的協調更改,而不會影響主 Debian 歸檔。

從使用者的角度來看,中期前景十分誘人:使用者無需再依賴第三方 PPA 和並非人人都能接受的通用格式(例如 Snap、Flatpak 或 AppImage)來取得特定應用程式的最新版本。實際上,這意味著使用者擁有更大的控制權,與基礎系統更加一致,並能更好地融入分發策略。

Debusine儲存庫的架構與主要功能

Debusine 儲存庫部分專注於提供完整、已簽署且可直接使用的 APT 儲存庫,但它建立在一系列自動化流程之上,使開發或維護軟體包的人員的工作更加輕鬆。

Debusine 的一項關鍵特性是完全相容於 APT。在 Debusine 中建立的每個軟體來源都會使用平台自帶的簽章服務自動產生一個特定的金鑰進行簽署。對於使用者而言,這意味著他們可以將軟體來源新增至常規設定(無論是在 `/etc/apt/sources.list` 檔案還是 `.sources` 檔案中),然後使用 `apt update` 或 `apt install` 命令,而無需任何複雜的步驟。

另一個非常強大的功能是整合快照。所有 Debusine 倉庫預設都包含自動狀態擷取功能,可讓您查看並根據需要還原至託管軟體包的先前版本。這在測試環境或回歸測試場景中尤其有用,因為在這些場景中,準確了解特定時間安裝的軟體包版本至關重要。

該平台還支援針對不同的基礎版本編譯軟體包。可以同時針對自訂倉庫的當前內容和相應的 Debian 基礎版本(例如 sid 或 trixie)進行編譯,這在處理不斷變化的依賴項或庫版本之間的過渡時至關重要。

在品質保證方面,Debusine 整合了一套自動化測試,這些測試作為工作流程的一部分運行,涵蓋從基本的建造測試到更複雜的品質保證套件。此外,它還計劃加入更高級的回歸追蹤功能,以便在軟體包大規模發布給用戶之前檢測到問題變更。

  Linux 上的 iptables:實用、完整、直覺的指南

此外,還有一些相當明確的存取和使用條件。目前,只有 Debian 開發者和維護者才能創建和發佈軟體倉庫,而這些倉庫的內容預設是公開的。此外,只有那些許可證允許 Debian 分發且符合其生態系統邏輯的軟體包才被允許——也就是說,只有那些最終能夠合理地出現在官方軟體倉庫中的軟體才被允許。 Freexian 保留移除不符合這些標準的軟體倉庫的權利。

Debusine 中的儲存庫是如何運作的

在實際操作層面,與 Debusine 的互動圍繞著工作區和工作流程。工作區是平台內的邏輯空間,程式碼庫(或套件)就創造在這些空間中。例如,您可以使用名為「開發者」的通用工作區,也可以使用更具體的、用於特定實驗的工作區。

開發者可以使用Debusine 命令列工具建立軟體包倉庫。建立軟體包的基本命令可能如下所示:

基本指令: debusine --server SERVER archive suite create --workspace WORKSPACE \
--architecture all --architecture amd64 \
--base-workflow-template TEMPLATE SUITE

在實際場景中,這可以看作是建立SID 實驗儲存庫的一個具體例子:

真實範例: debusine --server debian archive suite create \
--workspace developers-myuser_experiment \
--architecture all --architecture amd64 \
--base-workflow-template upload-to-unstable \
sid-experiment

之後,新建立的軟體包將作為 APT 軟體倉庫提供,可透過 HTTPS 存取。 Debian使用者可以透過在軟體來源配置中新增對應的行來使用它,如果需要,也可以使用現代的 .sources 檔案格式。

.sources 檔案範例: Types: deb deb-src
URIs: https://deb.debusine.debian.net/debian/developers-myuser_experiment
Suites: sid-experiment
Components: main

有了這樣的配置,任何與所用套件相容的 Debian 系統都將能夠像從 APT 來源一樣從Debusine 儲存庫查詢、安裝或更新軟體包,但優勢在於這些軟體包已經過針對發行版生態系統的工作流程調整。

Debian 生態系的應用案例與優勢

Debusine 旨在解決Debian 開發人員日常工作中遇到的實際問題,而這些問題的解決方案要么是統一的,要么很大程度上依賴手動操作。其中一個最明顯的例子是軟體包的協調過渡:當更新重要的庫或關鍵元件時,通常需要在將任何內容推送到主倉庫之前,重新建構並測試大量依賴軟體包。

借助 Debusine,這些變更可以在隔離但公開的倉庫中進行測試,其他開發者和測試人員可以協助驗證所有內容是否都能編譯並如預期運作。一旦軟體包被證明穩定,上傳到官方倉庫的風險就會降低,結果也會更加可預測,從而減少最終用戶遇到的問題數量。

另一個典型場景涉及實驗性軟體或尚未準備好加入軟體倉庫的軟體。一些專案要求用戶測試預覽版、開發分支或每日建置版本,以查找錯誤並收集回饋。 Debusine 不要求使用者添加 Ubuntu PPA 或手動編譯軟體,而是提供與 Debian 相容的軟體倉庫,但提供的保證和監管力度有限。

為團隊、公司或社群創建自訂軟體倉庫的想法也越來越受歡迎。任何維護基於 Debian 的發行版或企業環境的人都可以使用 Debusine 來打包和分發他們自己的應用程式版本,並使用與「官方」Debian 相同的工具和控制措施。這不僅是為了方便,也是為了方便追溯,並且能夠輕鬆審計哪些軟體包已安裝以及安裝來源。

最後,Debusine 有助於減少對 Launchpad 或私有服務等外部解決方案的依賴。一切都保留在 Debian 生態系統及其社群內,使用者可以更好地控制軟體包的儲存位置、簽署者以及分發條件。對於一個如此重視技術自主權和授權協議的計畫來說,這絕非小事。

  如何編輯 Hosts 檔案:Windows、Mac 和 Linux 完整指南

與經典 Ubuntu PPA 的關係以及在 Debian Trixie 中的使用

隨著 Debusine 的不斷成熟和發展,許多用戶仍會繼續在其 Debian 系統上使用 Ubuntu PPA,尤其是在 Debian 13 “Trixie” 等開發版本或接近不穩定版或測試版的版本上。原因顯而易見:某些軟體只打包在 Launchpad 上,而改變使用習慣需要時間。

在 Debian 系統上仍然可以安裝、設定和使用 Ubuntu PPA 軟體來源,通常透過 add-apt-repository 工具並進行一些手動調整。例如,通常會執行如下命令:

添加 PPA: sudo add-apt-repository ppa:mi-repositorio/mi-programa

此命令會在 `/etc/apt/sources.list.d` 目錄下建立一個新的來源文件,通常會帶有 `.sources` 副檔名。但是,由於它是針對 Ubuntu 的,該檔案可能引用諸如 `mantic`、`noble` 或 `questing` 之類的軟體包套件,而這些套件名稱與 Debian 的版本名稱並不對應。因此,通常的做法是編輯產生的檔案(例如 `my-program.sources`),並將 `Suites` 欄位的值調整為指向您要使用的 PPA 實際建置所在的 Ubuntu 版本。

更新軟體包清單: sudo apt update

整個過程很好地說明了為什麼 Debian 樂於擁有自己的官方替代方案。使用第三方 PPA 時,使用者需要承擔一定的依賴項混合風險,並且高度重視以避免系統崩潰。而 Debusine 則致力於提供從一開始就與 Debian 生態系統完美相容的額外軟體倉庫,不採用任何「技巧」或不正當的捷徑。

當前供應及未來前景

目前,Debusine Repositories 處於公開測試階段,主要針對開發者和維護者。位於 debusine.debian.net 的 Freexian 實例已用於實際項目,但尚未作為面向最終用戶的生產服務推出,因此最終用戶無法隨意添加軟體倉庫。

只有擁有 Debian 開發者或 Debian 維護者權限的使用者才能存取這些軟體倉庫,他們必須透過 Salsa 進行身份驗證才能建立、管理軟體包並將其上傳到軟體倉庫。產生的軟體倉庫是公開可見的,任何使用者都可以存取這些倉庫或將其配置為額外的軟體包來源,前提是他們了解自己正在向系統中添加的內容。

展望未來,該服務有望獲得更高的穩定性、更完善的品質保證功能,並更好地與 Debian 中使用的其他工具整合。此外,該服務在由致力於以更專業的方式維護基於 Debian 的發行版的公共或私營機構支持的衍生項目和計劃中的應用也極有可能增加。

考慮到 Ubuntu 的 PPA、通用軟體包格式以及各種包含 reprepro 和其他工具的自製軟體包解決方案已經存在很長時間了,有些人可能會覺得Debusine 的出現有點晚了。然而,對於那些重視內部一致性、發行版透明度以及能夠在不破壞發行版核心的情況下進行實驗的用戶來說,這樣一個平台在 Debian 官方體系下的出現無疑是個好消息。

種種跡象表明,Debusine 將成為Debian 軟體包和分發工作流程現代化進程中的關鍵元件。如果它成功,將為開發者提供更舒適的環境來測試複雜的變更,使維護者能夠更好地管理各自的軟體倉庫,並允許用戶在不離開發行版可信任生態系統的情況下存取更多軟體,從而降低用戶使用與專案理念不太相符的外部解決方案的誘惑(以及風險)。