在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 是最为常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本中。
Linux软件包管理器主要用于管理Linux系统中的软件包,其主要用于实现安装、卸载、升级等功能,并提供对系统中所有软件包状态信息的查询。
RPM 最开始官方解释为:“Redhat Package Manager”,由 Red Hat 公司制定实施,由于被 GNU 开源操作系统接受并成为很多Linux 系统(RHEL) 的既定软件标准,其很多分支都使用其来作为软件安装的管理方式,包括 Fedora, CentOS, SUSE 等等,之后RPM被官方解释为:“Rpm is Package Manager”,其前端工具为yum。
与RPM并驾齐驱的是基于Debian 操作系统 (UBUNTU) 的 DEB 软件包管理工具-DPKG,全称为 Debian Package,功能方面与 RPM 相似。最早是由 Debian Linux 群所开发出来的, 只要是Debian系列衍生的 分支系统,大多使用 dpkg 这个机制来管理软件的, 包括B2D, Ubuntu 等等,其前端工具为apt-get。
Linux的软件包,主要有两种,一种是文件名形如Name-VERSION.tar.gz以源码的形式发布,一种是已经编译好的文件名类似于Name-VERSION-release.arch.rpm的二进制程序包。
下面主要介绍下rpm软件管理工具的常用参数和使用方法。
(1)RPM软件包的安装
以安装mysql57-community-release-el6-7.noarch.rpm为例:
其中参数-i是表示安装,参数-v表示安装时要显示安装信息,-h表示安装时显示安装的进度,通常这三个参数是一起组合起来使用的。
在安装RPM包时可能会遇到以下问题:
①重复安装问题:当要安装的软件包的某些文件已经在安装其他软件包时安装过了时,可以通过 –replacefiles参数来替换属于其他软件包的文件;
如果安装RPM软件包发生冲突时,可以通过 –replacepkgs参数强制重新安装。
(2)RPM软件包的升级
例如,要把当前系统中的postfix-2.6.6-6.el6_5.x86_64升级为postfix-2.10.1-6.0.1.el7.centos.x86_64.rpm,则可执行如下命令:
(3)RPM软件包的查询
①查询当前系统中安装的全部RPM软件包: # rpm -qa |more (为便于浏览具体内容,建议结合管道操作符)
②查询某个RPM软件包是否安装:
③查询软件包的说明信息:
-i, –info:查询程序包软件相关的信息,版本 、大小、所属的包组,等信息;
以查看mysql57-community-release软件包的描述信息为例:
④查询软件包内所有包含的文件名称列表:
-l, –list:程序安装生成的所有文件列表;
以查询htop软件包含有哪些文件,以及这些文件都安装在什么位置为例:
⑤查询某个文件属于哪个RPM包:
以查询/etc/fstab目录是属于哪个RPM软件包安装的为例:
⑥其他的查询情况
–whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;
–whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
–provides:列出指定的程序包提供的所有的CAPABILITY;
-R, –requires:查询指定的程序包的依赖关系;
验证时使用-V参数检查软件包中的组件是否与原始软件包的组织签名相同。
(1)软件包在安装过程中会自动用已经导入的的公钥,对程序包进行检验,一般无需进行手动校验。但是如果没有给系统中导入相应的秘钥文件,则会 NO KEY等信息提示。
(2)管理员人为的手动操作进行验正:rpm -K PACKAGE_FILE
①要验证下载的postfix-2.10.1-6.0.1.el7.centos.x86_64.rpm软件包,可用以下命令:
②要验证已经安装的postfix-2.10.1-6.el7.x86_64软件包,可用以下命令:
③ 当你感觉到你的系统好像不对劲,怀疑有人已经突破了你的系统防御。确定此事是否发生的途径之一就是检查你的系统上软件包安装生成的文件有没有变化,通常只有root才能检查整个系统文件的完整性,要验证所有已经安装的软件包,可用以下命令:
常见的校验错误码含义:
(5)RPM软件包的删除
rpm -e参数卸载时,默认如果正常卸载是不会输出任何信息的,在linux中,no news is good news!所以如果确实想看到卸载过程信息,可以加vv参数。
例如,要删除htop软件包,可通过以下命令:
(6)RPM- 数据库重建:
如果rpm数据库损坏或误删除,可以参考RPM Guide。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树k8s包管理(helm)安装helm8587 人正在系统学习中 相关资源:最强劲的加密软件TrueCrypt_Setup_7.1a_最强劲的越野车- 络攻防…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!