rpm包管理器详细教程文档-全系列
RPM(Red Hat Package Manager)是一种用于管理软件包的工具,最初由Red Hat开发并广泛用于基于Red Hat的Linux发行版中。它是一种包管理系统,用于在Linux系统上安装、升级、卸载和查询软件包。
安装
格式:
rpm {-i|--install} [install-options] PACKAGE_FILE…
选项:
-v: verbose
-vv:
-h: 以#显示程序包管理执行进度
常用组合:
rpm -ivh PACKAGE_FILE ...
rpm包安装[install-options]
--test: 测试安装,但不是真正的去执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs | replacefiles
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本 --nopre
%post: 安装后脚本 --nopost
%preun: 卸载前脚本 --nopreun
%postun: 卸载后脚本 --nopostun
升级和降级
rpm包升级
rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
rpm {-F|--freshen} [install-options] PACKAGE_FILE...
对应选项:
upgrade:安装如果有旧版程序包,就会"升级",不存在旧版程序包的话,就会"安装"
freshen:安装如果有旧版程序包,则"升级", 不存在旧版程序包的话,不执行升级操作
--oldpackage:降级
--force: 强制安装
常用组合
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
包查询
rpm {-q|--query} [select-options] [query-options]
[select-options]
-a:所有包
-f:查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作
[query-options]
--changelog:查询rpm包的changelog
-c:查询程序的配置文件
-d:查询程序的文档
-i:information
-l:查看指定的程序包安装后生成的所有文件
--scripts:程序包自带的脚本
--last 最后安装的包
--changelog 安装包的变更历史
#和CAPABILITY相关
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
--provides:列出指定程序包所提供的CAPABILITY
-R,--requires 查询指定的程序包所依赖的CAPABILITY
常用查询用法:
-qa
-q PACKAGE
-qi PACKAGE
-qc PACKAGE
-ql PACKAGE
-qd PACKAGE
-q --scripts PACKAGE
-qf FILE
-qpi PACKAGE_FILE
-qpl PACKAGE_FILE, ...
范例: 查看最近安装的包
rpm -qa --last|head
包卸载
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test]
PACKAGE_NAME ...
范例:卸载mysql包
rpm -e mysql
包校验
在安装包时,系统也会检查包的来源是否是合法的
检查包的完整性和签名
rpm -K|--checksig rpmfile
在检查包的来源和完整性前,必须导入所需要公钥
数据库维护
rpm包安装时生成的信息,都放在rpm数据库中
/var/lib/rpm
可以重建数据库
rpm {--initdb|--rebuilddb}
initdb: 初始化数据库,不存在数据库的话,就会去重新新建,不然不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录
版权申明
本文系作者 @亦秋先生 原创发布在亦秋先生博客站点。未经许可,禁止转载。
暂无评论数据