RPM包管理功能全解。【第三周】

CentOS系统上rpm命令管理程序包: 安装、升级、卸载、查询、校验、数据库维护

rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
    安装:-i, --install
    升级:-U, --update, -F, --freshen
    卸载:-e, --erase
    查询:-q, --query
    校验:-V, --verify
    数据库维护:-builddb, --initdb

安装:
    rpm {-i|--install} [install-options] PACKAGE_FILE ...

        rpm -ivh PACKAGE_FILE...

        GENERAL OPTIONS:
            -v:verbose, 详细信息
            -vv:更详细的输出

        [install-options]:
            -h:hash marks输出进度条;每个#表示2%的进度;
            --test:测试安装,检查并报告依赖关系及冲突消息等;
            --nodeps:忽略依赖关系;不建议;
            --replacepkgs:重新安装

            注意:rpm可以自带脚本;
                四类: --noscripts
                    preinstall:安装过程开始之前运行的脚本,%pre,--nopre
                    postinstall:安装过程完成之后运行的脚本,%post,--nopost
                    preuninstall:卸载过程真正开始执行之前运行的脚本,%preun,--nopreun
                    postuninstall:卸载过程完成之后运行的脚本,%postun,--nopostun

                --nosignature:不检查包签名信息,不检查来源合法性
                --nodigest:不检查包完整性信息;


升级:
    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
        -U:升级或安装;
        -F:升级;

        rpm:-Uvh PACKAGE_FILE...
        rpm:-Fvh PACKAGE_FILE...

            --oldpackage:降级;
            --force:强制升级;

        注意:
            (1)不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核即可;
            (2)如果某源程序包的配置文件安装后曾被修改过,升级时,新版本的程序包提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

卸载:
    rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers][--test] PACKAGE_NAME ...

        --allmatches:卸载所有匹配指定名称的程序包的各版本;
        --nodeps:忽略依赖关系;
        --test:测试卸载

查询:
    rpm {-q|--query} [select-options] [query-options]

    [select-options]
        PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;
        -a,--all:查询所有已经安装过的包;
        -f FILE:查询指定的文件 由哪个程序包安装生成;

        -p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

        --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;
        --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

    [query-options]
        --changelog:查询rpm包的changlog;
        -l,--list:程序安装生成的所有文件列表;
        -i,--info:程序包相关的信息、版本号、大小、所属的包组,等
        -c,--configfiles:查询指定的程序包提供的配置文件;
        -d, --docfiles:查询指定的程序包提供的文档;
        --provides:列出指定的程序包提供的所有的CAPABILITY;
        --whatprovides:可以用来查询哪个包提供了指定内容
        --whatrequires:可以用来查看哪些包依赖于指定内容
        -R, --requires:查询指定的程序包的依赖关系;
        --scripts:查看程序包自带的脚本片断;

    用法:
        -qi PACKAGE, -qf FILE, -qc PACEAGE, -ql PACKAGE, -qd PACKAGE
        -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE,...

校验:
    rpm {-V|--verify} [select-options] [verify-options]

    S file Size differs
    M Mode differs (includes permissions and file type)
    5 digest (formerly MD5 sum) differs
    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

包来源合法性验证和完整性验证: 来源合法性验证: 完整性验证:

获取并导入信息的包制作者的密钥:
    对于CentOS发行版来说:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

验证:
    (1)安装此组织签名的程序时,会自动执行验证;
    (2)手动验证:rpm -k PACKAGE_FILE

数据库重建: rpm管理器数据库路径:/var/lib/rpm/ 查询操作:通过此处的数据库进行;

获取帮助:
    CentOS 6:man rpm
    CentOS 7:man rpmdb

    rpm{--initdb|--rebuilddb}
        --initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;
        --rebuilddb:

原创文章,作者:N24_xiaowen,如若转载,请注明出处:http://www.178linux.com/60782

(0)
N24_xiaowenN24_xiaowen
上一篇 2016-11-26
下一篇 2016-11-26

相关推荐

  • N28 第三周【2】:用户和组管理

    用户和组管理 前言 Linux用户管理非常关键且重要,Linux的所有进程都是以不同的身份拥有不同的权限来运行和调度资源的。但是我们不用费劲心思去管理,因为系统将用户划分成为了两部分:无所不能的root用户和普通用户。同时呢,又将普通用户分为系统用户和登录用户。对于Linux,他会用UID去快速识别用户身份,对于我们,可以用用户名去识别。 接下来介绍一下用户…

    Linux干货 2017-12-19
  • bash工作特性之命令执行状态返回值和命令行展开的讲解和实例

    命令执行状态返回值 在Linux bash中可以用命令执行状态返回值来判断命令是否运行成功,而不需去关心命令返回的结果是多少。 bash通过状态返回值来得到输出结果; 成功:返回值 0 [root@localhost tmp]# ls aaa [root@localhost tmp]# mkdir $(date +%H-%m-%S) [root@localh…

    Linux干货 2018-03-01
  • Linux系统中文件权限(特殊权限)的相关认识

    文件属性 在linux系统中一切皆文件,所有的数据都是以文件的形式存储在系统中,我们可以通过ls命令可以查看文件的相关属性,如下图:                                &n…

    Linux干货 2016-08-04
  • bash脚本编程之数组、高级字符串处理、高级变量操作、用户环境配置

    概述:     承接之前脚本编程部分,本篇将介绍一下脚本编程基础语法的最后一部分内容,具体分为:         1、数组简介         2、高级字符串处…

    Linux干货 2016-08-24
  • dd工具

    dd     dd命令:convert and copy a file     用法:        ddif=/PATH/FROM/SRC of=/PATH/TO/DEST       &…

    Linux干货 2016-09-02
  • 用户和组命令的简单使用

    用户和组管理命令: 用户管理命令:useradd usermod userdel 组管理命令:groupadd groupmod groupdel 用户创建:useradd -u:uid 定义在/etc/login.defs -o:配合-u选项,不检查uid的唯一性 -g:gid,指明用户所属基本组,可为组名,也可以gid -c:用户的诠释信息 -d;指定用…

    Linux干货 2016-10-24

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:34

    知识点总结的不错,第三周的作业好像没有完善。