CentOS 官方 yum 资料
yum 官网
EPEL 官网
EPEL 清华镜像
1. yum 概述
yum(Yellow dog Updater,Modified)是所有版本的 CentOS 中使用的默认软件包管理器,用于从 CentOS 官方和第三方仓库中安装和更新软件包。
yum 是在 Fedora、RedHat 和 CentOS 中基于 rpm 的软件包管理器,能够从指定的服务器自动下载 RPM 包并且安装、自动处理依赖性关系并一次安装所有依赖的软体包。
1.1 切换为国内 yum 源
将 yum 源设置为国内的163,可以提升下载速度。
安装步骤:
- 首先备份 /etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载对应版本repo文件, 放入
/etc/yum.repos.d/
(操作前请做好相应备份)运行以下命令生成缓存
yum clean all
yum makecache
2. EPEL 概述
红帽系 Linux (RHEL、Fedora、CentOS)在安装软件时,如果报错:No package nginx available. Error: Nothing to do,则多半是没有安装 EPEL。
2.1 EPEL 是什么
企业版 Linux 附加软件包(EPEL)是一个 Fedora 特别兴趣小组,用以创建、维护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的对象包括但不限于:红帽企业版 Linux (RHEL)、CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。
EPEL 的软件包通常不会与企业版 Linux 官方源中的软件包发生冲突,或者互相替换文件。EPEL 项目与 Fedora 基本一致,包含完整的构建系统、升级管理器、镜像管理器等等。
2.2 如何获取 EPEL 的软件包
EPEL 包含一个叫做 ‘epel-release’ 的包,其中包含了用于软件包签名的 gpg 密钥和软件源的信息。安装这个包到您的企业版 Linux 上之后,您将可以通过使用类似于 yum 的工具来安装软件包和它们的依赖。在默认情况下,EPEL 仓库的稳定版本是开启的。除了 epel-release 源,还有一个叫做 ‘epel-testing’ 仓库 包含尚未被视作稳定的软件,请自行斟酌开启的风险。
CentOS 用户可以直接通过 yum install epel-release
安装并启用 EPEL 源。如果不行,则可以通过 RPM 安装(这个链接用于 CentOS7,对于 CentOS6 直接把下面的 7 换成 6 即可):
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
3. 使用 yum
3.1 语法:
yum [options] [command] [package ...]
3.2 选项:
-h:帮助信息。
-y:在所有需要交互的地方自动输入“yes”,通常用于自动化安装。
-c:指定配置文件。
-q:安静模式,此时没有任何输出。
-v:详细模式 verbose,此时会输出详尽信息。
-d:设置调试等级(0-10)。
-e:设置错误等级(0-10)。
-R:设置 yum 处理一个命令的最大等待时间。
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
3.3 参数:
install:安装
update:更新
check-update:检查是否有可用于更新的 rpm 软件包
remove:删除指定软件包
list:列出软件包的信息
search:在仓库中搜索指定的软件包
info:显示指定的 rpm 软件包的描述信息和概要信息
clean:清理过期的缓存
3.4 常见用法
1. 自动搜索最快镜像插件
必备软件:
yum install yum-fastestmirror
2. 列出所有可更新的软件清单
yum check-update
3. 更新
更新所有软件:
yum update
更新指定的软件:
yum update <package_name>
4. 安装指定的软件
yum install <package_name>
5. 删除软件包
yum remove <package_name>
6. 查找软件包
yum search <package_name>
7. 查看软件包的信息
yum info <package_name>
8. 清除缓存
清除缓存目录下的软件包:
yum clean packages
清除缓存目录下的 headers:
yum clean headers
清除缓存目录下旧的 headers:
yum clean oldheaders
清除缓存目录下的软件包及旧的headers:
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
9. 查看所有以 php 开头的软件包
yum list php*
10. 从指定仓库安装软件
yum install nginx --enablerepo=epel