您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/3/17 14:13:59发布42次查看
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程序包管理功能解析的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product