20.rpm包管理
rpm基本介绍
-
介绍:rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.rpm扩展名的文件。rpm是RedHat Package Manager(RedHat软件工具包)的缩写,类似windows的setup.exe,这一文件格式虽然打上了RedHat的标志,但理念是通用的。Linux的分发版本都有采用,算是公认的行业标准。
-
指令:rpm -qa | grep xxx 【查询已安装的rpm列表】
rpm包名基本格式
- 一个rpm包名:firefox-60.2.2-1.el7.centos.x86_64
- 名称:firefox
- 版本号:60.2.2-1
- 适用操作系统:el7.centos.x86_64
- x86_64表示64位系统
- 如果是i686、i386表示32位系统,noarch表示通用
rpm包的其他查询指令
- rpm -qa 【查询所安装的所有rpm软件包】
- rpm -qa | more
- rpm -qa grep X
- rpm -q 软件包名 【查询软件包是否安装】
- 案例:rpm -q firefox
- rpm -qi 软件包名 【查询软件包信息】
- 案例:rpm -qi firefox
- rpm -ql 软件包名 【查询软件包红的文件】
- 案例:rpm -ql firefox
- rpm -qf 文件全路径名 【查询文件所属的软件包】
- 案例:rpm -qf /etc/passwd
- 案例:rpm -qf /root/install.log
卸载rpm包
-
语法:rpm -e RPM包的名称 【e是erase】
-
# 删除firefox软件包 rpm -e firefox
-
细节讨论
-
如果其他软件包依赖于要卸载的软件包,卸载时则会产生错误信息。
如:rpm -e foo
removing these packages would break dependencies: foo is needed by bar-1.0-1
-
如果执意删除foo这个软件包,可以增加参数--nodeps就可以强制删除,但一般不推荐这样做,可能会导致依赖于该软件包的程序无法运行
如:rpm -e --nodeps foo
-
安装rpm包
-
语法:rpm -ivh RPM包全路径名称
-
参数说明
- i = install 安装
- v = verbose 提示
- h = hash 进度条
-
# 卸载firefox rpm -e firefox # 安装firefox rpm -ivh /opt/firefox-60.2.2-1.el7.centos.x86_64