01-yum 简介

yum 简介

yum(Yellow dog Updater, Modified)是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。(PS: YUM是生产最佳实践)。

要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源)

yum 特点有

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

yum 命令

用 YUM 安装删除软件 yum install xxx,yum 会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。删除的命令是,yum remove xxx,同安装一样,yum 也会查询数据库,给出解决依赖关系的提示。

  • 安装软件包

    yum install

  • 删除软件包

    yum remove

  • 查找软件包

    yum search

  • 列出所有可安装的软件包

    yum list

  • 列出所有可更新的软件包

    yum list updates

  • 列出所有已安装的软件包

    yum list installed

  • 列出所有已安装但不在 Yum Repository 內的软件包
    yum list extras

  • 使用 YUM 获取软件包信息

    yum info

  • 列出所有可更新的软件包信息

    yum info updates

  • 列出所有已安裝的软件包信息

    yum info installed

  • 列出所有已安裝但不在 Yum Repository 內的软件包信息

    yum info extras

  • 列出软件包提供哪些文件

    yum provides

yum 配置文件

yum 的配置文件为 /etc/yum.comf。内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[main]      # 这是yum的全局性设置。默认一般不必改动。
cachedir=/var/cache/yum # yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum
keepcache=0 # 0 表示不保存下载的文件,1 表示保存下载的文件,默认为不保存
debuglevel=2 # debuglevel:除错级别,0──10,默认是 2 貌似只记录安装和删除记录
logfile=/var/log/yum.log # 指定 yum 的日志文件,默认是/var/log/yum.log。
pkgpolicy=newest # 包的策略,一共有两个选项,newest和last。如果配置多了 yum 源,同一软件在不同的 yum 源中有不同版本,
# newest 则安装最新版本,一般为 newest
# lastest 则 yum 会将服务器上 ID 按照字母序排列,选择最后那个服务器上的软件安装
distroverpkg=centos-release # 指定一个软件包,yum 会根据这个包判断你的发行版本,默认是 redhat-release,也可以是安装的任何针对自己发行版的 rpm 包。
tolerant=1 # tolerent,有 1 和 0 两个选项,表示 yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3 三个包,而其中 3 此前已经安装了,如果你设为 1,则 yum 不会出现错误信息。默认是 0。
exactarch=1 # exactarch,有两个选项 1 和 0,代表是否只升级和你安装软件包 cpu 体系一致的包,如果设为 1,则如你安装了一个 i386 的 rpm,则 yum 不会用 i686 的包来升级。
retries=20 # retries,网络连接发生错误后的重试次数,如果设为 0,则会无限重试。
obsoletes=1
gpgcheck=1 # gpgchkeck,有 1 和 0 两个选择,分别代表是否是否进行 gpg 校验,如果没有这一项,默认是检查的。
plugins=1 # 是否启用插件,默认 1 为允许,0 表示不允许
reposdir=/etc/yy.rm # 默认是 /etc/yum.repos.d/ 下的 xx.repo 后缀文件默认都会被include 进来。也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个,每个里面有多少个[name]最后其实都被整合到一个里面看了,重复的[name]是前面覆盖后面的--还是后面的覆盖前面的呢?enabled 测试是后面覆盖前面
exclude=xxx # exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
keepcache=[1 or 0] # 设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为keepcache=0 不保存
reposdir=[包含 .repo 文件的目录的绝对路径] # 该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)中

yum 仓库配置文件位置在 /etc/yum.repos.d,名字可以随便定义,扩展名必须是.repo

1
2
3
4
5
6
7
[base]          # 名称,中括号一定要存在,里面的名字可随便取,但是不能重复。
name=base # 意义,随便写都可以
baseurl=ftp://192.168.0.6/pub/Server # YUM 源地址,这个很重要。其中url支持的协议有 http:// ftp:// file://三种,后面可以跟多个url
http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
enabled=1 # 是否启动,=0 则不启动,不启动就无法使用该源
gpgcheck=0 # 是否验证. 可不要
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release # 验证的密钥. 可不要

01-yum 简介
https://flepeng.github.io/002-Linux-13-包管理-01-yum-01-yum-简介/
作者
Lepeng
发布于
2021年7月5日
许可协议