RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。
RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件。
一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的。所以被打包的二进制应用程序的组成部分除了二进制文件以外还包括库文件、配置文件(可以实现软件的一些设置)、帮助文件。RPM保留一个数据库,这个数据库中包含了所有的软件包的资料,通过这个数据库,用户可以进行软件包的查询。
RPM包管理的配置文件是rpmrc,可以使用如下命令进行查找
# locate
rpmrc
可以通过如下命令进行查看
rpm
–showrc
具体命令:
rpm
-i –instal 安装
–test 检测
–nodeps 忽略依赖性关系直接安装
-v 显示详细信息
-vv 显示更详细信息
-h 显示进度
-ivh rpm包名
–test: 测试安装,但不真正执行安装,即dry run模式
–nodeps:忽略依赖关系
–replacepkgs 已安装过的包重装。
–replacefiles 其他已安装的RPM包的文件,与即将装的RPM中的文件冲突时,则覆盖文件并安装。
–nosignature: 不检查来源合法性
–nodigest:不检查包完整性
–noscripts:不执行程序包脚本
%pre: 安装前脚本; –nopre
%post: 安装后脚本; –nopost
%preun: 卸载前脚本; –nopreun
%postun: 卸载后脚本; –nopostun
-Uvh 当有旧的版本的包时,则卸载旧包再装新包,如没有旧包,直接装新包。
-Fvh 当有旧的包时,卸载旧包装新包,无旧包时,nothing
–oldpackage 降级 已有新包,装旧包。
–force 强制安装。–replacepkgs –replacefiles –oldpackage
-q 软件包名 查询已安装过的软件包名。
-qa 列出所有的已安装过的rpm包
-qa
“name*”
-qa
|grep name
-qf 查询一个文件来自于哪一个rpm包 (已安装的rpm)
-q –changelog 版本更新日志
-qc 查询软件包的配置文件(不是所有包都有配置文件)
-qd 查询软件包的帮助文档
-qi 查询软件包的详细信息
-ql 查询软件包所安装到系统当中的所有文件路径
-q –scripts 查询软件包自带的脚本
-q –provides 查询自身的功能
-qR 查询实现自身的功能需要什么能力
-qp[licd] rpm包 查看未安装的rpm包的各项信息
-e 软件名
–nodeps 忽略依赖性。强制卸载
–import GPG-KEY…. 导入公钥
-qa “gpg-pubkey*” 显示所有已导入的公钥
-e gpg-pubkey….
-K rpm包 验证某rpm签名是否合法
原创文章,作者:poetic snow,如若转载,请注明出处:http://www.178linux.com/84548