rpm安装、卸载、查询软件包
程序员文章站
2022-07-13 21:39:30
...
在linux系统上需要安装各种各样的依赖软件包,如果机器可以联网,那么还是比较方便的,但是如果不能联网,只能手工下载安装各种软件包,也是挺醉的,安装某个软件包A,A可能依赖于其它B1~B3个软件包,而每个Bx又可能依赖于其它Cx~Cx个软件包,简直没完没了。
那么如果采取最笨的方法逐个下载,逐个安装,也是需要了解在CentOS系统下如何安装rpm包吧。
首先下载对应的rpm软件包,可以在centos.pkgs.org上下载, 基本都能够覆盖,而且还会给出每个软件包的依赖关系。
在centos上搜索下载软件包时,最好限制搜索的范围,如下图所示(比如搜索opencv包时,限制distribution为 CentOS7):
准备好rpm的安装包之后就是如何安装这些包了。
1. 查询
rpm -q xxx.xx.xx
- 可以查询是否安装了某个安装包。查询时需要使用安装包的完整名称(可以不包括版本号,加上完整的版本号也是可以的)
比如对于 opencv-2.4.5-3.el7.x86_64.rpm安装包,查询语句可以如下:
rpm -q opencv
rpm -q opencv-2.4.5-3
- 但对于opencv-devel-2.4.5-3.el7.x86_64.rpm,则需要使用下面的查询语句
rpm -q opencv-devel
rpm -q opencv-devel-2.4.5-3
- 查询时,也可以一次性查询系统上所有的安装包
rpm -qa
2. 安装/更新
rpm -i xxx.xx.xx
- 该命令可以用于安装rpm包,但如果在系统已经安装了其它版本的软件包,直接安装则会提示冲突。因此需要更新该rpm包,使用软件包的更新命令
rpm -U xxx.xx.xx
- 注意:是大写的U
3. 卸载
rpm -e xxx.xx.xx
- 该命令用于卸载rpm的软件包,如果卸载的软件包不被其它的软件依赖,那么可以直接卸载,否则是卸载不了的,会一直提示该软件包被xxx.xx.xx等依赖。如果一定要卸载,那么可以强制卸载软件包,命令如下:
rpm -e --nodeps xx.x.xxx