yum包管理器常用命令



yum源数据结构

yum仓库中配置的baseurl指向的位置并不是rpm包的位置,
指向的是yum源中的repodata索引的软件包元数据的位置

yum和rpm包管理器常用命令_yum


Centos8的yum

# centos8的yum程序实际是做了一个dnf-3 的软链接
[root@c8 ~]# ls -l /bin/yum
lrwxrwxrwx. 1 root root 5 Mar 12 2021 /bin/yum -> dnf-3


yum.conf主配置文件–配置代理

yum.conf可以配置yum代理,提高下载速度
参考 https://help.eset.com/era_deploy_va/65/zh-CN/how-to-enable-yum-command-unde.html

# centos8的yum.conf 配置文件也是一个dnf.conf的软链接
[root@c8 ~]# ls -l /etc/yum.conf
lrwxrwxrwx. 1 root root 12 Mar 12 2021 /etc/yum.conf -> dnf/dnf.conf

# 配置socks5代理,提高yum下载速度
proxy=socks5://192.168.0.130:1080
proxy_username=username
proxy_password=password

# 配置http代理
proxy=http://proxysvr.yourdom.com:3128
proxy_username=YourProxyUsername
proxy_password=YourProxyPassword


查看所有已安装软件包yum list

# 之前所有可安装的软件清单命令:
yum list

# 从软件安装列表中过滤结果
yum list | grep 软件包名

# 列出资源库中所有可以更新的rpm包
yum list updates

# 列出已经安装的所有的rpm包  
yum list installed 

# 列出已经安装的但是不包含在官方资源库中的rpm包,例如安装了epel源的rpm包会列出来
yum list extras  


查看一个软件包的依赖关系yum deplist

yum deplist 包名


查找软件包yum search

# 查找软件包命令(支持模糊查找):
yum search 包名


反查询命令在什么包中yum whatprovides

yum whatprovides 要查询的命令

yum和rpm包管理器常用命令_centos_02


反查询文件在什么包中yum provides

yum provides 要查询的文件名

[rhel8 root ~]# yum provides /usr/bin/rm

yum和rpm包管理器常用命令_yum_03


yum安装卸载更新升级

安装yum install

# 查看软件仓库,同时生成缓存
yum repolist

# 清空yum缓存
yum clean all

# 生成缓存--和yum repolist作用一样
yum makecache

# 安装
## 更新内核
yum install kernel -y

# 本地安装
yum localinstall 本地包名.rpm -y


组安装yum groupinstall

#查看软件组列表
yum group list

#安装指定的组
yum groupinstall "Chinese Support"

#安装了的组成员软件包更新  
yum groupupdate "Chinese Support"  

#安装了的组和可以安装的组一览显示
yum grouplist  

#删除指定的组
yum groupremove "Chinese Support" 

#指定组所包含的软件包显示 
yum groupinfo "Chinese Support"  

重新安装yum reinstall

yum -y reinstall 包名

# 实例
## 把rm命令删除
rm /usr/bin/rm

[rhel8 root ~]# rm
-bash: /usr/bin/rm: 没有那个文件或目录

## 查询rm命令在哪个包中
yum provides rm

## 重新安装回rm命令
yum reinstall coreutils -y

## rm命令又回来了
which rm


更新包yum update

# 更新指定软件
yum update 包名 -y

# 更新所有软件命令:
yum update


升级系统yum upgrade

# 所有可更新的软件清单命令:
yum check-update

# 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum upgrade  

# 更新软件包,自动解决依赖关系
yum upgrade --obsoletes -y


卸载yum remove

# 只卸载指定的包
yum remove 包名

# 卸载指定包并自动移除依赖包
yum autoremove 包名


# 删除软件包,以及软件包数据和配置文件
## 类似于Ubuntu的 apt autoremove --purge 包名
yum erase 包名


yum软件仓库管理yum repolist

# 列出已经配置的所有可用仓库
yum repolist -v

# 快速生成缓存
yum makecache
yum makecache fast

# 清除暂存中旧的rpm头文件和包文件
yum clean all  


查看yum命令执行记录yum histroy

# 查看yum执行记录
[rhel8 root ~]# yum history
ID | 命令行 | 日期和时间 | 操作 | 更改
------------------------------------------------------------------------------------------------------------------------
12 | install htop -y | 2021-10-05 20:20 | Install | 1
11 | groupinstall fonts -y | 2021-10-04 11:40 | Install | 41
10 | -y install xorg-x11-xauth | 2021-10-03 22:26 | Install | 2

