zoukankan      html  css  js  c++  java
  • rpm小结

    包括安装、卸载、升级、查询、校验、数据库维护 
      

     一. 安装:

    常用方法:rpm -ivh 包名 ,其中“i”表示安装, "v"表示显示安装过程,“h"表示以#显示程序包安装进度

    其他特殊参数如下
    --test: 测试安装,但不真正执行安装过程;dry run模式;
    --nodeps:忽略依赖关系,在循环依赖关系中有用,就是2个包需要一起安装的情况,其实也可以一起安装;
    --replacepkgs: 重新安装;
    --nosignature: 不检查来源合法性;
    --nodigest:不检查包完整性;
    --noscipts:不执行程序包自带脚本,有以下4类;
                            %pre: 安装前脚本: --nopre
                            %post: 安装后脚本: --nopost
                            %preun: 卸载前脚本: --nopreun
                            %postun: 卸载后脚本:  --nopostun
                  
                      
                       

     二. 升级:

       
    常用写法:                  
    rpm -Uvh 包名 ...  其中U表示:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”;
    rpm -Fvh 包名 ...   其中F表示:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作;
     
         
    特殊参数:
    --oldpackage:降级,用旧版包替换新版包;
    --force: 强行升级; 
                
     
    注意:
    (1) 不要对内核做升级操作(uname -r查看内核版本),可能造成不能启动系统;Linux支持多内核版本并存,因此,直接安装新版本内核;
    (2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留;
     
     
     

     三. 查询:

     基本语法:rpm {-q|--query} [select-options] [query-options]
     
    [select-options]----对哪些包进行查询
                -a: 所有包
                -f: 查看指定的文件由哪个程序包安装生成,例如 rpm -qf /etc/issue, rpm -qf /bin/bash, rpm -qf /etc/fstab
                -p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包文件做查询操作;
                --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供;例如 rpm -q --whatprovides /bin/cat
                --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
     
    [query-options]---查询内容
                --changelog:查询rpm包的changlog
                -c: 查询程序的配置文件
                -d: 查询程序的文档
                -i: information
                -l: 查看指定的程序包安装后生成的所有文件;
                --scripts:程序包自带的脚本
                -R: 查询指定的程序包所依赖的CAPABILITY;
                --provides: 列出指定程序包所提供的CAPABILITY;
     
     
    常见用法:
              
    一个没有安装过的软件包,使用rpm -qpl rpm-filename.rpm
    一个已经安装过的软件包,还可以使用rpm -ql packet-name
     
    参数说明
    -l: --list                                list files in package
    -p, --package                      query/verify a package file
    -a, --all                                query/verify all packages
    -q, --query
     
    查看一个文件属于哪个rpm包, rpm -qf /path/filename
    如:查看glibc包内的文件
    [root@fsc ~]# rpm -ql glibc
    /etc/gai.conf
    /etc/ld.so.cache
    查找指定的安装包:rpm -aq | grep rz
     
     
     
     

    四.    卸载:

    rpm -e [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...
     
    其中--allmatches用于卸载重复安装的包,比如重复安装了A,可用rpm -e --allmatches --nodeps A 删除多余的A
    若系统里有同一程序的多个安装版本要一起删除,可使用--allmatches标记,如 rpm -e --noscripts --allmatches wine
     
     
     
     
     

    五.     校验:

    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
     
            包来源合法性验正及完整性验正:
            完整性验正:用SHA256算法来检查安装前后的特征码是否一样
            来源合法性验正:RSA
     
            加密:
                对称加密:加密、解密使用同一密钥;
                非对称加密:密钥是成对儿的,
                    public key: 公钥,公开所有人
                    secret key: 私钥, 不能公开
     
            导入所需要公钥:
                rpm --import /PATH/FROM/GPG-PUBKEY-FILE
                CentOS 7发行版光盘提供的密钥文件:RPM-GPG-KEY-CentOS-7,那么命令就是rpm --import RPM-GPG-KEY-CentOS-7
     
     
     
     
    努力生活,融于自然
  • 相关阅读:
    进度条
    html5 表单新增事件
    html5 表单的新增type属性
    html5 表单的新增元素
    html5 语义化标签
    jq 手风琴案例
    codeforces 702D D. Road to Post Office(数学)
    codeforces 702C C. Cellular Network(水题)
    codeforces 702B B. Powers of Two(水题)
    codeforces 702A A. Maximum Increase(水题)
  • 原文地址:https://www.cnblogs.com/regit/p/7755459.html
Copyright © 2011-2022 走看看