Difference between revisions of "Official repositories (正體中文)"

From ArchWiki
Jump to: navigation, search
m
Line 2: Line 2:
 
[[Category:軟體套件包管理 (正體中文)]]
 
[[Category:軟體套件包管理 (正體中文)]]
 
[[Category:關於Arch (正體中文)]]
 
[[Category:關於Arch (正體中文)]]
[[Category:General (正體中文)]]
 
 
[[cs:Official Repositories]]
 
[[cs:Official Repositories]]
 
[[en:Official Repositories]]
 
[[en:Official Repositories]]

Revision as of 00:28, 11 April 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

軟體倉庫(在Debian系發行版中,又叫做「軟體源」)是軟體套件包存儲的地方。通常我們所說的軟體倉庫指在線軟體倉庫,亦即用戶從網際網路獲取軟體的地方。Arch Linux 軟體套件包維護員(包括開發人員以及受信用戶)對基本的、常用的或者流行的軟體套件包進行維護,用戶則可以通過pacman軟體套件包管理器安裝使用這寫軟體。本文將帶你了解我們的官方軟體倉庫。

歷史背景

大部分倉庫是因為歷史原因分開的。原本,當這個發行版只有一小部分用戶時,是只有一個軟體倉庫的,它就是現在的[core]──那時候它叫做[official]。這個倉庫主要存放了Judd Vinet選定的應用程序,當然現在已經不是這樣了:它被設計為只包含「每種類型」程序中的一個 ── 一個桌面環境、一個主瀏覽器等等。

後來有用戶不滿Judd的選擇,由於ABS系統使用簡單,所以他們就用ABS來創建自己的軟體套件包。這些軟體套件包被放入一個名為[unofficial]的軟體倉庫,而這個倉庫由除Judd以外的開發人員維護。最終,新倉庫獲得開發人員同樣的支持,所以就不再使用[official]和[unofficial]這兩個名稱了。大約在0.5版本的時候,兩個倉庫更名為[current]和[extra]。

在2007.8.1版本發布之後,[current]更名為[core],以免讓人誤解它包含的內容。如今,這兩個倉庫在開發人員和社區眼中都是相同分量的。不過[core]還是有些不同的,主要區別在於安裝光盤和發布的快照中的軟體套件包都只在[core]當中。這個倉庫可以實現一個完整的Linux系統,但並不一定是你想要的Linux系統。

在0.5或者0.6版本的時候,倉庫裡有大量的軟體套件包沒有開發者願意去維護。於是一位開發人員(Xentac)建立了「受信用戶倉庫」(Trusted User Repositories),作為存放被信任的用戶(TU)自行創建的軟體套件包的倉庫。[staging]倉庫裡的軟體套件包可以被Arch Linux的開發人員選拔入官方倉庫,不過除此之外,開發人員和受信用戶或多或少還是有所不同的。

就這樣過了一段時間,逐漸的受信用戶對他們的軟體倉庫感到厭倦,而非受信用戶又期望可以將自己的軟體套件包與大家分享。這導致了AUR的出現。慢慢的TU們形成更為嚴密的組織,如今他們共同維護[community]軟體倉庫。TU是一個獨立於Arch Linux開發人員之外的組織,兩者並沒太多交流。不過,熱門的軟體套件包仍然會偶爾從[community]選拔入[extra]。AUR也支持允許非受信用戶提交PKGBUILD給其他用戶自願使用。這些軟體套件包不提供技術支持,所以AUR有時候被稱為[unsupported]倉庫。因為沒有發布二進制包,unsupported並不算是真正的軟體倉庫。如果AUR的某些軟體套件包被TU認為熱門或是有興趣維護它,TU可以自行決定從unsupported裡接納某些軟體套件包進入[community]。

