这是我参与11月更文挑战的第 9 天,活动详情查看:2021最后一次更文挑战
yum(Yellowdog Updater Modified):是一个基于 RPM 的软件包管理器,能够从指定服务器自动下载RPM包并且安装,可以处理软件之间的依赖关系,一次性安装所有依赖的软件包,无需一个个下载安装。
工作原理示意图
yum
客户端及服务器的工作原理如下图所示
yum 的配置文件
配置文件所在目录:/etc/yum.repos.d
1 | ini复制代码# vim /etc/yum.repos.d/alios.repo |
x.repo
文件相关配置 key
简介:
- 1、[alios.7u2.base.$basearch]: 仓库的ID,可以取任意名字,只要不和其他的ID冲突即可
- 2、name=xxx: 用于描述容器含义
- 3、enabled={1|0}: 是否启用这个仓库,0表示不启用,1表示启用,默认是启用的
- 4、mirrorlist: 列出这个容器可以使用的镜像站点(如果不想使用,可以注释,本案例中没有体现)
- 5、baseurl=url: 容器地址,mirrorlist 是由 yum 程序自行找镜像站点,baseurl 则是指定一个固定容器地址
- 6、gpgcheck={1|0}: 是否进行签名合法性检测,0 表示不启用,1表示启用,如果选择启用 gpg 检查,则需要告知其 key 是什么
- 7、gpgkey=url: 如果启用 gpg 检测,则需要指定 gpgkey 的路径,即使导入过 gpgkey,这里仍然需要手动为其指定路径,这个路径可以是远程服务器上的,也可以是本地的,只要让本地客户端访问到即可
如果两个仓库里的 RPM 包是一样的,一个在远程服务器上,另一个在本地光盘上,那么本地光盘的访问速度通常会快于远程服务器上。在配置文件中,我们可以定义这样的两个仓库,为其中一个设定优先级
注: gpgme.GpgmeError: (7, 32870, u’\ufffd\ufffd\ufffd\u8c78\ufffd\ufffd\ufffd\u02b5\ufffd\ufffd\ufffd ioctl \ufffd\ufffd\ufffd\ufffd’) #如果执行报这个错,表示当前系统字符编码不支持 Unicode,改一下就好**
配置 yum 数据源
默认情况下 yum
使用的源都是国外的地址,那我们如果期望下载速度更快一些时,就可以考虑使用国内的一些源,比如 aliyun
提供的, 以配置 docker
yum
数据源为例:
1 | bash复制代码$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
然后就可以在 /etc/yum.repos.d/
下看到 docker-ce.repo
1 | ini复制代码$ sudo cat docker-ce.repo |
yum 的一些基本功能
yum 基本功能主要包括:查询、删除、更新/升级以及软件组等
查询
yum 查询有以下几种姿势,这里挨个举例。
yum search xxx
搜索某个软件名称或者描述的重要关键字
1 | yaml复制代码$ yum search java |
yum info xxx
列出软件功能(不太方便透露的信息,以 xxxx 代替了)
1 | ruby复制代码$ yum info docker\ |
yum list
列出 yum 服务器上面所有的软件名称,这里就不列了(下面一个是按规则搜的)
yum list xxxx*
找出以 xxx 开头的软件名称
1 | csharp复制代码$ yum list docker |
yum list updates
列出 yum 服务器上可提供本机进行升级的软件(返回的信息是 yum list 的子集,这里也不举例了)
安装 or 升级
- yum install/update 软件名称
- yum install 软件名称 -y #安装过程中免输入y确认
删除
- yum remove 软件名称
软件组
- yum grouplist //查看容器和本机上可用与安装过的软件组
- yum groupinfo group_name //查看group内所有组名称
- yum install/remove group_name //安装与删除
除此之外,如果我们想升级所有的软件包,可以通过如下方式搞定
- yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级
- yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
已经上线的用yum -y upgrade 比较稳,全新的用yum -y update 会更好
参考
本文转载自: 掘金