rpm包管理

rpm包管理

⚪介绍

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          查询所有包,查询包全名,可以查询软件包是否已安装。

yum qa | grep 软件名

-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  包名  #删除所有跟包名匹配的所有版本的包。

posted @ 2021-08-24 20:54  echo-123  阅读(50)  评论(0编辑  收藏  举报