Linux基础——程序包管理(rpm)

Linux基础——程序包管理(rpm),第1张

概述获取程序包的途径     1.    系统发行版的光盘或官方文件服务器          http://mirrors.aliyun.com          http://mirrors.163.com          http://mirrors.souhu.com     2.    项目的官方站点     3.    第三方组织          EPEL          搜索引擎  

获取程序包的途径
    1.    系统发行版的光盘或官方文件服务器
         http://mirrors.aliyun.com
         http://mirrors.163.com
         http://mirrors.souhu.com
    2.    项目的官方站点
    3.    第三方组织
         EPEL
         搜索引擎
             http://pkgs.org
             http://rpmfind.net
             http://rpm.phone.net

rpm命令管理
    rpm [OPTIONS] PACKAGE_file|PACKAGE_name
        PACKAGE_file:    包全名,例如httpd-2.4.6-88.el7.centos.src.rpm
        PACKAGE_name:    包名,例如httpd
    安装:rpm-ivh PACKAGE_file    
        -i:install 安装
        -v:输出详细信息
        -h:输出进度条,每个#表示2%的进度
        一般在安装rpm包时,使用以上选项即可
        特殊选项及用法:rpm -ivh [INSTALL-OPTIONS] PACKAGE_file
            INSTALL-OPTIONS:
            --test:测试安装,并非正真执行安装,作用为检查依赖关系及冲突消息等
            --nodepts:忽略依赖关系,不建议使用,虽然忽略依赖可以安装成功,但是有可能不能使用
            --replacepkgs:重新安装
            --nosignature:忽略签名信息,及不检查包的来源合法性
            --nodigest:忽略包的完整性,及不检查包的完整性
            --noscripts:忽略脚本
                注意:rpm在创建时,可以有四种类型的脚本文件,分别为
                    安装开始前运行的脚本文件:preinstall
                    安装完成后运行的脚本文件:postinstall
                    卸载开始前运行的脚本文件:preuninstall
                    卸载完成后运行的脚本文件:postuninstall
                    --noscripts:参数即为忽略以上全部四种脚本
                    --nopre:忽略preinstall脚本
                    --nopost:忽略postinstall脚本
                    --nopreun:忽略preuninstall脚本
                    --nopostun:忽略postuninstall脚本

    升级:rpm -Uvh PACKAGE_file    升级并安装(如果之前没有安装,则之间进行安装)
              rpm -Fvh PACKAGE_file    升级(必须针对之前已经完成安装的rpm包,如果之前没有安装,则不进行安装)
             特殊选项及用法:rpm -Uvh|Fvh [UPGRADE-OPTIONS] PACKAGE_file
                 --oldpackage:降级
                 --force:强制升级
             注意:(1)一定不要对内核进行升级,如果想使用新版内核,则直接安装即可(因为linux支持多种内核版本共存)
                        (2)如果之前修改过配置文件,则升级后,配置文件并不会覆盖,而是任然保留原有已经修改过的文件,新安装的配置文件则会重命名后保存,重命名的格式为filename.rmpnew

    卸载:rpm -e PACKAGE_name(注意,此处为PACKAGE_name,并非PACKAGE_file)
        特殊选项及用法:rpm -e [EARSE_OPTIONS] PACKAGE_name
            --allmatches:卸载所有版本
            --nodepts:忽略依赖关系(有些rpm包在卸载时,因为有依赖无法卸载,可以使用该选项直接卸载)
            --test:测试卸载,并非正真卸载,DRY RUN模式(俗称“干跑”)

    查询:rpm -q [SELECT-OPTIONS] [query-OPTIONS]
        [SELECT-OPTIONS]
            PACKAGE_name:直接跟一个PACKEGE_name,可以查询该rpm包是否安装及其版本信息
            -a:查询所有安装的rpm包
                注意:当要查询一个rmp是否已安装时,一般使用rpm -qa | grep XXX
            -f file_name:查询该文件由哪个rpm包安装时生成
            -p PACKAGE_file:用于实现对未安装的rpm包执行查询 *** 作
            --whatprovIDes CAPABIliTY:查询指定的CAPABIliTY由哪个rpm包提供
            --whatrequires CAPABIliTY:查询指定的CAPABIliTY被哪个rpm包依赖
        [query-OPTIONS]
            --changelog:查询rpm包的changelog
            -l:安装时生成的所有文件列表
            -i:rpm包的所有详细信息
            -c:查询rpm包提供的配置文件
            -d:查询rpm包提供的文档
            --provIDes:列出该rpm包所能提供的所有CAPABIliTY
            -R:查询该rpm包的依赖关系
            --scripts:查看rpm包自带的脚本文件
            常用方法: rpm -ql PACKAGE_name
                          rpm -qf file_name
                          rpm -qc PACKAGE_name
                          rpm -qd PACKAGE_name
                          rpm -qpl PACKAGE_file
                          rpm -qpi PACKAGE_file
                          rpm -qpc PACKAGE_file

    校验:rpm -V [SELECT-OPTIONS] [VERIFY-OPTIONS]        主要作用在于验证包的合法性和完整性        导入信任的包制作者的密钥,密钥的保存位置为光盘镜像种的RPM-GPG-KEY-XXX            rpm --import 密钥文件            导入完成后在执行安装 *** 作的同时自动完成验证            如果手动验证,则使用rpm -K PACKAGE_file    数据库维护:rpm [DB-OPTIONS]            [DB-OPTIONS]            --initdb:初始化数据库            --rebuild:重新创建数据库        注意:     rpm包的管理数据库路径为/var/lib/rpm/                                    数据库 *** 作很危险,最好不要使用

总结

以上是内存溢出为你收集整理的Linux基础——程序包管理(rpm)全部内容,希望文章能够帮你解决Linux基础——程序包管理(rpm)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1024172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存