⚪介绍
rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.rpm扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似Windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat,centos等),可以算是公认的行业标准了。
⚪rpm包名基本格式
一个rpm包名:firefox-60.2.2-1.el7.centos.x86_64
名称:firefox
版本号:60.2.2-1
适用系统:el7.centos.x86_64 (el7是centos7)
表示centos7.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用。
⚪rpm包的简单查询指令
查询已经安装的rpm包列表中的xx包 rpm -qa | grep xx
查询选项(用 -q 或 --query):
-a,--all 查询所有包
-f,--file 查询/验证文件所属的软件包
-c, --configfiles 列出所有配置文件
-d, --docfiles 列出所有程序文档
-L, --licensefiles list all license files
--dump 转储基本文件信息
-l, --list 列出软件包中的文件
-s, --state 显示列出文件的状态
-qi, 查询软件包的标准详细信息
-ql 查询软件包里的文件
-qp xxx.rpm 获取当前目录下的rpm包相关信息
-
安装选项:
rpm -ivh 包的全路径名称 i--安装,v--详细信息,h--安装进度
升级选项:
rpm -Uvh xxx.rpm
卸载选项:
rpm -e 包名
案例:
删除Firefox软件
rpm -e firefox
细节讨论:
如果其他软件包依赖于你要卸载的包,卸载时则会产生错误。
如:rpm -e foo
removing these packages would break dependencies:foo isneeded by bar-1.0-1
如果想强制删除foo这个包,可以添加--nodeps 强制删除选项。但一般不推荐这么做,因为依赖于这个包的程序可能无法运行。
rpm -e -allmatches 包名 #删除所有跟包名匹配的所有版本的包。