Linux命令之rpm命令
⼀、命令介绍
  rpm(英⽂全拼:redhat package manager) 原本是 Red Hat Linux 发⾏版专门⽤来管理 Linux 各项套件的程序,这⼀⽂件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采⽤,由于它遵循 GPL 规则且功能强⼤⽅便,因⽽⼴受欢迎,可以算是公认的⾏业标准了。RPM 套件管理⽅式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适⽤度。
  RPM主要功能
安装、卸载、升级和管理软件
组件查询功能
验证功能
软件包GPG和MD5数字签名的导⼊、验证和发布
软件包依赖处理
选择安装
⽹络远程安装功能
⼆、命令使⽤⽰例
1、查询是否安装某软件包
使⽤rpm -qa查询安装的软件包
[root@test1 opt]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
2、获取rpm包全名
此⽅法要求查询的名称是正确的,即名称后只缺版本号信息
[root@test1 gmond]# rpm -q ganglia
ganglia-3.7.2-33.el7.x86_64
[root@test1 gmond]# rpm -q ganglia-gmetad
ganglia-gmetad-3.7.2-33.el7.x86_64
3、查询rpm包安装位置
[root@test1 gmond]# rpm -ql ganglia-gmetad
/etc/ganglia
/etc/f
/usr/lib/systemd/system/gmetad.service
/usr/sbin/gmetad
/usr/share/man/man1/
linux在线命令查询平台
/usr/share/man/man1/gmetad.
/var/lib/ganglia
/
var/lib/ganglia/rrds
4、查询命令所属rpm包的全名
使⽤rpm -qf `which 命令名称`查询命令所属软件包的全名
[root@test1 gmond]# rpm -qf `which chronyd`
chrony-3.4-1.el7.x86_64
rpm -qif `which 命令名称` #返回软件包的有关信息
rpm -qlf `which 命令名称` #返回软件包的⽂件列表
5、正常安装rpm包
使⽤rpm -ivh正常安装软件包
[root@test1 gmond]# rpm -ivh apr-1.4.8-7.el7.x86_64.rpm
Preparing… >>>>>>### [100%]
package apr-1.4.8-7.el7.x86_64 is already installed
5、忽略rpm包的依赖直接安装
使⽤rpm -ivh --nodeps忽略依赖包安装
[root@test1 gmond]# rpm -ivh ganglia-gmond-3.7.2-33.el7.x86_64.rpm
warning: ganglia-gmond-3.7.2-33.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY error: Failed dependencies:
ganglia = 3.7.2-33.el7 is needed by ganglia-gmond-3.7.2-33.el7.x86_64
libganglia.so.0()(64bit) is needed by ganglia-gmond-3.7.2-33.el7.x86_64
[root@test1 gmond]# rpm -ivh --nodeps ganglia-gmond-3.7.2-33.el7.x86_64.rpm
warning: ganglia-gmond-3.7.2-33.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing… >>>>>>### [100%]
Updating / installing…
1:ganglia-gmond-3.7.2-33.el7 >>>>>>### [100%]
6、忽略rpm包依赖和报错强制安装
使⽤rpm -ivh --nodeps --force强制安装
此⽅法不建议使⽤,⼀般报错原因是强制安装的包与现有其他rpm包有冲突,强制安装可能会导致现有的程序出错。
7、升级rpm包
[root@test1 gmond]# rpm -Uvh ganglia-3.7.2-33.el7.x86_64.rpm
warning: ganglia-3.7.2-33.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing… >>>>>>### [100%]
Updating / installing…
1:ganglia-3.7.2-33.el7 >>>>>>### [100%]
8、正常卸载rpm包
使⽤rpm -e正常卸载软件包
[root@test1 gmond]# rpm -qa |grep gmond
ganglia-gmond-3.7.2-33.el7.x86_64
[root@test1 gmond]# rpm -e ganglia-gmond-3.7.2-33.el7.x86_64
[root@test1 gmond]# rpm -qa |grep ganglia-gmond
9、强制卸载rpm包
使⽤rpm -e --nodeps强⼒卸载rpm包
[root@test1 ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
三、命令参数说明
-a  查询所有套件。
-b<;完成阶段><;套件档>+或-t <;完成阶段><;套件档>+  设置包装套件的完成阶段,并指定套件档的⽂件名称。-c  只列出组态配置⽂件,本参数需配合"-l"参数使⽤。
-d  只列出⽂本⽂件,本参数需配合"-l"参数使⽤。
-e<;套件档>或–erase<;套件档>  删除指定的套件。
-f<⽂件>+  查询拥有指定⽂件的套件。
-h或–hash  套件安装时列出标记。
-i  显⽰套件的相关信息。
-i<;套件档>或–install<;套件档>  安装指定的套件档。
-l  显⽰套件的⽂件列表。
-p<;套件档>+  查询指定的RPM套件档。
-q  使⽤询问模式,当遇到任何问题时,rpm指令会先询问⽤户。
-R  显⽰套件的关联性信息。
-s  显⽰⽂件状态,本参数需配合"-l"参数使⽤。
-
U<;套件档>或–upgrade<;套件档> 升级指定的套件档。
-v  显⽰指令执⾏过程。
-vv  详细显⽰指令执⾏过程,便于排错。
-addsign<;套件档>+  在指定的套件⾥加上新的签名认证。
–allfiles  安装所有⽂件。
–allmatches  删除符合指定的套件所包含的⽂件。
–badreloc  发⽣错误时,重新配置⽂件。
–buildroot<;根⽬录>  设置产⽣套件时,欲当作根⽬录的⽬录。
–changelog  显⽰套件的更改记录。
–checksig<;套件档>+  检验该套件的签名认证。
–clean  完成套件的包装后,删除包装过程中所建⽴的⽬录。
–dbpath<;数据库⽬录>  设置欲存放RPM数据库的⽬录。
–dump  显⽰每个⽂件的验证信息。本参数需配合"-l"参数使⽤。
–excludedocs  安装套件时,不要安装⽂件。
–excludepath<;排除⽬录>  忽略在指定⽬录⾥的所有⽂件。
–force  强⾏置换套件或⽂件。
–ftpproxy<;主机名称或IP地址>  指定FTP代理服务器。
–ftpport<;通信端⼝>  设置FTP服务器或代理服务器使⽤的通信端⼝。
–help  在线帮助。
–httpproxy<;主机名称或IP地址>  指定HTTP代理服务器。
–httpport<;通信端⼝>  设置HTTP服务器或代理服务器使⽤的通信端⼝。
–ignorearch  不验证套件档的结构正确性。
–ignoreos  不验证套件档的结构正确性。
–ignoresize  安装前不检查磁盘空间是否⾜够。
–includedocs  安装套件时,⼀并安装⽂件。
–initdb  确认有正确的数据库可以使⽤。
–justdb  更新数据库,当不变动任何⽂件。
–nobulid  不执⾏任何完成阶段。
–nodeps  不验证套件档的相互关联性。
–nofiles  不验证⽂件的属性。
–nogpg  略过所有GPG的签名认证。
–nomd5  不使⽤MD5编码演算确认⽂件的⼤⼩与正确性。
–nopgp  略过所有PGP的签名认证。
–noorder  不重新编排套件的安装顺序,以便满⾜其彼此间的关联性。
–noscripts  不执⾏任何安装Script⽂件。
–notriggers  不执⾏该套件包装内的任何Script⽂件。
–oldpackage  升级成旧版本的套件。
–percent  安装套件时显⽰完成度百分⽐。
–pipe<;执⾏指令>  建⽴管道,把输出结果转为该执⾏指令的输⼊数据。
–prefix<⽬的⽬录>  若重新配置⽂件,就把⽂件放到指定的⽬录下。
–prefix<⽬的⽬录>  若重新配置⽂件,就把⽂件放到指定的⽬录下。
–provides  查询该套件所提供的兼容度。
–queryformat<;档头格式>  设置档头的表⽰⽅式。
–querytags  列出可⽤于档头格式的标签。
–rcfile<;配置⽂件>  使⽤指定的配置⽂件。
–rebulid<;套件档>  安装原始代码套件,重新产⽣⼆进制⽂件的套件。
–rebuliddb  以现有的数据库为主,重建⼀份数据库。
–recompile<;套件档>  此参数的效果和指定"–rebulid"参数类似,当不产⽣套件档。–relocate<;原⽬录>=<;新⽬录>  把本来会放到原⽬录下的⽂件改放到新⽬录。
–replacefiles  强⾏置换⽂件。
–replacepkgs  强⾏置换套件。
–requires  查询该套件所需要的兼容度。
–resing<;套件档>+  删除现有认证,重新产⽣签名认证。
–rmsource  完成套件的包装后,删除原始代码。
–rmsource<⽂件>  删除原始代码和指定的⽂件。
–root<;根⽬录>  设置欲当作根⽬录的⽬录。
–scripts  列出安装套件的Script的变量。
–setperms  设置⽂件的权限。
–setugids  设置⽂件的拥有者和所属组。
–short-circuit  直接略过指定完成阶段的步骤。
–sign  产⽣PGP或GPG的签名认证。
–target=<;安装平台>+  设置产⽣的套件的安装平台。
–test  仅作测试,并不真的安装套件。
–timecheck<;检查秒数>  设置检查时间的计时秒数。
–triggeredby<;套件档>  查询该套件的包装者。
–triggers  展⽰套件档内的包装Script。
–verify  此参数的效果和指定"-q"参数相同。
–version  显⽰版本信息。
–whatprovides<;功能特性>  查询该套件对指定的功能特性所提供的兼容度。
–whatrequires<;功能特性>  查询该套件对指定的功能特性所需要的兼容度。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论