系统小窝欢迎您

电脑公司 深度技术
当前位置:系统小窝 > 系统教程 > Linux教程 >

CentOS系统中RPM软件包操作指南

时间:2021-04-09 来源:来了老弟 人气:

在Linux系统操作中,常见的软件包管理系统有RPM和YUM,使用它们能够对Linux系统进行管理,今天小编要给大家介绍的是CentOS系统中RPM软件包的管理,感兴趣的朋友可以来了解下。

在Linux发行版中,几乎每一个发行版都有自己的软件包管理系统。常见的有deb软件包的dpkg以及它的前端apt(适用于debian、Ubuntu等)。rpm以及它的前端yum(适用于RedHat系列的系统)。

RPM,全称RPM Package Manager,是由Red Hat推出的软件包管理系统,现在在各种发行版中普遍适用。

RRM软件包是将程序源代码经过编译和封装以后形成的包文件,在软件包里面会封装软件的二进制程序、配置文件、帮助手册、库文件以及头文件等。RPM包的结构如下图所示:

RPM软件包的安装与卸载:

# rpm [options] /path/to/rpmfile

option:

-i|--install:安装指定软件

-v|--verbose:显示安装过程

-e|--erase:卸载指定的软件

-h|--hash:以#的方式显示安装进度条,一个#为2%

--nodeps:忽略依赖关系

--test:测试安装

-U:升级+安装(如果之前有安装则升级,如果之前没有安装则安装)

-F:升级(如果之前有安装则升级,如果之前没安装则不做任何操作)

--replacepkgs:重新安装软件包

--force:在软件包的安装或升级过程中,如果出现某个文件已经安装或者某一个软件已经安装时

可以使用--force选项强制安装,等同于--replacepkgs --replacefiles --oldpackage同时使用

常用的软件包安装选项为:

#rpm -ivh /path/to/rpmfile

# rpm -Uvh /path/to/rpmfile

示例 1:

RPM软件包验证:

RPM包使用gpg非对称加密机制,可以验证包的完整性和来源的合法性。

# rpm --import PUBKEY:rpm使用--import导入软件包提供者制作的公钥,可以自动进行软件包的验证

#rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE:rpm可以使用-K或--checksig选项对软件包进行来源和完整性的验证,--nosignature选项是指不进行来源合法性验证,--nodigest选项是指不进行完整性验证

示例 2:

RPM查询:

# rpm {-q|--query} [select-options] [query-options] [PACKAGE_NAME|PACKAGE_FILE]

常用select-option:

-a|--all:将已安装的所有包显示在屏幕上(Query all installed packages )

# rpm -qa

-f|--file FILE:根据指定的文件显示出该文件由哪一个包生成(Query package owning FILE)

-p|--package PACKAGE_FILE:根据指定的软件包文件,搭配query-option选项可查询未安装的包信息。

常用query-option:

-l|--list:列出该软件包安装后需要生成的所有文件( List files in package)

-i|--info:显示软件包的信息,包括名称、版本和描述

(Display package information, including name, version and description)

-c|--configfiles:仅显示-l选项列出文件中的配置文件(List only configuration files (implies -l))

-d|--docfiles:仅显示-l选项列出文件中的文档或帮助手册(List only documentation files (implies -l))

--scripts:显示该软件包在安装或卸载前后需要运行的脚本

(List the package specific scriptlet(s) that are used as part of the installation and uninstallation

processes)

示例 3:

RPM校验:

RPM还提供了对软件包生成的文件进行校验的功能(可针对文件大小、权限、MD5、修改时间等进行校验),当没有任何改变时候,显示9个lsquo;-rsquo;,如果某一项发生改变则在相应位显示标识符,各标识符代表含义如下:

S文件大小发送改变(file Size differs)

M文件权限发生改变(Mode differs (includes permissions and file type))

5文件MD5值发送改变(digest (formerly MD5 sum) differs)

D装置的主/次代码发生改变(Device major/minor number mismatch)

L 路径发生改变(readLink(2) path mismatch)

U属主发生改变(User ownership differs)

G属组发生改变(Group ownership differs)

T修改时间发生改变(mTime differs)

P能力发生改变(caPabilities differ)

# rpm {-V|--verify} PAKCAGE_NAME

示例 4:

备注:这个是我在/etc/lftp.conf文件末尾新增了一行后的校验结果

RPM包数据库:

RPM软件包有一个本地的数据库(在/var/lib/rpm目录下),RPM包的安装、升级和删除都会更新数据库的信息。但是当数据库损坏之后,软件包的更新卸载就会出现错误。现在只需要将数据库重建就可以解决问题,如下图所示:

示例 5:

上面就是CentOS系统中RPM软件包管理的介绍了,包括RPM软件包的安装、卸载、校检、数据库都做了详细介绍,以便你对RPM软件包的管理有更详细的了解。

相关文章

  • CentOS如何使用FPM制作RPM包

    CentOS如何使用FPM制作RPM包

    在Linux系统中,RPM包的制作是很困难的,其实使用工具就能快速制作RPM包,简单易学,下面小编就给大家介绍下Linux使用FPM制作RPM包的方法,感兴趣的朋友可...
    2021-04-09 09.04.13

发表评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。