文本关键字:Linux、软件管理、RPM工具、软件依赖node
RPM的全称是:Red Hat Package Manager,是RPM软件包管理器。在Linux系统中对应命令是rpm,咱们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此以外还包括和Red Hat最亲近的CentOS,以及其余一些主流发行版:SuSE、Fedora等。数据库
在进行软件查询时,适用rpm工具只能查询到以rpm软件包形式安装的软件信息,解压和编译安装的软件没法查询到信息。vim
(1)查询已安装的软件信息数组
(2)查询未安装的软件信息
该操做主要是在软件包安装以前进行详细信息的查询,因此传入的参数是一个存在的软件包的路径。bash
使用-V能够验证软件包的正确性。网络
- V:verify的简写
(1)经常使用命令ide
(2)信息标识工具
校验信息的后半部分显示对应的目录或文件,前半部分用大写字母表示产生变更的项目。3d
软件包的卸载须要使用root用户来执行,必须完整提供卸载软件包的名称,能够先经过筛选查询获取。code
在进行卸载操做时,可能有其余软件依赖于此软件,卸载后可能会致使其余软件不可用,若是存在依赖关系,则会显示依赖信息,若是执意要删除,可使用忽略依赖的选项:--nodeps。
rpm -e --nodeps vim-enhanced
软件包的安装须要使用root用户来执行,安装前通常会先查询已安装的相关软件,并卸载与之冲突的软件。
在进行软件安装时,可能系统当中缺乏某个依赖,致使没法正常安装,可使用--force选项进行强制安装,但没法保证安装后可以正常使用。常规的解决办法是先安装须要的依赖软件包,再安装该软件,或者使用yum工具。
rpm -ivh 软件包完整路径:经常使用命令,安装一个软件,显示详细信息和进度(用#表示)
与安装相似,使用root用户操做来操做,升级某一软件。
因为在升级时,旧版本的软件可能已经安装,也可能从未安装,针对这种状况,提供了两个参数。
F表示:若是对应的软件包原来未安装,则放弃安装
(1)RPM数据库维护
若是本机的RPM数据库损坏,可能会致使没法正确的读取依赖关系,导致没法正常执行rpm相关功能,此时可使用--initdb选项。
rpm --initdb
(2)签名验证
当下载了一个软件后,若是咱们没法确保它的来源,以及是否被篡改,则须要使用相应的GPG文件。通常在光盘镜像、网络镜像中均可以找到该文件,使用--import命令导入,在安装软件时会自动生效。
rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-6