RPM是什么?

RPM是 RPM Package Manager 缩写, 由红帽开发用于软件包的安装升级卸载与查询

RPM软件包命名规则

name:软件包名称
version::版本号, 主版本, 重大更新. 次版本, 子功能更新. 修订号, 修复bug
release:发布版本 el6, el7 (hostnamectl)
arch:系统平台, i386、x86_64(hostnamectl) 32位还是64位

RPM命令

安装

-i:安装
-h:显示安装进度
-v:显示信息
-vv:显示详细信息
--force:忽略软件包及文件的冲突
--test:测试是否能够安装成功
--nodeps:忽略依赖关系
--replacepkgs:强制重新安装已经安装的软件包
--replacefiles:替换属于其它软件包的文件
--replacepkgs:强制重新安装已经安装的软件包
--noscripts:不运行预安装和后安装脚本
--ftpproxy:用作为 FTP代理
--ftpport:指定FTP的端口号为

删除

-e:删除
--test:只执行删除的测试
--noscripts:不运行预安装和后安装脚本程序
--nodeps:不检查依赖性

升级

-U:升级
--test :进行升级测试
--force:强制重新安装
--force:忽略软件包及文件的冲突
--nodeps:不检查依赖性关系
-F --freshen:如果软件包已经安装,升级软件包

查询

-q:查看指定软件包是否安装
-qa:查看系统中已安装的所有RPM软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表 查询已安装软件信息
-qc:查询指定软件包的配置文件
-qd:查询指定软件包的帮助文档 man手册
-qf:查询文件或目录属于哪个RPM软件
-q --scripts:查询rpm包安装前和安装后执行的脚本
-qip:查询未安装的rpm包详细信息
-qlp:查询未安装的软件包会产生哪些文件
--dump:显示每个文件的所有已校验信息

效验已安装的软件包

-V
-f:校验所属的软件包
-a:Verify 校验所有的软件包
-g:校验所有属于组 的软件包
--noscripts:不运行校验脚本
--nodeps:不校验依赖性
--nofiles:不校验文件属性

效验软件包中的文件

-K
--nopgp:不校验GPG签名

其它RPM选项

--rebuilddb:重建RPM资料库
--initdb:创建一个新的RPM资料库
--quiet:尽可能的减少输出
--help:显示帮助文件
--version:显示RPM的当前版本

RPM安装

某些RPM包安装是会有报错()

[root@dmxsp opt]# rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.30-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 
error: Failed dependencies:
mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.30-1.el7.x86_64
mysql-community-common(x86-64) = 5.7.30-1.el7 is needed by mysql-community-server-5.7.30-1.el7.x86_64

报错如何解决

[root@dmxsp opt]# rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-server-5.7.30-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-5.7.30-1.e################################# [100%]

RPM删除

[root@dmxsp ~]# rpm -evh tree
Preparing... ################################# [100%]
Cleaning up / removing...
1:tree-1.6.0-10.el7 ################################# [100%]

RPM升级

[root@dmxsp opt]# rpm -Uvh mysql-community-server-5.7.30-1.el7.x86_64.rpm mysql-community-server-8.0.26
-1.el7.x86_64.rpm --force --nodepswarning: mysql-community-server-5.7.30-1.el7.x86_64.rpm: Header V3 DSA/SHA1 
Signature, key ID 5072e1f5: NOKEY
warning: package mysql-community-server-5.7.30-1.el7.x86_64 was already added, replacing with 
mysql-community-server-8.0.26-1.el7.x86_64
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-8.0.26-1.e################################# [ 50%]
Cleaning up / removing...
2:mysql-community-server-5.7.30-1.e################################# [100%]

RPM查询