在2006年,[core]倉庫裡未被正確編譯的內核導致許多用戶系統崩潰。之後,「core倉庫審核機制」引入:所有[core]倉庫軟體套件包更新前,必須先在一個叫做[testing]的倉庫進行測試,必須在其他開發者同意後,軟體套件包才能正式移入[core]。後來,[core]中出現一些低使用率的軟體,審核機制對它們有所寬鬆。

2009年末至2010年初,出現了一些新的文件系統,人們希望在安裝系統時就使用它們(即納入[core])。鑒於[core]從來沒有給出明確的界定(只是說「重要的軟體套件包,由開發者挑選」),人們決定給它一個更為明確的定義(見下)。

軟體倉庫列表

[core]

[core]倉庫位於Arch鏡像的core/os/i686或者core/os/x86_64目錄中。

該倉庫對包質量有嚴格要求:

  • 軟體套件包更新需要經過開發者和用戶的審察批准。
  • 對於低使用率的軟體,公布合理的更新緣由(例如:發布通知、請求審核、在[testing]倉庫審核幾天到幾周不等),後經開發者簡單的審核即可。

該倉庫包含下列軟體套件包:

  • 啟動Arch系統所必需的。
  • 鏈接網際網路時可能需要的。
  • 編譯軟體套件包時需要的。
  • 檢查、修復文件系統的工具。
  • 在安裝過程中可能用到的(例如 openssh)。
  • 上述軟體套件包的運行時依賴。

核心系統安裝盤中包含這些軟體套件包,通過安裝盤,你可以離線安裝基本系統。

[extra]

[extra]倉庫位於Arch鏡像的extra/os/i686或者extra/os/x86_64目錄中。它包含不適合[core]庫標準的大量軟體套件包,比如:Xorg,窗口管理器,網頁瀏覽器,媒體播放器,腳本語言支持等等。

[community]

[community]倉庫位於Arch鏡像的community/os/i686或者community/os/x86_64目錄中。它由受信用戶(TU)維護,包含由TU認證的、獲得足夠多打分的AUR軟體套件包。嚴格來講,它是AUR的一部分。

[multilib]

[community]倉庫位於Arch鏡像的multilib/os/x86_64目錄中。包含64位系統中需要的32位軟體和庫,例如:Flash外掛程式,Skype。

[testing]

[testing]倉庫位於Arch鏡像的testing/os/i686或者testing/os/x86_64目錄中。[testing]倉庫很特別,它包含即將進入[core]、[extra]軟體庫的候選軟體套件包。

下列軟體套件包會進入[testing]庫:

  • 更新該軟體套件包可能損壞系統,需要進行測試。
  • 更新該軟體套件包,可能需要其他相關軟體套件包重建,軟體套件包在[testing]庫中等候全部相關軟體套件包準備到位。

[testing]庫是唯一可能和其它官方軟體倉庫有軟體套件包名稱沖突的倉庫。如果要啟用,應該在pacman.conf文件里把它設置為第一個倉庫。

Warning: 謹慎啟用[testing]倉庫,其中的軟體套件包可能損壞系統。僅當你有足夠的經驗應對問題時,再考慮啟用。

[testing]庫並不是「最新」軟體套件包的倉庫,而是為軟體套件包提供「測試」的地方。我們建議使用[testing]庫的用戶訂閱arch-dev-public郵件列表,並在Bug Tracker報告bug。

[community-testing]

[community-testing]庫的功能類似[testing],不過是為[community]庫設計的測試倉庫。

[unsupported],即 AUR

[unsupported],即我們所熟知的AUR。在這個倉庫中,用戶可以自行提交軟體套件包(通常以PKGBUILD的形式,而非二進制包)。無法使用pacman使用這個庫,下載PKGBUILD以及相關文件後,需要自行通過makepkg編譯軟體套件包。諸如yaourt之類的AUR Helpers是用戶使用AUR的好工具。

Note: 注意:嚴格來說,[community]和[unsupported]庫一同組成AUR

非官方用戶倉庫

一些用戶組建了自己的軟體倉庫,參見Unofficial User Repositories