2024年4月17日发(作者:)
附录ARPM软件管理
RPM包管理程序以GPL协议发布,REDHAT和FEDORA以及其衍生版本使用RPM管理软件。
RPM包管理程序只对RPM格式的软件包有效。RPM软件包管理程序在安装系统时预装。对用
户来讲,RPM使系统更新升级非常简单。安装、删除、升级软件包所使用的RPM命令都很短
小精悍。RPM包管理程序用数据库管理已安装的程序及其所有文件,因此,你可以查询和验
证已经安装的RPM软件包。DNF/PAKAGEKIT等程序使RPM格式的软件包管理起来更简单。
提示:DNF包管理程序提供了比RPM包管理程序同等甚至更加强大的软件管理功能。DNF总
是自动解决软件包之间的依赖。用DNF安装或删除软件时,会强制检查和保证系统的完整性,
建议在任何情况下都使用DNF代替RPM来管理软件包。
如果你更喜欢图形界面,你可以使用PACKAGEKIT的图形界面程序,这个程序也是使用DNF
来管理软件的。
升级时,RPM会很小心的处理配置,你不会丢失自定义配置信息。
对于开发者,RPM会把源码打包,这个过程非常简单,而且可以打包成单个文件也可以只打
包补丁程序,因此软件升级维护非常简单。
因为RPM能修改系统程序,因此在大数多的安装、升级、降级、删除软件包时需要ROOT权
限。
的设计目标
明白了RPM的设计目标对学会怎么用RPM很有帮助。
升级
使用RPM,你以升级单个组件而不需要重新安装。当你的FEDORA系统升级时,你不需要重
新安装新版本的FEDORA操作系统。RPM可以智能的、全自动的升级系统。另外,配置文件
在升级后仍会保留,所以也不用担心自定义设置。而且升级不需要额外的升级包,因为它可
以用安装包直接升级。
强大的查询功能
你可以查询某个软件甚至某个软件中的某个文件。RPM包中的文件实际是压缩格式,用一个
二进制头文件保存了软件包的信息及包括的文件,可以很方便的查询软件信息。
系统验证
RPM允许你验证安装到系统里的软件的所有文件是否与原文件一致。如果不一致,RPM会提
醒你,你也就可以重新安装这个软件,在重新安装过程中配置信息仍将保留。
原软件源
RPM另个重要的目标是允许你使用由原作者发布的软件源。使用RPM,你会有补丁程序和完
整的构建结构。这是很有用的。比如,如果有个软件发布了新版本,你不必重新编译。你可
以通过补丁代码查看哪些需要修改。
这个功能好象只对开发者有用,但有利于给客户提供高质量的软件。
A.2.使用RPM
RPM有5个基本功能(除构建包以外):安装、删除、升级、查询和验证。可以用RPM--HELP
或查看手册详细了解。
A.2.1安装和升级软件
RPM包名格式如下:
package_name-version-release-operating_system-CPU_
比如23.x86_包括包名(TREE),大版本号(1.7.0),小版本号(3),
操作系统版本(FC23)和CPU架构(X86_64)。
重要:当安装一个软件时,要确定这个软件与操作系统和CPU架构兼容。这个可以很容易的
通过包名来判断。比如AMD64/INDEL64位电脑的架构的软件包以x86_结尾。
-U或--upgrade选项有两个功能:
升级系统上已经存在的软件或者
安装一个新的软件,即使没有对应的低级版本。
因此既可以升级也可以安装软件,是升级还是安装取决于系统里是否
有的老版本。
假设23.x86_在当前目录下,用ROOT用户登陆后,用以下命令就可
以安装或升级tree软件包:
~]#23.x86_
提示使用-Uvh使安装过程更友好
-v和-h选项允许rpm显示更多提示信息和以#显示安装进度。
如果升级或安装成功的话,显示如下:
###########################################[100%]
1:tree
###########################################[100%]
重要:一定要使用-i(install)选项安装内核!
Rpm提供了两个选项都可安装软件包:-U,升级;-i安装。因为-U选项包括安装和升级,
因此使用rpm-Uvh升级软件包是没有问题的,但升级内核时应使用-i,不要使用-U。
你可以总是使用-i来安装新内核而不是升级。这是因为,使用-U升级内核时,会把旧内核
删除。当新内核万一有问题的话会导致系统无法启动。因此要使用-i来安装新内核,而不
要替换旧内核。
当安装或删除软件时,会自动检查签名。签名可以保证软件获得了认证,如果验证失败,会
有错误信息显示。
如果你安装软件时密钥不正确,会显示:
warning:23.x86_:HeaderV3RSA/SHA256Signature,keyID
431d51:NOKEY
A.2.1.1.如果同名的软件包已经安装,会显示:
###########################################[100%]
23.x86_64isalreadyinstalled
强行安装的话,使用--replacepkgs选项,告诉RPM忽略此错误:
~]#23.x86_
这个选项在软件已经删除或者你想使用原始的配置文件的时候有用。
如果你尝试升级到系统已安装版本低的软件,RPM会提示你新版本已经安装,如果要降版本
的话,需要使用--oldpackage选项。
rpm-Uvh--oldpackageolder_
A.2.1.2解决文件冲突
如果安装的软件中有文件已经被其它软件安装了,会显示冲突信息,--replacefiles选项
会忽略这个错误信息。
A.2.1.3解决依赖
软件包有时会依赖其它软件包,意思是说,必须安装了其它软件以后这个软件才能正常运行。
如果你试图安装一个没有解决依赖关系的软件包会显示错误信息。可以使用--whatprovides


发布评论