Linux常用命令-rpm

命令

rpm

描述

RPM Package Manager
rpm软件包管理工具

用法

1
rpm [OPTION...]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Options:
-q 查询
-i 安装
-U 升级
-e 删除

查询子选项:
-a 查询所有软件包
-f 查询指定命令或文件属于哪个软件包
-p 查询软件包中有哪些文件
-c 显示所有配置文件
-d 显示所有文档文件
-L 显示所有license文件
-l 显示包中的所有文件
-s 显示所有文件的类型
--whatrequires 查询依赖关系
--whatprovides 查询哪个软件包提供了指定命令或文件

安装,升级,删除子选项:
--excludedocs 安装时排除文档文件
--force 强制安装,等同于--replacepkgs --replacefiles
--ignorearch 不要验证包的架构
--ignoreos 不要验证包的操作系统版本
--ignoresize 安装前不要检查系统磁盘空间
--nodeps 忽略包依赖关系
--noscripts 不要执行软件包中的脚本
--nocollections 不收集任何信息
--percent 安装过程显示百分比
--prefix=<dir> 指定安装路径,部分软件包不支持指定安装路径
--replacefiles 忽略包之间的文件冲突
--replacepkgs 如果包已存在则重新安装
--test 仅测试不安装
--reinstall 重新安装软件包

注意

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 查询是否安装了指定软件包
$ rpm -qa net-tools
net-tools-2.0-0.25.20131004git.el7.x86_64
# 查询killall命令是哪个软件包提供的,注意需要指定绝对路径
$ rpm -qf /bin/killall
psmisc-22.20-17.el7.x86_64
# 查询指定rpm包的文件列表
$ rpm -qpl mysql-community-client-5.7.33-1.el7.x86_64.rpm
/usr/bin/mysql
/usr/bin/mysql_config_editor
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/share/doc/mysql-community-client-5.7.33
/usr/share/doc/mysql-community-client-5.7.33/LICENSE
/usr/share/doc/mysql-community-client-5.7.33/README
/usr/share/man/man1/mysql.1.gz
/usr/share/man/man1/mysql_config_editor.1.gz
/usr/share/man/man1/mysqladmin.1.gz
/usr/share/man/man1/mysqlbinlog.1.gz
/usr/share/man/man1/mysqlcheck.1.gz
/usr/share/man/man1/mysqldump.1.gz
$ rpm -q --whatrequires bash
dracut-033-572.el7.x86_64
initscripts-9.49.53-1.el7_9.1.x86_64
lvm2-2.02.187-6.el7_9.3.x86_64
rsyslog-8.24.0-57.el7_9.x86_64
bash-completion-2.1-8.el7.noarch
bash-completion-extras-2.1-11.el7.noarch
# 查询哪个软件包提供了vim这个命令
$ rpm -q --whatprovides vim
vim-enhanced-7.4.629-8.el7_9.x86_64
# 查询chrony软件包的配置文件
$ rpm -qc chrony
/etc/chrony.conf
/etc/chrony.keys
/etc/logrotate.d/chrony
/etc/sysconfig/chronyd
# 查询chrony的文档文件
$ rpm -qd chrony
/usr/share/doc/chrony-3.4/COPYING
/usr/share/doc/chrony-3.4/FAQ
/usr/share/doc/chrony-3.4/NEWS
/usr/share/doc/chrony-3.4/README
/usr/share/man/man1/chronyc.1.gz
/usr/share/man/man5/chrony.conf.5.gz
/usr/share/man/man8/chronyd.8.gz

# 安装软件包
$ rpm -ivh /tmp/mysql80-community-release-el7-3.noarch.rpm
# 删除软件包,注意部分配置文件会保留,重命名为.rpmsave
$ rpm -e mysql80-community-release
warning: /etc/yum.repos.d/mysql-community.repo saved as /etc/yum.repos.d/mysql-community.repo.rpmsave