CentOS RPM包
1、RPM是什么:RPM是Red Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,算是一种行业标准,它是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,.rpm扩展迷宫的文件都可以用RPM工具进行管理。
2、RPM有什么功能:安装、卸载、升级和管理软件,组件查询功能,验证功能,软件包GPG和MD5数字签名的导入、验证和发布,软件包依赖处理,选择安装,网络远程安装功能。
安装rpm软件包
1、安装本地包:rpm ivh 完整路径和名称。i:安装rpm包。v:显示详细的处理信息。h:用#显示安装进度。force:强制安装。
2、安装光盘中的包:yum安装的时候我们配置本地yum源的路径就是光盘的挂载目录,但是我们也可以使用rpm去安装光盘里的软件包。
3、安装网络上的包:如果本地有这个软件包的话我们直接rpm安装即可,如果本地没有,那我们也不用下载到本地安装,可以直接使用rpm后面跟网络地址就可以安装了。
4、导入签名:有一种情况:安装包的时候虽然成功了但是提示了警告,原因是因为没有检查签名,签名存放的位置:/etc/pki/rpmgpg,因为ntfs3g是来自epel源,所以匹配的签名是epel7这个签名,rpm import:导入签名。
卸载rpm软件包
rpm e 后面跟软件包的名字即可。
解决软件包的依赖
用rpm管理软件包的时候,不管是安装还是卸载都会遇到一个核心的问题,那就是它不负责解决依赖性关系,不像yum自动安装依赖包,rpm需要手动解决依赖关系的问题。
1、安装:–nodeps:忽略依赖关系(不建议使用),所以这就是为什么rpm包安装的时候需要先安装依赖包的原因了。
2、卸载:卸载的时候也会遇到因为依赖的问题而无法卸载的问题,如果是用yum卸载的话,yum会将存在依赖关系的包一起卸载!。
查询rpm软件包
1、已安装软件包:查询已安装的软件包是从本地rpm数据库中查找的,本地rpm数据库:/var/lib/rpm,rpm q 软件名。#查询已安装的软件包,rpm qi 软件名。#查询已安装的软件包的详情,rpm qc 软件名。#查询已安装的软件包的配置文件,rpm ql 软件名。#查询已安装的软件包所有在系统中安装的文件,rpm qd 软件名。#查询已安装的软件包的帮助文件,rpm qf 路径。#查询已安装的软件是由哪个安装包安装的,rpm qa。#查询系统中所有已安装的软件包。
2、未安装软件包:未安装的软件包的信息是从这个软件包中查询的,所以后面必须跟路径和具体名称,rpm qpi 具体软件包名称。#查询未安装软件包的详情,rpm qpR 完整软件包。#查询未安装软件包所需要的依赖包,和查询已安装软件包的命令是一样的,只需要在选项中加上p就是查询未安装的,如:rpm qpl 等。
升级rpm软件包
rpm U 完整软件包名称。#升级rpm软件包,rpm F 完整软件包名称。#更新rpm软件包,两者的不同在于F 更新软件包,如果未安装过软件,则放弃更新U 升级软件包,如果未安装过软件,则安装软件。
RPM的优缺点
优点:不需要配置,只要有软件包就可以安装,缺点:需要确定系统的版本,架构找到匹配的软件包,安装前需要确定所需要的依赖包并且都要先下载安装好。
FAQs
1、为什么使用RPM而不是YUM?:尽管RPM是一个强大的工具,但它不会自动解决依赖关系,这可能会导致复杂的手动操作,通常建议使用YUM或DNF来管理软件包,因为它们会自动处理依赖关系并简化流程。
2、如何确保RPM包的安全性?:在安装RPM包之前,应确保这些包来自可信的来源,并且已经通过GPG或其他方式进行了签名验证,这样可以防止恶意软件被安装在系统上。