yum (全称 Yellow dog Update)命令是 RedHat 和 Fedora 以及 SUSE 中基于 rpm 软件包管理器. 全称 Yellowdog Updater,Modified. 起初是由 yellow dog 这一发行版的开发者 Terra Soft 研发, 用 python 写成, 那时还叫做 yup(yellow dog updater), 后经杜克大学的[email protected] 开发团队进行改进, 遂有此名. yum 可以交互和自动化地更新与管理 rpm 软件包, 能够从指定的 yum 存储仓库自动下载 rpm 包并安装, 可以自动处理依赖性关系. 提供查找, 安装, 删除, 更新等操作命令.
1 检查和更新软件包
可以列出软件包, 整体更新软件包, 个体更新软件包
1.2 检查系统上已安装的软件包是否有可用的更新
yum check-update
例如: yum check-update 部分输出如下:
1.2.1 更新软件包
可以单个软件包, 多个, 全部更新, 如果更新的包的任何依赖项本身有更新可用, 那么依赖的软件包也会被更新.
更新单个软件包
yum update package_name
类似的更新包组
yum group update group_name
更新所有包及依赖项.
yum update
2 查找包及获取相关信息
Yum 使您能够对软件包执行完整的操作集, 包括搜索软件包, 查看有关软件包的信息, 安装和删除.
2.1 根据包名查找
yum search package_name1 package_name2 ...
2.2 列出所有已安装和可用的包的信息
yum list all
2.3 列出所有已安装的包
- yum list installed
- # 或列出指定名字的包
- yum list installed *VIM*
2.4 列出所有可安装的已启用存储库中的所有包
yum list available
3 列出 yum 仓库信息
列出系统上每个启用的存储库的存储库 ID, 名称和包的数量
yum repolist
列出更详细的存储库信息, 存储库大小, 存储库链接地址, 存储库配置文件等
- yum repolist -v
- yum repoinfo
列出禁用和启用的存储库: yum repolist all, 也可以针对启用状态和禁止状态进行过滤: yum repolist disabled,yum repolist enabled
4 显示软件包信息
包括显示软件包的大小, 官网 URL, 描述, 来源存储库, 版本号. 类似 rpm -q --info package_name 命令.
yum info package_name
显示软件包的其它信息
这个命令提供了额外的信息, 包括包的校验和(算法用于生产, 如 sha - 256), 在命令行上给出的命令被调用安装包(如果有的话),reason=user 表明它是由用户安装, reason=dep 意味着它被引入作为一个依赖项
yumdb info package_name
5 yum 包组
包组是服务于一个公共目的的包的集合, 例如系统工具或声音和视频. 安装包组将获取一组相关的包, 从而大大节省了时间. yum 组命令是一个顶级命令, 它涵盖了在 yum 中作用于包组的所有操作.
smmary 参数用于查看已安装组, 可用组, 可用环境组以及已安装和可用语言组的数量:
yum groups summary
列出存储库中所有包组
yum groups list
列出特定组中包含的包信息
等于 yum groupinfo group_name
yum group info group_name
每个包组都有一个名称和一个组 ID (groupid). 列出所有包组的名称及其组 id(显示在括号中)
安装包组, 可以通过将包组的完整组名 (不包含 groupid 部分) 传递给组安装命令来安装包组.
yum group install "group name"
也可以通过 groupid 进行安装
yum group install groupid
移除包组
- yum group remove "group name"
- 6 yum history
yum history 命令查看 yum 事务的时间轴, 发生的日期和时间, 受影响的包的数量, 这些事务是成功还是中止, 以及事务之间是否更改了 RPM 数据库. 此外, 此命令可用于撤消或重做某些事务. 所有的历史数据都存储在 / var/lib/yum/history / 目录的历史数据库中.
查看 yum 的历史操作记录
yum history list all
也可以根据 ID 仅显示指定范围
yum history list start_id..end_id
查看某个 id 的详细信息, 包括执行的命令, 安装更新的软件包, 执行时间等.
yum history info id
yum history 重复或取消某个历史操作
重复执行指定的 id, 该命令将重复执行该 id 的命令
yum history redo id
取消某个历史 id 的, 如果该 id 是执行安装软件包的命令, 那么将 remove 掉该软件包
yum history undo id
将事务历史存储在单个 SQLite 数据库文件中. 启动新的事务历史记录文件
yum history new
7 yum 的配置文件
yum 的配置文件分为两部分: main 和 repository
main 部分定义了全局配置选项, 整个 yum 配置文件应该只有一个 main. 常位于 / etc/yum.conf 中.
repository 部分定义了每个源 / 服务器的具体配置, 可以有一到多个. 常位于 / etc/yum.repo.d 目录下的各文件中.
/etc/yum.conf 配置参数说明
assumeyes=value
提示确认操作, 默认是 0. 如果是 1, 则当 yum install package_name 等命令时则不会提示确认操作. 这个过程不用输入 "y" 确认安装.
cachedir=directory
yum 存储其缓存和数据库文件的目录.
debuglevel=value
yum 生成的调试输出的详细信息. value 是 1 到 10 之间的整数. 设置更高的调试级别值将导致 yum 显示更详细的调试输出. debuglevel=2 是默认值, 而 debuglevel=0 禁用调试输出.
exactarch=value
默认 1 表示开启, 在更新包时考虑准确的体系结构. 通过此设置, yum 不会安装用于 32 位体系结构的包来更新已经安装在系统上的具有 64 位体系结构的包.
gpgcheck=value
默认 gpgcheck=1, 在所有存储库中的所有包上启用 GPG 签名检查, 包括本地包安装. 启用 gpgcheck 后, 将检查所有包的签名. 在对应的. repo 文件中为单个存储库设置 gpgcheck=value 将覆盖默认值(如果它位于 / etc/yum. conf 中).
keepcache=value
默认 0, 安装成功后, 不要保留标题和包的缓存. 1: 成功安装后保留缓存.
logfile=value
默认 / var/log/yum.log, 日志输出保存位置. 记录软件包更新, 安装, 移除等.
plugins=value
plugins=1 全局启用所有 yum 插件. 仍然可以通过在插件的配置文件中设置 enabled=0 来禁用特定的 yum 插件.
repository 配置说明
在 [repository] 部分中, repository 是惟一的存储库 ID, 如 my_personal_repo(不允许使用空格), 允许您定义单独的 yum 存储库. 位置 / etc/yum.repos.d/*
repo 配置参数实例
- [[email protected] ~]# cat /etc/yum.repos.d/CentOS-Base.repo
- [base]
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
- [updates]
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
- [extras]
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
- gpgcheck=1
serverid 是用于区别各个不同的 repository, 必须有一个独一无二的名称;
name 是对 repository 的描述, 支持像 $releasever $basearch 这样的变量;
baseurl 是服务器设置中最重要的部分, 只有设置正确, 才能从上面获取软件. 它的格式是:
如果存储库通过 HTTP 可用, 请使用: http://path/to/repo
如果存储库在 FTP 上可用, 请使用: ftp://path/to/repo
如果存储库是机器本地的, 那么使用: file:///path/to/local/repo
如果特定的在线存储库需要基本的 HTTP 身份验证, 则可以通过将用户名和密码前缀为 URL 来指定用户名和密码: http://user:[email protected]/repo/
通常这个 URL 是一个 HTTP 链接: baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
8 yum-config-manager 添加 yum 仓库
yum-config-manager 命令需要安装 yum-utils 软件包.
添加第三方 yum 源仓库
[[email protected] ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件: fastestmirror
- adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
- repo saved to /etc/yum.repos.d/docker-ce.repo
仅下载不安装:
yum install --downloadonly --downloaddir=/tmp lrzsz
来源: http://www.bubuko.com/infodetail-3255044.html