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
     
     
     
     
    努力生活,融于自然
  • 相关阅读:
    1007 素数对猜想 (20 分)
    1005 继续(3n+1)猜想 (25 分)
    1002 写出这个数 (20 分)
    1001 害死人不偿命的(3n+1)猜想 (15 分)
    mysql常用操作
    mysql乱码问题
    mysql忘记root密码
    linux开机启动
    fedora 调整屏幕亮度
    Access denied for user 'root'@'localhost' (using password:YES) 解决方案
  • 原文地址:https://www.cnblogs.com/regit/p/7755459.html
Copyright © 2011-2022 走看看