# 查看命令记录详情
# yum history info 编号
yum history info 1


# 撤销yum执行记录--其实就是卸载
[rhel8 root ~]# yum history undo 12
上次元数据过期检查:2:32:40 前,执行于 2021年10月05日 星期二 17时48分17秒。
依赖关系解决。
========================================================================================================================
软件包 架构 版本 仓库 大小
========================================================================================================================
移除:
htop x86_64 3.0.5-1.el8 @epel 326 k

事务概要
========================================================================================================================
移除 1 软件包

将会释放空间:326 k
确定吗?[y/N]:


rpm包管理器常见用法


rpm包管理器常见用法



rpm包安装过程

# 安装前脚本--检查依赖是否满足
rpm pre script
# 安装过程中脚本
rpm install script
# 安装结束后脚本
rpm post script


安装包rpm -ivh

rpm -ivh *.rpm

# 强制安装
rpm -ivh --force *.rpm


更新包rpm -Uvh

rpm -Uvh *.rpm

# 更新 xxx.rpm, 如不存在则不安装:
rpm -Fuh xxx.rpm
# 加上--force会忽略依赖强制安装,--nodeps则可以忽略安装信息


卸载包rpm -evh

rpm -evh 包名
[rhel8 root ~]# rpm -evh net-tools
准备中... ################################# [100%]
正在清理/删除...
1:net-tools-2.0-0.52.20160912git.el################################# [100%]


查询包


查询文件属于哪个包rpm -qf(最常用)

# 查询命令(绝对路径)属于哪个包
[root@c8 ~]# rpm -qf /bin/dnf
dnf-4.4.2-11.el8.noarch

# 查询文件属于哪个包
[root@c8 ~]# rpm -qf /etc/my.cnf
mysql-community-server-5.7.35-1.el7.x86_64


查询所有已安装应用rpm -qa

# 查询所有已安装软件
rpm -qa

# 查询openssh
[root@c8 ~]# rpm -qa openssh
openssh-8.0p1-6.el8_4.2.x86_64


查看已安装的rpm包安装目录rpm -ql

rpm -ql 包名
[rhel8 root ~]# rpm -ql openssh
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/lib/.build-id
/usr/lib/.build-id/8b

# 查看已安装的rpm包安装目录rpm -qpl
rpm -qpl 包全名
[rhel8 root /mnt/cdrom/BaseOS/Packages]# rpm -qpl samba-4.13.3-3.el8.x86_64.rpm
警告:samba-4.13.3-3.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
/etc/openldap/schema
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
/usr/bin/smbstatus
/usr/lib/.build-id
/usr/lib/.build-id/03


查询包名的详细安装信息rpm -qi

-qi查询软件包的详细信息(information)

rpm -qi openssh
# 示例
[root@c8 ~]# rpm -qi openssh
Name : openssh
Version : 8.0p1
Release : 6.el8_4.2
Architecture: x86_64
Install Date: Tue 24 Aug 2021 03:57:59 PM CST
Group : Applications/Internet
Size : 1918025
License : BSD
Signature : RSA/SHA256, Fri 28 May 2021 04:07:52 AM CST, Key ID 05b555b38483c65d
Source RPM : openssh-8.0p1-6.el8_4.2.src.rpm
Build Date : Thu 27 May 2021 11:54:26 PM CST
Build Host : x86-02.mbox.centos.org
Relocations : (not relocatable)
Packager : CentOS Buildsys <bugs@centos.org>
Vendor : CentOS
URL : http://www.openssh.com/portable.html
Summary : An open source implementation of SSH protocol version 2


# 查看未安装的rpm包samba-4.13.3-3.el8.x86_64.rpm的详细信息
rpm -qpi 包全名.rpm
[rhel8 root /mnt/cdrom/BaseOS/Packages]# rpm -qpi samba-4.13.3-3.el8.x86_64.rpm
警告:samba-4.13.3-3.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
Name : samba
Epoch : 0
Version : 4.13.3
Release : 3.el8
Architecture: x86_64
Install Date: (not installed)
Group : Unspecified
Size : 2658583
License : GPLv3+ and LGPLv3+
Signature : RSA/SHA256, 2021年02月09日 星期二 08时52分49秒, Key ID 199e2f91fd431d51
Source RPM : samba-4.13.3-3.el8.src.rpm
Build Date : 2021年02月04日 星期四 12时01分32秒
Build Host : x86-037.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://www.samba.org
Summary : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and
Unix.