Differences between revisions 91 and 92

Deletions are marked like this. Additions are marked like this.
Line 51: Line 51:
 * '''RPMfusion Repository''' ——(见 http://rpmfusion.org/ )为 EL6 及 7 提供「Fedora Project 或 Red Hat 所不愿发行的软件」。已知道会取代 base 组件。备有 [http://lists.rpmfusion.org/mailman/listinfo/rpmfusion-users RPMfusion 用户]的邮件列表。  * '''RPMfusion Repository''' ——(见 http://rpmfusion.org/ )为 EL6 及 7 提供「Fedora Project 或 Red Hat 所不愿发行的软件」。此软件库过往曾取代 base 组件,但在 2019 初检查时于 CentOS 7 下已不再如此做。备有 [http://lists.rpmfusion.org/mailman/listinfo/rpmfusion-users RPMfusion 用户]的邮件列表。
Line 87: Line 87:
~-Translation of revision 227-~ ~-Translation of revision 228-~

可供 CentOS 使用的软件库

CentOS 及其它第三方开发者提供了一些软件库,收录了 base 及 updates 缺省软件库以外的软件组件。没有一个清单是百份百完整,因为任何人都可发布软件库,但我们在这里下了一点功夫,为每个软件库的内容作一个概述。这些软件库在 CentOS 社区内有不同程度的稳定性、支持、及合作

有关 enabled 及 disabled 的软件库配置文件

请参阅 man 5 yum.conf,尤其是有关 enabled=0enabled=1 的对比。我们推荐 /etc/yum.repos.d/ 内的每个 .conf 档都应该包含上述选项。这样做可让系统的管理员更明确地指定寻找组件时应否检查某个软件库。每当编辑这些文件后,为求清除所有暂存信息和确保改动即时生效,请以 root 身份执行:

# yum clean all 

CentOS 提供的附加软件库


  • CentOS Extras —— 在 CentOS 5 及 6,这些组件提供额外功能,但不损坏 CentOS 与上游的兼容性,也不会更新基本组件,然而上游并未测试这些软件,它们亦不包含在上游产品内。在 CentOS 7 这是上游的软件库,也包含额外的 CentOS 组件。CentOS 的开发小组已经针对这个软件库内的每个程序作出测试,确定它们能在 CentOS 下运作。这个软件库已连同 CentOS 一并安装,并缺省为启用的


  • CentOSPlus —— 这些组件为了提供额外功能,会更改 CentOS 的某些基本组件。这个软件库会导致 CentOS 与上游供应者的内容有异。CentOS 的开发小组已经针对这个软件库内的每个程序作出测试,确定它们能在 CentOS 下运作。上游供应者并未测试这些软件,它们亦不包含在上游产品内。这个软件库已连同 CentOS 一并安装,但缺省为停用的。由这个软件库提供的受欢迎组件包括:CentOS-Plus 内核(含有额外修正、驱动程序/功能的重建内核),支持 postgresql 数据库的 postfix(官方版本只支持 mysql)。


  • CentOS-Fasttrack —— FastTrack 是上游的计划,在正常定点发行周期外发行某些更新。上游已于 6.9 及 7.3 发行周期停用些渠道 上游文章。我们现在采用此软件库发行由社群修正的组件,它们会 取替 上游的版本。这是一个纯选择性的软件库,其内容由 CentOS QA 小组决定。我们现正计划一个从 git 接收修正档到此软件库的方案。我们将会在 freenode irc 的 #centos-devel 频道及 CentOS-Devel 邮件列表上讨论此软件库。


  • debuginfo —— 组件载有编译主组件时所产生的侦错符号。这个软件库的配置文件缺省是不被提供的。oprofile、crash 及 systemtap 等工具需要 debuginfo 组件。请留意 debuginfo 组件也许会未被签署,因此它们必须以 --nogpgcheck 来安装,或在软件库定义内采用 gpgcheck=0。这些组件可以在 http://debuginfo.centos.org/ 找到。


  • CR —— 持继发行(CR)软件库内藏有下个 CentOS 定点发行本的组件。此软件库只会由上游推出定点发行,直至 CentOS 推出官方发行期间才会有内容。它们应被视为测试性质,不推荐用于生产用的服务器。话虽如此,你或许应考虑这样做,因为它经常收录了创建自新定点发行版本却未面世的安全性修正。这个软件库的内容是用来建设公开发行的 ISO 映像用的。它背后的理念是让系统管理员能在现有的服务器上采用新定点发行版本的内容,而无须额外等候一至两个星期直至 ISO 映像面世。


  • 软件选集 —— 软件选集(SCL)软件库现在由 CentOS 特别兴趣小组所维护,因此严格来说并非一个 CentOS 软件库。它收录了某些程序的较新版本,这些版本可与旧版同时共存,并通过 scl 指令来执行。安装的方法是利用 yum --enablerepo=extras install centos-release-scl。截至本文,此软件库包含 devtoolset 3、4 及 6(不知 devtoolset-5 去了哪里),新版的 git,httpd24(2.4.18),新版的 mariadb,maven30 及 33,新版的 mongodb,数个 mysql 版本,数个 nginx 版本,nodejs010,数个 perl 版本,7.0 及以下版本的 php,postgresql92 及 95,数个 python 版本,eclipse46 和不同的 ruby 版本。坊间有软件库亦会提供类同的代用组件,你可以参考一个(相对)客观的 评论,比较 SCL 与其它软件库的分别。


第三方软件库

警告: CentOS 并不提供或支持下列软件库。CentOS 计划对这些网站亦没有修订权。为了支持他们的组件,很多都有专用的邮件列表、IRC 频道、问题追踪库、等等。

注:假如你正考虑使用第三方软件库,你应该认真地思考如何防止来自这些软件库的「更新」不经意地取替了 CentOS 的核心部份。其中一个方法就缺省它们为停用的,有必要时才启用它们。见:man yum

另一个方法就是于 /etc/yum.repos.d/ 内的相关 .conf 文件里使用 exclude=includepkgs= 选项在子收藏库上。见:man yum.conf

yumPriorities 插件能防止第三方软件库取替 base 组件,或防止 base/updates 取代第三方组件。


获社群认可的软件库

这些软件库经常获社群推荐,普遍维护得不错,并且为 CentOS 提供为数不少的额外组件。它们同样与 CentOS 没有 关系,是独立个体。上述有关更新及先后次序的警告仍然生效。


  • Extra Packages for Enterprise Linux (EPEL) ——(见 http://fedoraproject.org/wiki/EPEL )提供为 EL6 及 EL7 重建的 Fedora 组件。组件应该不会取替 base,虽然在过往的定点发行版本曾出现问题。你可以执行 yum --enablerepo=extras install epel-release 来安装 EPEL。epel-release 组件已包含在缺省获启用的 CentOS Extras 软件库内。支持可在 Freenode 的 #epel 频道、邮件列表、及它的 问题追踪库内找到。要是你愿意在 EPEL 更新被推送至 stable 软件库前协助测试,你可以在你的开发/测试伺服器上 启用 epel-testing 软件库。在作业中的伺服器上启用 epel-testing 不是个好主意。


  • The Community Enterprise Linux Repository (ELRepo) ——(见 http://elrepo.org/ )集中以 kmod 驱动程序来增强 EL6 及 EL7 的硬件支持(包括:显示、文件系统、硬件监控、网络、音效、网络摄像镜驱动程序)。也提供较新版的内核。请遵照 ELRepo 主页来安装 elrepo-release 组件并输入它的 GPG 金钥。详情请参阅网站。支持途径包括 Freenode 上的 #elrepo 频道,ELRepo 用户ELRepo 开发者的邮件列表,还有它的 问题追踪库


  • LinuxTECH.NET 软件库 ——(见 http://pkgrepo.linuxtech.net/el6/ )提供影音的组件,尤其是通过启用组件中可选的功能来提供最广泛的编解码器支持。这个软件库适用于 CentOS 6。启用 backports 软件库有可能取替 base 组件。软件库配置文件已收录于:http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo截至 2018 年 5 月 2 日的检查,主软件库内的组件在 2016 或 2017 年都未曾被更新,而 testing 软件库内只有两个组件是 2015 后更新的,因此请谨慎地选用它们,因为你有可能会采用含有已知安全性漏洞的组件切勿尝试在 CentOS 7 上采用此软件库,这是行不通的。


  • nux-dextop ——(见 http://li.nux.ro/repos.html )为 EL6 及 7 提供以桌面及多媒体为导向的组件。它收录了大量如 Ardour 等图像化软件,亦有 Cone 等文字软件。依赖 EPEL 但不会复盖 base。



  • agr-free ——(见 http://rpm.agresearch.co.nz/ )它为 x86_64 结构上的 EL6 发行版本提供生物信息学的软件。该软件库由纽西兰的 AgResearch 所管理,内里含有大量生物信息学软件及依赖性组件供选择,它们是 AgResearch 内的科学家所应用的软件。该软件库缺省是与 EPEL 软件库一起应用的。详情请参阅它的 主页。同样的,这不适用于 CentOS 7。


  • GhettoForge ——(见 http://GhettoForge.org/ )为 EL7 及 6 提供其它第三方软件库所没有的组件及较新版的组件。会盖过 base 的组件都收藏于 [gf-plus] 软件库。请参阅 GhettoForge wiki 内的应用部份了解如何协调地运用 gf-plus 组件。请加入 freenode IRC 的 #ghettoforge 频道寻求支持。


  • Psychotic Ninja ——(见 http://wiki.psychotic.ninja/index.php?title=Main_Page )为 Red Hat Enterprise Linux 及其再发行版本如 CentOS Linux、Scientific Linux、Springdale、Oracle Linux 等计划提供组件。它的目标是为 Enterprise Linux 6 及 7 提供高质素、而不存在于 base 软件库或其它第三方软件库的组件。


  • RPMfusion Repository ——(见 http://rpmfusion.org/ )为 EL6 及 7 提供「Fedora Project 或 Red Hat 所不愿发行的软件」。此软件库过往曾取代 base 组件,但在 2019 初检查时于 CentOS 7 下已不再如此做。备有 RPMfusion 用户的邮件列表。


  • The SerNet Samba Repository ——(见 http://www.sernet.de/en/samba/ )一个德国网站,为 CentOS 7 及 6 提供 samba 的组件,及大量其它组件。某些用户汇报能成功地使用这些组件,但推荐小心使用。请留意只有 4.2 及以下版本的 samba 是免费的,较新版须要付年费才能访问。



  • Remi Repository ——(见 http://rpms.remirepo.net/ )Remi Collet 维护大量组件,包括最新版的 PHP 等。他在 http://blog.remirepo.net/pages/English-FAQ 收录了一个常见问题集。请留意这是一系列的软件库,而采用 -safe 系列可确保 CentOS Linux 发行版本的基本组件不会被复盖或取代。然而,请留意此软件库与其它第三方软件库不能和平共存 —— 举例说,Remi 的组件内含有 Obsoletes: 句式,并会自动以 .remi 版本取替来自 IUS 及 Webtatic 软件库的组件。这有可能是不理想的做法,因此采用此软件库时要小心。


  • ZFS On Linux ——(见 http://www.zfsonlinux.org/)ZFS on Linux 计划把 OpenZFS 应用在 Linux 环境下。纵使高度精密及极受欢迎,此文件系统并未受 RedHat/CentOS 测试,也不获支持,因此一如使用其它第三方软件库,后果自付。


已知的问题软件库

下列软件库会在只提供少量甚至没有警告的情况下大规模地取替 base 组件,导致已知的问题出现。请极度谨慎地选择应否采用这些软件库,并考虑改用上述软件库替换。


  • Atomic Repo ——(见 https://www.atomicorp.com/channels/ )Atomicorp 拥有商业产品及免费软件库,内中有较新的 PHP、MySQL 和大量其它组件。在其它地方未必可以找到的组件包括 hunspell、snort 及 zabbix。他们亦提供 Plesk。

额外留意 Atomic 的软件库在安装后会把软件库缺省为启用的,并会在更新 release 组件时覆盖用户的改动而不设通知。安装时,Atomic 将会取替很多核心组件。很多 CentOS 用户在启用此软件库后都遇上问题,这事实在寻找论坛可见一班。单单删除来自此软件库的组件亦有可能令系统不稳定。我们已经警告你。


  • City-Fan —— 为不同版本的 CentOS/RHEL 提供软件库,但似乎全部倾向未有警告便盖过来自 base/updates 的套件。当中计有 libcurl 等系统程式库,一经安装后便会导致 yum 失效!切勿选用。

额外留意 City-Fan 软件库,因为它们安装后会预设为启用的。City-Fan 在安装后 将会 取替大量 core 套件,而这些套件的结构与 CentOS 不同,令你近乎无法干净利落地移除它们。就算 移除 源自此软件库的套件后仍有机会令系统不稳定。我们已经警告你。


  • Jason Litka - Utter Ramblings Repository —— 似乎已不再被维护。


  • RPMForge/RepoForge —— 这计划已终止。不被维护。不要使用。


  • Webtatic Repo —— 提供较新版的 PHP、MySQL 及其它组件。IUS 或 SCL 是较佳的选择。


反面教材

警告: 请勿做以下的事情

有某人在 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 的软件库或许会兼容性较高,但使用时仍需小心。
  • 运作与你的 CentOS 版本不吻合的软件库!安装软件库前,请确保它是合适的版本,否则不正常的现像可能会出现。

<!> 切勿模仿这些例子。在你更改(并有可能毁坏)系统内的 yum 设置前,请先对别人的推荐作出批判性的鉴定及思考。

Translation of revision 228

zh/AdditionalResources/Repositories (last edited 2019-01-23 03:50:43 by TimothyLee)