Official repositories (正體中文)
軟體倉庫是存放軟體包的地點,安裝過程中可以從這些軟體庫取得軟體包。
官方倉庫包含了基本與常用的軟體包,透過 Pacman 可以輕鬆取得。
這些軟體包有特定的維護者維護。
軟體倉庫
core
這個軟體庫位於鏡像站的 .../core/os/
目錄下。
core 包含的軟體包有以下用途:
以及上述軟體所需的其他相依軟體 (非必要的 makedepend)
core 軟體庫有嚴格的質量要求。一個更新軟體包必須經過開發人員與使用者的審核才會被接受。低使用率的軟體包只需經過合理的公開測試:更新通知、要求審核、視變更程度進行 (一星期以內的) 持續測試、無任何特殊錯誤報告,加上維護人員的審核即可。
extra
這個軟體庫位於鏡像站的 .../extra/os/
目錄下。
extra 包含所有不適合放在 core 的軟體包。例如 Xorg、視窗管理員、網路瀏覽器、媒體播放器、程式語言 (如 Python 和 Ruby) 的開發工具,還有更多程式。
community
這個軟體庫位於鏡像站的 .../community/os/
目錄下。
community 包含從 Arch 使用者倉庫選拔出來的軟體包,這些軟體都獲得相當的投票數,並由受信任的使用者認養。
multilib
這個軟體庫位於鏡像站的 .../multilib/os/
目錄下。
multilib 包含 32 位元的軟體與函式庫,讓 64 位元機器可以執行、組建 32 位元的應用程式 (例如 wine, steam)。
更多資訊請參閱 Multilib。
testing
這個軟體庫位於鏡像站的 .../testing/os/
目錄下。
testing 包含 core 或 extra 軟體庫的候選軟體包。
會進入 testing 的軟體包有以下特點:
- 用它們更新有讓系統故障的風險,必須先進行測試。
- 它們需要其他軟體包才能組建。這種情況下,所有需要重建的軟體包都會被放進 testing,等到全部組建工作完成後,這些軟體包才會被移回原本的軟體庫。
testing 是唯一會和其他官方軟體庫產生名稱衝突的軟體庫。一旦啟用,必須將它擺在 /etc/pacman.conf
檔案的第一順位。
您必須同時啟用 community-testing 才能啟用 testing 軟體庫。
community-testing
這個軟體庫和 testing 類似,不過裡面的軟體包是 community 內軟體的候選版本。
您必須同時啟用 testing 才能啟用該軟體庫。
multilib-testing
這個軟體庫和 testing 類似,不過裡面的軟體包是 multilib 內軟體的候選版本。
您必須同時啟用 testing 才能啟用該軟體庫。
歷史背景
official、unofficial、current 和 extra
大部分的軟體庫分支起因於歷史緣由。一開始,Arch Linux 的使用者相當稀少,當時只有一個 official 軟體倉庫 (就是現在的 core)。這個倉庫主要存放了 Judd Vinet 選定的應用程式。它設計為包含每個「類型」程式中的一種 ── 一個桌面環境 (DE)、一個主要瀏覽器,以此類推。
當時有些使用者對 Judd 的選擇不甚滿意,因此他們使用容易上手的 Arch 組建系統建立自己的軟體包。這些軟體包被放入一個名為 unofficial 的軟體倉庫,由 Judd 以外的開發人員維護。最終,兩個軟體倉庫皆獲得開發人員同樣的支持,official 和 unofficial 這兩個名稱也變得不合時宜。大概在 0.5 版本時期,兩個倉庫更名為 current 和 extra 。
2007.8.1 版本釋出後不久,current 更名為 core,以免讓人誤解它包含的內容。現今,所有軟體倉庫在開發人員和社群眼中都具有相同分量,不過 core 還是有些不同之處。主要區別在於,安裝光碟和發布快照只使用 core 的軟體包。這個倉庫是可以建立一個完整的 Linux 系統,但不一定是你心目中理想的 Linux 系統。
在 0.5/0.6 版本這段期間,有不少軟體包陷入了無人維護的困境。Jason Chu 建立了受信任使用者倉庫 (Trusted User Repositories),受信任使用者(Trusted User; TU)可以將自己建立的軟體包放進這個非官方軟體庫。另外有個 staging 倉庫,裡面的軟體包可被 Arch Linux 的開發人員選進官方軟體庫,但除此之外,開發人員和受信任使用者之間依然存在或多或少的隔閡。
就這樣過了一段時間,直到受信任使用者對他們的軟體倉庫感到厭倦,非信任使用者又期望可以將自己的軟體包與大家分享。AUR 因此誕生。TU 們開始形成更嚴密的組織,如今他們共同維護 community 軟體庫。TU 是一個獨立於 Arch Linux 開發人員的組織,兩者沒有太多交流。不過,偶爾有熱門的 community 軟體包會被選拔進 extra。AUR 也支持允許非信任使用者提供自己的 PKGBUILD。
core 軟體庫的 Linux 核心曾導致很多使用者系統當機,之後 Arch 引入了「core 軟體庫審核機制」。所有 core 的軟體包在更新前,必須先放進 testing 軟體庫,並經過數名開發人員的審核後,這些更新軟體包才會被放行進 core。過了一段時間,發現某些 core 軟體包的使用率很低,因此放寬對這些軟體包的審核機制:只要經過使用者簽核,或是沒有任何相關錯誤報告,都當作符合 (非正式的) 標準並接受。
2009 年末至 2010 年初,隨著某些新型檔案系統的出現,也冒出希望在安裝過程支援這些新格式的請求。鑒於 core 從來沒有被明確界定過(只是「由開發人員挑選的重要軟體包」),這個軟體庫終於得到一個更精確的定義。