Rpm包管理功能全解
软件包管理的功能:将编译好的程序的各组成文件打包成一个或几个程序包文件,为了方便的实现程序包的安装、升级、卸载、查询、校验、数据库维护。
下面我们来看看RPM包管理的解析
Rpm包在redhat和S.U.S.E中有很大的应用
我们接下来就以centos系统中rpm包的管理做一些详细的功能解析
使用yum(rhel系列)安装时可以自动解决依赖关系d
rpm包命名格式:
name-VERSION-release.arch.rpm
VERSION:major.minor.release
Major:主版本号(版本有大的更新); minor:次版本号(小更新)
release.arch:rpm包的发行号
release.os: 2.el7(平台).i386(架构).rpm archetecture(架构):i386, x64(amd64), ppc, noarch理器;
实际操作:
本机在服务器上已经成功下载zsh-4.3.10-9.el6.x86_64.rpm用此来实施
语法:rpm [options] [packages_file]
安装;-i,--install
rpm -ivh /path/to/rpm_package
-v;显示安装信息
-vv;显示更详细的安装信息
-h;以井号显示安装进度
--nodeps;忽略依赖关系(适用于卸载)
--force;强行安装(适用于卸载)
重装;--replacepkgs会覆盖原有信息
Rpm -i --replacepkgs /path/to/rpm_name
[root@bucktan ~]# rpm -ivh --replacepkgs zsh-4.3.10-9.el6.x86_64.rpm
卸载;-e,--erase
rmp -e package_name
--allmatches卸载匹配所有指定名称的软件包
--nodeps忽略依赖关系
--test 测试卸载
升级;-U -F
升级或安装;
rpm -U /path/to/rpm_package
--oldpackage降级
在服务器上取了两个包:zabbix-2.4.0-1.el6.x86_64.rpm
zabbix-2.4.5-1.el6.x86_64.rpm
之前升级至zabbix-2.4.5-1.el6.x86_64.rpm
[root@bucktan]~# rpm -Uvh --oldpackage zabbix-2.4.0-1.el6.x86_64.rpm
只升级;(若不存在旧版本则不会执行)
rpm -F /path/to/rpm_package
通常搭配vh使用;
rpm -Uvh|-Fvh /path/to/package
--nosignature 不检查包签名信息的合法性
注意;不要对内核执行升级操作
不同内核版本可以共存,因此可执行安装操作,但不建议升级
(重点) 查询;rpm {-q|--query} [select-options] [query-options]
查询包是否已安装;
rpm -q package_name
[select-options]:
rpm -qa查询所有已安装的包;
rpm -qf /path/to/file查询某文件是由那个包生成的;
-q --whatprovides file_name 查询指定的capability由哪个程序包所提供
-q --whatrequires file_name 查询指定的capability由哪个程序包所依赖
[query-options]:
rpm -ql package_name查询包安装后生成的文件;
rpm -qi package_name查询包的简要说明;
rpm -qd package_name查询包安装后生成的帮助文档;
rpm -qc package_name查询包安装后生成的配置文件;
rpm -qR package_name 查询指定软件包的依赖关系
rpm -q --scripts 查询包相关的脚本;
脚本分四类
preinstall 安装前脚本
postinstall 安装后脚本
preuninstall 卸载前脚本
postuninstall 卸载后脚本
查询未安装包的相关信息;-qp
rpm -qpl package_file 查询安装后会生成的的文件
rpm -qpi package_file查询包的简单描述信息;
可搭配其选项使用,如-qp --scripts
校验;检查安装后的文件是否被修改过
rpm -V package_name
[root@bucktan ~]# rpm -V zsh
S.5....T. c /etc/zshrc
返回的注释信息;
S file Size differs 大小
M Mode differs (includes permissions and file type) 头文件
5 digest (formerly MD5 sum) differs MD5
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs 属主
G Group ownership differs 属组
T mTime differs 修改时间
P caPabilities differ 能力改变了
校验来源合法性和软件的完整性
包完整性;单项加密机制(MD5|sha1..)
来源合法性;公钥加密机制(RSA)
rpm -K /path/to/packagefile直接检验程序包来源合法性
rpm --checksig /path/to/package_file
--nosigeature:不检查来源合法性
--nodigest:校验时不检查包完整性
导入GPG密钥文件:
rpm --import /path/to/gpg-key-file
导入以后再做验证
数据库
位置:/var/lib/rpm
重建:
rpm --initdb:初始化
如果事先不存在一个数据库,则新建之
rpm --rebuilddb 重建
直接新建数据库,会覆盖原有库
以上是如何进行rpm程序包管理功能解析的详细内容。更多信息请关注PHP中文网其他相关文章!