1. yum简介
yum(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE Linux系统中使用的软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次性安装或更新所有依赖的软体包,无须手动安装更新依赖项。yum 还需要位于网络或本地的可靠软件仓库(Repository),存储RPM包以及特定的元数据文件,可根据需要在局域网内部配置部署yum软件仓库,为离线计算机提供软件安装更新。
2. 附加的centos存储库
- centos默认安装的存储库
yum repolist #显示已配置的存储库
repo id repo name status
!base/7/x86_64 CentOS-7 - Base 10,019
!extras/7/x86_64 CentOS-7 - Extras 419
!updates/7/x86_64 CentOS-7 - Updates
- extras
CentOS 7中的一个存储库,CentOS开发团队已经测试了该存储库中的每个项目,它们都能在CentOS下运行。此存储库随CentOS一起提供,默认情况下已启用。
- centosplus
CentOSPlus存储库包含升级到CentOS Base + CentOS Update存储库中的软件包的软件包。这些软件包以牺牲上游兼容性为代价扩展了CentOS的功能。CentOS开发团队已经测试了该存储库中的每个项目,它们都能在CentOS下运行。 此存储库随CentOS一起提供,但默认情况下未启用。想要启用centosplus,可以编辑/etc/yum.repos.d/CentOS-Base.repo将其中[centosplus]段中更改enable=1
- debuginfo
debuginfo存储库包含基础包构建时生成调试符号的包,默认情况下不提供repo配置。oprofile,crash和systemtap等工具需要debuginfo包。请注意,debuginfo包可能没有签名,因此必须在repo定义中使用“--nogpgcheck”或使用“gpgcheck = 0”进行安装。这些软件包可在http://debuginfo.centos.org/找到。
- CR
Continuous Release存储库包含下一个版本CentOS系统的软件包。此存储库仅包含上游版本和官方CentOS版本之间的时间段内容。其应该被视为beta版,不建议用于生产服务器。话虽如此,因为它经常包含已经构建但尚未发布的新版本的安全修复程序,这可能是你想要的东西。
- Software Collections
软件集合SCL存储库现在由CentOS SIG维护,因此不是严格的CentOS存储库。它包含各种程序的较新版本,可以与现有的旧软件包一起安装,并使用scl命令调用。你可以使用yum --enablerepo = extras install centos-release-scl安装的。举个例子,SCL允许你运行CentOS附带的默认python(因此在CentOS中使用yum和其他系统工具),同时还允许将新版本的python与默认python一起安装,以便使用创建和运行软件更新的要求。
3. 第三方存储库
警告:CentOS不提供也不支持这些存储库,CentOS项目无法控制这些网站。如果您正在考虑使用第三方存储库,那么您应该认真考虑如何防止这些副存档的意外“更新”覆盖CentOS的某些核心部分。
默认的base源提供的存储库软件版本比较低,在需要一些新系统特性或较新版本软件安装时会遇到种种问题,所以需要第三方库支持。
3.1 社区支持的存储库
- epel
Enterprise Linux(EPEL)存储库提供了一个创建、维护以及管理针对企业版 Linux 的高质量附加软件包集,面向的对象包括但不限于红帽企业版 Linux (RHEL)、CentOS、Scientific Linux (SL)、Oracle Linux (OL)。 EPEL 项目致力于提供优质和稳定的软件包。然而EPEL 是由志愿者所维护的,并且不提供商业支持。软件包会随着单个版本的进程加入和退出 EPEL 仓库。此外有可能偶尔一些不兼容的升级发布后需要管理员的操作。
sudo yum install -y epel-release.noarch #安装配置EPEL存储库
- elrepo
The Community Enterprise Linux Repository (ELRepo)专注于硬件相关软件包,以增强EL6和EL7中的硬件支持,这包括文件系统驱动程序,图形驱动程序,网络驱动程序,声音驱动程序,网络摄像头和视频驱动程序,以及更新的内核。有关其他详细信息,请访问该网站 http://elrepo.org 。
sduo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org (external link) #导入公钥
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm \
yum-plugin-fastestmirror # 安装配置elrepo存储库
- rpmfusion
RPMfusion Repository 为EL6和7Fedora Project或Red Hat不想发布的软件,作为所有当前Fedora版本和当前Red Hat Enterprise Linux或克隆版本的预编译RPM提供,可以使用像yum和PackageKit这样的工具来使用RPM Fusion存储库。
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
- linuxtech
LinuxTECH.NET Repositories 提供与音频/视频相关的软件包,重点是对编解码器的广泛支持以及在所有软件包中尽可能多的可选功能。存储库仅适用于CentOS 6。截至2018年5月2日最后一次检查时,主要仓库没有在2016年或2017年更新过,因此您应该谨慎使用这个包裹,因为您可能正在使用包裹已知的安全漏洞。不要试图在CentOS 7上使用这个仓库。
- nux-dextop
为EL6和7提供面向桌面和多媒体的软件包。它包含许多图形程序如Ardor,以及基于文本的应用程序如Cone。需要EPEL且但不覆盖base源。网址 http://li.nux.ro/repos.html
3.2 存在问题的存储库
以下存储库存在大量更换基础包而没有警告从而导致系统问题,如果您选择使用这些存储库,请务必格外小心或者考虑使用上述替代方法。
- Atomic Repo - (https://www.atomicorp.com/channels/)
- City-Fan
- Jason Litka
- RPMForge/RepoForge
- Webtatic Repo
4. 国内存储库镜像
国内存储库镜像如163、阿里、网易,还有各学术科研机构镜像非常多。
- 阿里镜像为例
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #先备份基础镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #安装阿里镜像,只包含基础存储库 - 社区开源软件库镜像
在清华大学开原软件镜像站 https://mirrors.tuna.tsinghua.edu.cn 中较为齐全,安装说明也很详细,自行参考。