rpm的一些简单用法
rpm参数详解
- -i 安装软件包(–install)
- 可选附带参数:
- –nodeps 不验证软件包的依赖
- –force 强制安装,即使覆盖其他包的文件也要安装
- -v 可视化,提供更多的详细信息的输出
- -h 显示安装进度
- -a 查询所有已经安装的软件包
- -f 查询文件所属于的软件包
- -q 查询软件包(通常用来看下还未安装的软件包,注意,查询时不需要带包名后缀,只需命令名,如rpm -q tree)
- -l 显示软件包的文件列表
- -e 卸载指定软件包(注意,卸载时需要指定具体包名后缀,如 rpm -e tree-1.7.0-1.30.x86_64)
- -U 升级软件包,很少用
- 常用组合:
- -ivh 安装指定rmp包并显示安装进度
- -qa 查询所有已经安装的软件包
- -qi 查询软件包安装信息
- ql 显示软件包的文件列表
- -qf 查询文件所属的文件包
查询系统所有已安装的rpm包
#rpm -qa qa=query all缩写
查询touch包是哪个软件包安装的
[root@localhost ~]# which touch
/usr/bin/touch
[root@localhost ~]# rpm -qf /usr/bin/touch
coreutils-8.22-15.el7.x86_64
列出安装包的安装清单
[root@localhost ~]# rpm -ql coreutils-8.22-15.el7.x86_64
显示安装包的详细属性
[root@localhost ~]# rpm -qi coreutils-8.22-15.el7.x86_64 注:i=infortion
Name : coreutils
Version : 8.22
Release : 15.el7
Architecture: x86_64
Install Date: Sun 06 Mar 2022 12:33:56 PM CST
Group : System Environment/Base
Size : 14581114
License : GPLv3+
Signature : RSA/SHA256, Wed 25 Nov 2015 10:22:25 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : coreutils-8.22-15.el7.src.rpm
Build Date : Fri 20 Nov 2015 01:36:57 PM CST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.gnu.org/software/coreutils/
Summary : A set of basic GNU tools commonly used in shell scripts
Description :
These are the GNU core utilities. This package is the combination of
the old GNU fileutils, sh-utils, and textutils packages.
rpm安装vsftp软件包
[root@localhost ~]# ls /mnt/Packages/ | grep vsftp 注:/mnt/Packages/光盘镜像挂载及软件包存放目录
vsftpd-3.0.2-22.el7.x86_64.rpm vsftpd-sysvinit-3.0.2-22.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm 注:安装vsftp的rpm软件包
警告:/mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装... 1:vsftpd-3.0.2-22.el7 ################################# [100%]
安装失败需要解决依赖关系示例
[root@localhost ~]# rpm -ivh /mnt/Packages/vim-enhanced-7.4.160-4.el7.x86_64.rpm 警告:/mnt/Packages/vim-enhanced-7.4.160-4.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 错误:依赖检测失败: vim-common = 2:7.4.160-4.el7 被 vim-enhanced-2:7.4.160-4.el7.x86_64 需要
注:安装软件包失败,需要依赖关系(红色部分)
[root@localhost ~]# rpm -ivh --force /mnt/Packages/vim-common-7.4.160-4.el7.x86_64.rpm 警告:/mnt/Packages/vim-common-7.4.160-4.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:vim-common-2:7.4.160-4.el7 ################################# [100%]
注:安装缺失的依赖包/mnt/Packages/vim-enhanced-7.4.160-4.el7.x86_64.rpm以解决以来关系 --force强制解决依赖关系
[root@localhost ~]# rpm -ivh --force /mnt/Packages/vim-enhanced-7.4.160-4.el7.x86_64.rpm 警告:/mnt/Packages/vim-enhanced-7.4.160-4.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:vim-enhanced-2:7.4.160-4.el7 ################################# [100%]
解决依赖关系后重新安装,安装成功
查看软件包安装的详细信息(针对软件包名的查询)
[root@localhost]#rpm -qpi /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
查看软件包会安装的内容(针对软件包名的查询)
[root@localhost]#rpm -qpl /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
卸载软件包示例
[root@localhost ~]# rpm -evh vsftpd 准备中... ################################# [100%] 正在清理/删除... 1:vsftpd-3.0.2-22.el7 ################################# [100%]