如何进行rpm程序包管理功能解析
时间:2023-05-25 01:58
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程序包管理功能解析的详细内容,更多请关注Gxl网其它相关文章!