[root@dmxsp ~]# rpm -q tree
tree-1.6.0-10.el7.x86_64
[root@dmxsp ~]# rpm -qa  tree
tree-1.6.0-10.el7.x86_64
[root@dmxsp ~]# rpm -qi tree
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: Thu 19 May 2022 06:00:26 PM +08
Group : Applications/File
Size : 89505
License : GPLv2+
Signature : RSA/SHA256, Fri 04 Jul 2014 01:36:46 PM +08, Key ID 24c6a8a7f4a80eb5
Source RPM : tree-1.6.0-10.el7.src.rpm
Build Date : Tue 10 Jun 2014 03:28:53 AM +08
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://mama.indstate.edu/users/ice/tree/
Summary : File system tree viewer
Description :
The tree utility recursively displays the contents of directories in a
tree-like format. Tree is basically a UNIX port of the DOS tree
utility.
[root@dmxsp ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@dmxsp ~]# rpm -qc mysql-community-server
/etc/logrotate.d/mysql
/etc/my.cnf
[root@dmxsp ~]# rpm -qd tree
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@dmxsp ~]# rpm -qf /bin/tree
tree-1.6.0-10.el7.x86_64
[root@dmxsp ~]# rpm -qip /opt/mysql-community-devel-8.0.26-1.el7.x86_64.rpm
warning: /opt/mysql-community-devel-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 
Signature, key ID 5072e1f5: NOKEY
Name : mysql-community-devel
Version : 8.0.26
Release : 1.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/Databases
Size : 48648235
License : Copyright (c) 2000, 2021, Oracle and/or its affiliates. Under GPLv2 
license as shown in the Description field.
Signature : DSA/SHA256, Fri 02 Jul 2021 02:49:01 AM +08, Key ID 8c718d3b5072e1f5
Source RPM : mysql-community-8.0.26-1.el7.src.rpm
Build Date : Thu 01 Jul 2021 04:54:44 PM +08
Build Host : pb2-el7-14.appad3iad.mysql2iad.oraclevcn.com
Relocations : (not relocatable)
Packager : MySQL Release Engineering <mysql-build@oss.oracle.com>
Vendor : Oracle and/or its affiliates
URL : http://www.mysql.com/
Summary : Development header files and libraries for MySQL database client applications
Description :
This package contains the development header files and libraries necessary
to develop MySQL client applications.
[root@dmxsp ~]# rpm -qlp /opt/mysql-community-devel-8.0.26-1.el7.x86_64.rpm
warning: /opt/mysql-community-devel-8.0.26-1.el7.x86_64.rpm: Header V3 DSA/SHA256 Signature, 
key ID 5072e1f5: NOKEY
/usr/bin/mysql_config
/usr/bin/mysql_config-64
/usr/include/mysql
/usr/include/mysql/errmsg.h
/usr/include/mysql/field_types.h
/usr/include/mysql/my_command.h
/usr/include/mysql/my_compress.h
/usr/include/mysql/my_list.h
/usr/include/mysql/mysql
/usr/include/mysql/mysql.h
/usr/include/mysql/mysql/client_plugin.h
/usr/include/mysql/mysql/plugin_auth_common.h
/usr/include/mysql/mysql/udf_registration_types.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysqld_error.h
/usr/include/mysql/mysqlx_ername.h
/usr/include/mysql/mysqlx_error.h
/usr/include/mysql/mysqlx_version.h
/usr/lib64/mysql/libmysqlclient.a
/usr/lib64/mysql/libmysqlclient.so
/usr/lib64/mysql/libmysqlservices.a
/usr/lib64/pkgconfig/mysqlclient.pc
/usr/share/aclocal/mysql.m4
/usr/share/doc/mysql-community-devel-8.0.26
/usr/share/doc/mysql-community-devel-8.0.26/LICENSE
/usr/share/doc/mysql-community-devel-8.0.26/README
/usr/share/man/man1/mysql_config.1.gz

RPM包校验

[root@dmxsp ~]# >/usr/bin/tree
[root@dmxsp ~]# rpm -V tree
S.5....T. /usr/bin/tree
S:文件的容量大小是否被改变
M:文件的类型或者文件的属性是否被修改
5:MD5这一种指纹加密的内容已经不同 文件内容变化
D:装置的主/次代码已经改变
L:路径已经被改变
U:文件的所属主已被修改
G:文件的所属组已被修改
T:文件的修改时间已被改变

作者 dmxsp

发表回复

您的电子邮箱地址不会被公开。