xunweidezui

linux软件管理之yum管理操作软件包

什么是rpm
1.1`RPM` 全称 `RedHat Package Manager` 缩写,由红帽开发用于软件包的安装、升级、卸载与查询。
1.2rpm包名组成部分
`RPM` 包命名以-将软件分成了若干部分 `bash-4.2.46-28.el7.x86_64.rpm`
1.3怎么获取rpm包
在刚开始学习rpm包,建议先从本地镜像中获取 `rpm` 但实际生产环境中大多数是通过联网方式获取 `rpm` 包,或者搭建企业私有包管理仓库平台
1.4其他类型的按照包
rpm包 预先编译打包,安装简单
源码包 手动编译打包,安装繁琐
二进制包 解压即用,安装简单
yum基本操作
1.什么是yum
`yum/dnf` 是 `RedHat` 及 `CentOS` 系统中的软件包管理器。它能够通过互联网下载 `.rpm` 格式包进行安装,并能自动处理其依赖间关系,无须繁琐地一次次下载安装。
2.什么是yum源
要使用 `yum` 命令工具安装更新软件,需要有一个包含各种 `rpm` 软件包的仓库,这个软件仓库我们一般称为 `yum` 源。当然这个源可以是本地仓库、也可以是网络仓库。如图所示:

client --ftp/http/file->   yum地址 --->yum仓库(rpm包集合)
3.yum配置文件
#centos8
cat /etc/yum.conf
[main]
gpgcheck=1                          # 检查来源是否合法,需要有制作者的公钥信息
installonly_limit=3                 # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制
clean_requirements_on_remove=True   # 删除包时,是否将不再使用的包删除
best=True                           # 升级时,自动选择安装最新版,即使缺少包的依赖
skip_if_unavailable=False

#centos7

vim /etc/yum.cnf
cachedir=/var/cache/yum/$basearch/$releasever   # 缓存目录
keepcache=0                 # 缓存软件包,1启动 0 关闭
debuglevel=2                # 调试级别
logfile=/var/log/yum.log    # 日志记录位置
exactarch=1                 # 检查平台是否兼容
obsoletes=1                 # 检查包是否废弃
gpgcheck=1                  # 检查来源是否合法,需要有制作者的公钥信息
plugins=1
installonly_limit=5         # 同时可以安装5个软件包、最小为2,设置为0或者1则不限制

# metadata_expire=90m   #每小时手动检查元数据
# in /etc/yum.repos.d   #包含repos.d目录中的.repo文件
配置yum源
系统默认的源是国外提供,需要替换为国内的源

1.配置阿里 `yum` 源

# wget -O /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.aliyun.com/repo/Centos-7.repoyum的日常使用
1.使用dnf/yum list 查询所有仓库中的软件包
yum list
yum list | grep httpd

2.使用 `dnf/yum list installed` 查询所有已安装至系统中的软件包 dnf list installed

3.使用 `dnf/yum provides` 查询系统命令来自于哪个软件包 rpm -qf $(which cd) bash-4.2.46-31.el7.x86_64 # PS: rpm需要知道命令的绝对路径, 如果不存在该命令是无法查找到该命令所属的软件包 # yum provides cd #范例 # yum provides zabbix 已加载插件:fastestmirror Repository base is listed more than once in the configuration Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * elrepo: mirrors.neusoft.edu.cn zabbix30-3.0.31-1.el7.x86_64 : Open-source monitoring solution for your IT infrastructure 源 :epel 匹配来源: 提供 :zabbix = 3.0.31-1.el7 zabbix40-4.0.27-1.el7.x86_64 : Open-source monitoring solution for your IT infrastructure 源 :epel 匹配来源: 提供 :zabbix = 4.0.27-1.el7
4.yum安装软件包
yum install -y httpd

5.yum更新软件包
#更新http软件
yum update httpd -y

6.yum删除软件包
yum remove httpd -y

7.yum管理仓库
#列出 dnf/yum repolist 源可用的软件仓库
yum repolist
yum repolist all

8.yum管理历史记录
当我们删除了某个软件时,希望撤销删除的操作,可以使用 yum history undo

删除http软件
yum remove httpd
yum history

使用 dnf/yum history undo Number 撤销
yum history info N
yum history undo N


9.yum缓存软件包
1.缓存rpm包方式一、通过修改 dnf/yum 全局配置文件
vim /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 # 启动缓存
[root@magedu.com ~]# yum install lrzsz -y
[root@magedu.com ~]# find /var/cache/yum/ -type f -name "*.rpm"

 

2.缓存rpm包方式二,通过 dnf/yum下载该软件包至本地,不进行安装

yum install httpd -y \
--downloadonly \
--downloaddir=/opt

3.如果缓存的数据包太多,可以使用yum/dnf清楚缓存

# 清理所有yum缓存信息,包括缓存的软件包

yum clean all

#仅清理所有缓存的软件包

yum clean packages

 

分类:

linux

技术点:

相关文章: