软件管理yum

CentOS 使用 yum, dnf 解决rpm的包依赖关系
YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS 8 用dnf 代替了yum ,不过保留了和yum的兼容性,配置也是通用的。

1、yum/dnf 工作原理

yum/dnf 是基于C/S 模式

  • yum 服务器存放rpm包和相关包的元数据库
  • yum 客户端访问yum服务器进行安装或查询等

yum 实现过程

  • 先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关元数据文件(放置于特定目录repodata下)
  • yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

2、yum客户端配置

#yum客户端配置文件
/etc/yum.conf               #为所有仓库提供公共配置
/etc/yum.repos.d/*.repo:   #为每个仓库的提供配置文件

#repo仓库配置文件指向的定义
[repositoryID]
name=Some name for this repository
baseurl=url://path/to/repository/
enabled={1|0}
gpgcheck={1|0}
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority}
    roundrobin:意为随机挑选,默认值
    priority:按顺序访问
cost= 默认为1000

#yum服务器的baseurl形式
file:// 本地路径
http://
https://
ftp://

#yum仓库指向的路径一定必须是repodata目录所在目录

#相关变量
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
#简单配置一个本地镜像源yum文件
mount /dev/sr0 /mnt/
mkdir /iso
cp -r /mnt/* /iso/
vim /etc/yum.repos.d/centos.repo
[iso]
name=iso
gpgcheck=0
enabled=1
baseurl=file:///iso/

yum clean all
yum makecache
#可以使用阿里源或者其他国内源
https://developer.aliyun.com/mirror/
https://mirrors.tuna.tsinghua.edu.cn/

3、yum命令

dnf用法与yum一致

yum [options] [command] [package ...]

-y                             #自动回答为"yes"
-q                             #静默模式
--nogpgcheck                   #禁止进行gpg check
--enablerepo=repoidglob        #临时启用此处指定的repo,支持通配符,如:"*"
--disablerepo=repoidglob       #临时禁用此处指定的repo,和上面语句同时使用,放在后面的
                                生效
#显示仓库列表
yum repolist [all|enabled|disabled]

#显示仓库的详细信息
yum repolist -v

#显示程序包
yum list
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]

#查看已经安装的包
yum list installed|head

#查看可安装的包
yum list available |head

#查看可以升级的包
yum list updates

#查看指定的包
yum list mysql

#支持通配符
yum list mysql*

#只下载相关的依赖包,而不安装
#/data/目录如果不存在,会自动创建
yum -y install --downloadonly --downloaddir=/data/httpd httpd

#卸载
yum remove | erase package1 [package2] [...]

#升级和降级
yum check-update
yum upgrade|update [package1] [package2] [...]
yum upgrade-minimal   #最小化升级
yum downgrade package1 [package2] [...] (降级)

#查询包信息
yum info [...]

#以指定的关键字搜索程序包名及summary信息
yum search string1 [string2] [...]

#查看指定包所依赖的capabilities
yum deplist package1 [package2] [...]

#清除目录/var/cache/yum/缓存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

#构建缓存
yum makecache

#查看yum事务历史
#yum 执行安装卸载命令会记录到相关日志中
#CentOS 7以前版本日志
/var/log/yum.log
#CentOS 8 版本日志
/var/log/dnf.rpm.log
/var/log/dnf.log
yum history [info|list|packages-list|packages-info|summary|addoninfo|redo|undo|rollback|new|sync|stats]

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享