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

相关推荐

  • Linux的用户,组及文件权限管理

    Linux用户与组的创建,删除,属性修改,文件权限管理

    Linux干货 2018-02-24
  • NET25-第7周作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@node1 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI o…

    Linux干货 2017-03-15
  • N22-第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i count1=0 declare -i count2=0 for i in $(awk -F : '{print $7}&#03…

    Linux干货 2016-10-17
  • Bash编程之流程控制

    Bash作为一种过程式编程语言,拥有一套流程控制体系,可完成选择执行,循环执行功能。下面分别介绍if/else,case,select,for,while/until等语法的使用。

    Linux干货 2016-08-21
  • rpm及yum

    库文件 查看二进制程序所依赖的库文件: ldd /PATH/TO/BINARY_FILE [root@localhost ~]# ldd /bin/bash 管理及查看本机装载的库文件: ldconfig /sbin/ldconfig -p:  显示本机已经缓存的所有可用库文件 名及文件路径映射关系 配置文件:/etc/ld.so.conf, /e…

    Linux干货 2016-08-29
  • 系统进程管理

    ps 查看系统进程命令 启动进程的方式:     系统启动过程中自动启动:与终端无关的进程;     用户通过终端启动:与终端相关的进程; 选项:         a:所有与终端相关的进程; &nbs…

    Linux干货 2016-09-06

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:34

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