搜索
首页运维安全如何进行rpm程序包管理功能解析

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;强行安装(适用于卸载)

如何进行rpm程序包管理功能解析

        重装;--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 测试卸载

如何进行rpm程序包管理功能解析

        升级;-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

 如何进行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由哪个程序包所依赖

 如何进行rpm程序包管理功能解析

       [query-options]:

                 rpm -ql package_name查询包安装后生成的文件;

             如何进行rpm程序包管理功能解析

                rpm -qi package_name查询包的简要说明;

      如何进行rpm程序包管理功能解析

                rpm -qd package_name查询包安装后生成的帮助文档;

            如何进行rpm程序包管理功能解析

                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

            导入以后再做验证

        如何进行rpm程序包管理功能解析

    数据库

            位置:/var/lib/rpm

            重建:

                rpm --initdb:初始化

                    如果事先不存在一个数据库,则新建之

                rpm --rebuilddb 重建

                    直接新建数据库,会覆盖原有库

 如何进行rpm程序包管理功能解析

以上是如何进行rpm程序包管理功能解析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。