可供 CentOS 使用的軟件庫
有幾個由 CentOS 及其他第三方開發者提供軟件庫,備有 base 及 updates 這兩個預設軟件庫以外的軟件套件。縱使沒有一個列表可以是百份百完整,因為任何人都可以發佈一個軟件庫,我們在這裡下了一點功夫,為每個軟件庫的內容作一個簡介。這些軟件庫在 CentOS 社區內有不同程度的穩定性、支援、及合作。
CentOS 提供的附加軟件庫
CentOS Extras - 這個軟件庫是為那些增加格外功能,但不損壞 CentOS 與上游的兼容性,而且不更改基本元件的套件而設立的。CentOS 的開發小組已經針對這個軟件庫內的每個程式作出測試,確定它們能在 CentOS 下運作。上游提供者並未測試這些軟件,它們亦不包含在上游產品內。這個軟件庫已連同 CentOS 一併安裝,並預設為啟用的。
由這個軟件庫提供的受歡迎套件包括:適用於 CentOS-4 及 CentOS-5 的 horde 架構及相關套件、freenx、apt、XFCE 及 yumex。CentOS-6 的 Extras 軟件庫現時只藏有配合持繼發行軟件庫用的 centos-release-cr。
CentOSPlus - 這個軟件庫是為那些更改 CentOS 基本元件的套件而設立的。使用這個軟件庫會導致 CentOS 與上游提供者的內容有異。CentOS 的開發小組已經針對這個軟件庫內的每個程式作出測試,確定它們能在 CentOS 下建立及運作。上游提供者並未測試這些軟件,它們亦不包含在上游產品內。這個軟件庫已連同 CentOS 一併安裝,但預設為停用的。 由這個軟件庫提供的受歡迎套件包括:支援資料庫的 postfix(供 CentOS 4 及 5)、提供格外驅動程式及檔案系統支援的新編內核、php5 及 mysql5(只供 CentOS 4)。
CS/GFS - 這個軟件庫將上游提供者的 Cluster Suite and Global File System 發行針對 CentOS-4 重新編譯,並提供對應 x86 及 x86_64 架構的支援。CentOS 的開發小組已經針對這個軟件庫內的每個程式作出測試,確定它們能在 CentOS-4 下運作。這個軟件庫預設並不附屬 CentOS,但它的設定檔可在 http://mirror.centos.org/centos-4/4/csgfs/CentOS-csgfs.repo 找到。(註:此軟件庫已結束支援,但仍收錄在 CentOS Vault 內)
CentOS-Testing - 這個軟件庫為那些將要放入 CentOSPlus 及 CentOS Extras 的套件提供一個試驗場。它們可能會更改 CentOS 的核心套件,而且並不保證能正確運作。這些套件能被安裝,但正在等待測試者回饋它們的功能及穩定性。這個軟件庫內的套件在開發期間會不時替換,所以它在實際運行系統內不應長期啟用。這個軟件庫是刻意地 不被收錄在 CentOS 內,但是它的設定檔可以在下列地方找到:CentOS 4: http://dev.centos.org/centos/4/CentOS-Testing.repo CentOS 5: http://dev.centos.org/centos/5/CentOS-Testing.repo CentOS 6: http://dev.centos.org/centos/6/testing/CentOS-Testing.repo
CentOS-Fasttrack - 這個軟件庫存帶有不時發佈的錯誤修正和強化升級,及那些可能納入下個更新發佈的套件。詳情請參閱自述檔。這個軟件庫針對 CentOS-5 的設定檔已放置在這裡。CentOS-6 Fasttrack 現已存在,並可透過這裡的軟件庫設定檔來存取。
debuginfo - 這個軟件庫內的套件載有主套件在編譯時所產生的偵錯符號。這個軟件庫的設定檔預設是不被提供的。oprofile、crash 及 systemtap 等工具需要 debuginfo 套件。請留意 debuginfo 套件也許會未被簽署,因此它們必須以 --nogpgcheck 來安裝,或在軟件庫定義內採用 gpgcheck=0。這些套件可以在 http://debuginfo.centos.org/ 找到。
contrib - 這個軟件庫藏有 CentOS 用戶供獻的套件,它們並不會與核心發行版本的套件重疊。這些套件並沒有經過 CentOS 的開發者測試,亦未必會緊貼上游的發行。
CR - 持繼發行(CR)軟件庫內藏有下個 CentOS 定點發行本的 rpm,而該版本仍未被推出。
第三方軟件庫
|
警告: 下列軟件庫並不是由 CentOS 提供或支援。它們的排列沒有特定次序,而較早列出的軟件庫並同較可靠。CentOS 計劃對於這些網站內所聲稱的兼容性沒有修訂權。很多第三方軟件庫都不能互相兼容,而且若是一併使用,會導致依賴性問題及衝突,和穩定性問題!假若他們提供的東西出了問題,你要自己收拾殘局。當中某些軟件庫如 RPMforge、ELRepo、ATrpms、EPEL、及 RPMfusion 等擁有個別的郵件列表,為它們的套件提供支援。 |
|
|
註:假如你正考慮使用第三方軟件庫,你應該認真地思考如何防止來自這些軟件庫的「更新」不經意地取替了 CentOS 的核心部份。其中一個方法就預設它們為停用的,有必要時才啟用它們。見:man yum |
|
|
另一個方法就是於 /etc/yum.repos.d/ 內的相關 .conf 檔案裡使用 exclude= 及 includepkgs= 選項在個別子收藏庫上。見:man yum.conf |
|
|
還有一些外加的非標準的插件可以延伸 yum,例如 Priorities(或 ProtectBase)插件。(Priorities 與 ProtectBase 插件都能防止第三方軟件庫更改 base 套件,但以 Priorities 較有彈性,所以是較強勁的插件。) |
|
RPMForge - 這個軟件庫是由 Dag(他亦維護一個個人的軟件庫)及其他包裝者合作維護的。這個軟件庫提供超過 10000 個 CentOS 套件,包括 mplayer、xmms-mp3、及其他受歡迎的媒體工具。你可以閱讀 安裝 RPMForge內的安裝指引。社區內很多人都視這個軟件庫為穩定及安全的。
|
這個軟件庫有時亦被稱為 DAG 軟件庫 或類似名稱。 |
|
Request Tracker - 這個軟件庫讓你可以用 yum 來安裝受歡迎的 Request Tracker Ticketing System 及其相依套件。這個軟件庫位於 http://campus.fct.unl.pt/paulomatos/rt/repository/3.4.x/rt-3.4.x.repo,而 CentOS 新聞稿則收錄在 http://www.centos.org/modules/news/article.php?storyid=114。註: - 假若你計劃使用這個軟件庫,而又設置了 ProtectBase 來保護你的 base 軟件庫,你必須同時「保護」這個軟件庫,因為它需要更改基本發行版本內最少兩個套件(即 mod_perl)。此外,假若 rt 軟件庫不受「保護」的話,它的一些套件會被 rpmforge 軟件庫所取代。註: - 假若你同時使用這個軟件庫 及 rpmforge 軟件庫,而你並未安裝 ProtectBase 或 Priorities 插件,你必須在 /etc/yum.repos.d/rpmforge.repo 檔內加入下列的 exclude:
exclude=perl-DBIx-SearchBuilder
否則安裝時將會出現 "Missing Dependency: perl(DBD::Oracle) is needed by package perl-DBIx-SearchBuilder." 的錯誤。
KBS-Extras - 這個網站(由 CentOS 小組的一個成員設立)提供原名為 Fedora Extras 軟件庫內的一些套件,但迎合 CentOS 作出修訂和重新編譯。它亦收藏了其他套件。這個軟件庫可在 http://centos.karan.org 找到,它亦有聲譽是穩定和安全的。最新的 CentOS 5 的套件都收錄在 -testing 軟件庫內,而主軟件庫都是空置的。
kde-redhat.sf.net - 這個軟件庫提供較新版本(新鮮出爐)的 KDE 供那些以 redhat 為基礎的系統使用。這個軟件庫有不錯的聲譽,及頗大的支援社群。
註: - 這個軟件庫會將 CentOS 內非常多的程式升級至新版本,包括 KDE、QT、samba 等所有套件。有一位 CentOS 成員在第 25 版修訂時評論:我在所試用過的機器中都不見有問題,但是由於大量的改動,你的機器相對 [Base] CentOS 操作系統會有很大區別。有關設置的信息已收錄在:http://kde-redhat.sourceforge.net/
ATrpms - 這個軟件庫提供很多新鮮出爐的應用程式及媒體工具,例如 myth-tv。這個軟件庫可在 http://atrpms.net/ 找到。
這個軟件庫內針對 CentOS 4 及較早的收藏會將系統套件替換為比 Base CentOS 還要新的版本,有可能誘發穩定性的問題。你使用時要承擔這個風險。
atrpms.net 內的 CentOS 5/RHEL 5 軟件庫是可以安全使用的,但你必須只使用穩定版本。這版本裡面的套件不會取替系統套件。
若你同時啟用 ATrpms 內的測試及新鮮出爐目錄樹,你將會再度進入未知境界 - 這兩個軟件庫將會取替系統套件。然而,Axel Thimm 為 testing 改的名稱其實並不正確,因為 MythTV 及很多 ATrpms 內的多媒體軟件都依賴它裡面的套件才能運作。ATrpms testing 其實已通過測試,而且性質與 centosplus 相若。
atrpms 用戶的郵件列表。
Extra Packages for Enterprise Linux (EPEL) - 這個軟件庫(參見 http://fedoraproject.org/wiki/EPEL)提供為 EL5 及 EL6 重新編譯的 Fedora 套件。你可透過安裝針對 EL5 或 EL6 的 epel-release 套件來設置。
這個軟件庫在不替代系統套件方面下了功夫。在某些情況下它嘗試直接針對 CentOS 兼容性的問題,但堅決否定軟件庫間的兼容性是目標之一。當它與其他第三方軟件庫混合使用時,問題可能會出現。故此,當你使用 EPEL 時,尤其是當你亦會運用其他件庫的套件時,請確保你使用 yum 的 Priorities 插件。另外請注意,雖然 EPEL 未必會蓋過發行版本的套件,但它可能會與預設被啟用的 CentOS extras 軟件庫發生衝突。
開發 EPEL 的郵件列表 —— 不是真的支援列表,但似乎是唯一選擇。 在這個列表上,有一位 EPEL 社區成員表示支援及兼容(即「顧及」)CentOS 並不是他從 EPEL 所承擔責任,因為 CentOS 的使用量「未經實際數據所確定」。另一位 EPEL 成員重温歷史,並覆述了「較冷靜」的目標,就是不要因版本更新而無故地破壞 CentOS 的兼容性。
Adobe Repository - 這個軟件庫(參見 http://blogs.adobe.com/acroread/2008/02/adobe_reader_now_available_via.html)提供不同語言的 Adobe Reader 及 flash-plugin。請安裝 adobe-release 來設置這個軟件庫 http://linuxdownload.adobe.com/linux/i386/adobe-release-i386-1.0-1.noarch.rpm 在 i386 架構上,或 http://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm 在 x86_64 架構上。
RPMfusion Repository - (參見 http://rpmfusion.org/)仍在發展初期,特別是針對 EL5 的套件 - 截至本文的寫作時,大部份的套件仍在「測試」階段。建議極其謹慎地使用這個軟件庫。
根據上述連結:「RPM Fusion 提供 Fedora 計劃或者 Red Hat 不願供應的軟件。這些軟件以預先編譯的 RPM 提供給所有 Fedora 版本及 Red Hat 企業級 Linux 5,而且你可透過 yum 及 PackageKit 等具工使用 RPM Fusion 軟件庫。RPM Fusion 由 Dribble、Freshrpms 及 Livna 合併而成。我們的目標是要借著將最多的附加軟件收集在同一個地方,來簡化用戶的經驗。」
RPMfusion 用戶的郵件列表。
Les RPM de Remi Repository -(參見 http://rpms.famillecollet.com/)它在郵件列表及論壇中穫得推薦。Remi Collet 維護著最新版的 mysql 及 php(反向移植 Fedora 的 RPM)。它提供針對 EL6 i386、EL6 x86_64、EL5 i386、EL5 x86_64 及 EL4 的軟件庫設置檔。由於這個軟件庫替代核心套件,建議謹慎地使用它。
The Community Enterprise Linux Repository -(參見 ELRepo)請遵照 ELRepo 的 tiki 文章來安裝 elrepo-release 這個套件並匯入它的 GPG 金鑰。它現時有四個頻道並集中以 kmod 驅動程式來增強硬件支援(包括:檔案系統、網絡、音效、網絡攝像鏡驅動程式)。
- elrepo
elrepo 是默認的頻道。這個頻道可以在 /etc/yum.repos.d/elrepo.repo 內啟用,或透過 yum --enablerepo=elrepo 來使用(建議方式)。
- elrepo-testing
elrepo-testing 頻道提供那些仍在測試中,未能在 elrepo 頻道內發佈的套件。這個頻道預設是被停用的。這個頻道可以在 /etc/yum.repos.d/elrepo.repo 內啟用,或透過 yum --enablerepo=elrepo-testing 來使用(建議方式)。
- elrepo-kernel
elrepo-kernel 頻道提供來自 Linux Kernel Archives、針對 EL-{5|6} 設置的穩定主流內核,而且預設是被停用的。這些套件刻意被命名為 kernel-ml,免得它們與 CentOS/EL-{5|6} 的內核發生衝突,因此它們可以與正常的內核同時安裝及進行更新。有關應用非 CentOS 內核的詳情及注意事項,請參閱 kernel-ml 網頁。這個頻道可以在 /etc/yum.repos.d/elrepo.repo 內啟用,或透過 yum --enablerepo=elrepo-kernel 來使用(建議方式)。
- elrepo-extras
elrepo-extras 頻道提供的套件,會取替 CentOS 或兼容發行版本內的套件,而且預設是被停用的。這樣便能確保使用 elrepo 的主頻道時不會更新發行版本內的套件。詳情請參閱這個公佈。這個頻道可以在 /etc/yum.repos.d/elrepo.repo 內啟用,或透過 yum --enablerepo=elrepo-extras 來使用(建議方式)。
ELRepo 使用者及 ELRepo 開發者的郵件列表。
The SerNet Samba 3 Repository - 為 CentOS 3、4、及 5 提供 Samba 3 套件的德國網址
註:這個軟件庫的架構已被更改,它現在提供 3.2、3.3、3.4 及 3.5 的目錄樹。軟件庫的連結現時指向最新一個版本。
Mike A. Harris EL Repository - Mike A. Harris 為維護一個 EL5 軟件庫,藏有供 EL5 用的 firefox 3.6 套件,及其它少數量的更新套件。請參閱 http://mhrepo.co.cc 來取得軟件庫的最新資料及指引。 Mike 強烈地建議使用所提供的無編號發行套件來自動設定這個軟件庫:
root@localhost:~# rpm -Uvh http://mhrepo.co.cc/pub/el/mhrepo-release.noarch.rpm
JPackage Repository -(參見 http://www.jpackage.org/index.php ) 「JPackage 計劃有兩個主要目標:
- 為 Linux 提供一組貫切的 Java 軟件套件,滿足其它應用程式對質量方面的所有要求。
- 為 Java 軟件的包裝及安裝制定一套有效率及耐用的原則。 在可能的情況下,我們專注在免費及開源的軟件上。為方便起見,我們亦會提供非免費、不包含受限制源代碼的套件。 我們的 RPM 可通用於任何以 RPM 為基礎的 Linux 發行版本(Mandrake、Red Hat、SuSE 等)。我們歡迎你建議其它包裝格式。」
有一個 repo 檔案可供使用。
Jason Litka - Utter Ramblings Repository -(參見 http://www.jasonlitka.com/yum-repository/ ) 更新了 EL4 及 EL5 核心套件所提供的 web stack 及其它應用程式。包括 apr、apr-util、freetds、httpd、libmcrypt、mhash、mod_evasive、mod_perl、mod_python、mod_security、mysql、mysqlclient10、mysqlclient14、pcre、perl-BSD-Resource、php、php-apc、php-eaccelerator、php-memcache、php-pear、php-xcache、subversion、tidy。建議使用這個軟件庫時要謹慎,因為它會取替核心套件。
IUS Community Repo -(見 http://iuscommunity.org/ - http://lists.centos.org/pipermail/centos-docs/2009-November/003730.html )
「IUS 是一個為 RHEL 而新成立的第三方軟件庫,提供『上游最新版本的 PHP、Python、MySQL 』。它獲得 Rackspace 的內部工作所贊助(但沒有官方支援)。」請參閱它的 Wiki 客戶端使用指南來安裝 ius-release 套件並設置軟件庫。
建議使用這個軟件庫時要謹慎,因為它會取替核心套件。另外請參閱它的常見問題集,當中很坦率地探討利與弊。
Atomic Repo -(見 http://www.atomicorp.com/downloads.html )
Atomicorp 擁有商業產品及免費軟件庫,內中有較新的 PHP 5.3、MySQL 5.1 及很多其它套件。有其它地方未必可以找到的套件包括 hunspell、snort 及 zabbix。他們亦提供 Plesk。請格外留意 Atomic 的軟件庫,因為在安裝後,他們會把軟件庫預設為啟用的,並會在更新 release 套件時覆寫用戶的改動而不設通知。安裝時,Atomic 將會取替很多設定為核心的套件。很多 CentOS 用戶在啟用此軟件庫後都遇上問題,這事實在搜尋論壇可見一班。軟件庫的定義已收錄在 atomic-release 套件內。
PostgreSQL RPM 建立計劃 - Yum 軟件庫 -(見 http://yum.postgresql.org/ ) PostgreSQL RPM 建立計劃為 Fedora、RHEL 及其衍生系統提供不同版本的 PostgreSQL 和相關的套件。此軟件庫將會取替核心套件。他們提供了多個供 yum 用的發行套件來支援不同的版本。請小心使用。
Google RPM 套件 - (見 http://www.google.com/linuxrepositories/ ) Google 為 google-chrome 瀏覧器、Google Earth、及其它應用程式提供套件。相對較早發行版本,它們有更大機會在 CentOS-6 上運作。他們沒有提供 repo 檔,但你可在 GoogleYumRepos 頁上找到範例。請小心使用。
LinuxTECH.NET 軟件庫 - (見 http://pkgrepo.linuxtech.net/el6/ ) LinuxTECH.NET 軟件庫是一組細小但在擴展中、供 EL6 兼容發行版本用的個人軟件庫,它是為個人用途而建立,但亦以「不加修飾」的方式供公眾存取。這些軟件庫的焦點是關乎影音的套件,尤其是透過啟用套件中可選的功能來提供最廣泛的編解碼器支援。除了影音套件外,你亦會找到一些特殊的伺服器及桌面用套件,是其他 EL 兼容的軟件庫所沒有的。
- release
- 包含維護者視為適合發行用的套件。
- testing
- 包含那些未經詳盡測試,或仍有未解決問題的套件。
- backports
包含那些以較新的上游版本來取替 EL6 核心的套件。這些套件多數擁有較吸引的功能或支援較新的軟件。警告:只有當你不介意 EL6 核心套件被取替時才啟用 backports 軟件庫!
軟件庫的設定檔位於:http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
所有套件皆以這個 GPG 金鑰來簽署:http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET
一個不該學效的反面例子
|
警告: 請勿這樣做。 |
|
有一個人在 IRC 頻道內問及有關設置第三方 yum 軟件庫的指引。跟隨某些外部文檔可能是個壞主意。下面列舉了一些不正確的軟件庫設置:
- 採用硬編碼的版本及架構:'baseurl=http: //ftp.belnet.be/packages/dries.ulyssis.org/redhat/el4/en/i386/dries/RPMS'。這樣 $releasever 及 $basearch 皆是硬編碼。對比較正規的:'baseurl=http: //apt.sw.be/redhat/el$releasever/en/$basearch/dag'。硬編碼令以上方法單單在 i386 平台上的 CentOS 4 是「正確」。
- 混合使用 Fedora 及 CentOS 的軟件庫:留意 'name=Fedora' 而不是 'name=CentOS.(某版本)'。Fedora 的軟件庫很大機會無法與 CentOS 兼容。其它出自同一上游代源碼的企業級 Linux 的軟件庫或許會兼容性較高,但使用時仍需小心。
切勿按照這些例子去做。在你更改(並有可能損毀)系統內的 yum 設定前,請先對所得的建議作出批判性的鑑定及思考。
Translation of revision 149
