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

一. 安装:

常用方法: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
 
 
 
 

rpm小结的更多相关文章

  1. Linux软件安装方法小结(附:rpm详解)(转载)

    在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种: 1)含有软件 ...

  2. rpm命令用法小结

    rpm 是用来管理 Redhat系列的包管理工具: 通过将打包编译好的程序包文件放置在各自的位置上,就完成了安装: rpm   [OPTIONS]   PACHAGE_FILE 1 安装:: -i : ...

  3. 【Hadoop】HIVE 小结概览

    一.HIVE概览小结 二.HIVE安装 Hive只在一个节点上安装即可 .上传tar包 .解压 tar -zxvf hive-.tar.gz -C /cloud/ .配置mysql metastore ...

  4. [转帖]Linux 硬件和系统配置查看命令小结

    https://blog.csdn.net/strongwangjiawei/article/details/8208825 转帖了不少 发现自己记住的还是不多.. Linux 硬件和系统配置查看命令 ...

  5. linux环境,通过rpm删除mysql包,报错:error reading information on service mysqld: Invalid argument

    问题描述: 今天在做saltstack的练习,想要通过sls的方式,在远程进行mysql数据库的安装,发现无法通过service的方式启动数据库,然后就想给删除了重新进行安装,在通过rpm -e进行删 ...

  6. RPM 包的构建 - SPEC 基础知识

    spec 文件 制作 rpm 软件包并不是一件复杂的工作,其中的关键在于编写软件包的 spec 描述文件. 要想制作一个 rpm 软件包就必须写一个软件包描述文件 spec.这个文件中包含了软件包的诸 ...

  7. Linux 入侵检测小结

    Linux  入侵检测小结 0x00 审计命令 在linux中有5个用于审计的命令: last:这个命令可用于查看我们系统的成功登录.关机.重启等情况:这个命令就是将/var/log/wtmp文件格式 ...

  8. Mysql 5.7 基于组复制(MySQL Group Replication) - 运维小结

    之前介绍了Mysq主从同步的异步复制(默认模式).半同步复制.基于GTID复制.基于组提交和并行复制 (解决同步延迟),下面简单说下Mysql基于组复制(MySQL Group Replication ...

  9. RPM 打包技术与典型 SPEC 文件分析

    一 .rpm 介绍 1. 概述 RPM全称是 Red Hat Package Manager(Red Hat包管理器).几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装.更新和卸载软件. ...

随机推荐

  1. shell脚本学习指南-grep文本搜索命令-学习(3)

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  2. 一些jquery常用方法

    1.jquery实现平滑滚动到指定锚点 $(document).ready(function() { $("a.topLink").click(function() { $(&qu ...

  3. 最长无重复字符的子串 · Longest Substring Without Repeating Characters

    [抄题]: 给定一个字符串,请找出其中无重复字符的最长子字符串. 例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 3. 对于, ...

  4. [leetcode]621. Task Scheduler任务调度

    Given a char array representing tasks CPU need to do. It contains capital letters A to Z where diffe ...

  5. windows 7 64 bit 注册dll

    手动需要run as admin, 也可以用下边的脚本自动注册 @echo off setlocal enableextensions set REGSVR= if defined PROCESSOR ...

  6. 对象转换利器之Dozer

    什么是Dozer Dozer是一个Java对象转换工具,可以在JavaBean和JavaBean之间进行递归数据复制,并且适应不同复杂的类型.Dozer会直接将名称相同的属性进行复制,属性名不同或者有 ...

  7. [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作

    测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...

  8. [.NET] GC垃圾回收机制

    前言: 在.NET程序开发中,为了将开发人员从繁琐的内存管理中解脱出来,将更多的精力花费在业务逻辑上,CLR提供了自动执行垃圾回收的机制来进行内存管理.开发人员甚至感觉不到这一过程的存在.CLR执行垃 ...

  9. [GO] go使用etcd和watch方法进行实时的配置变更

    监控代码 package main import ( "go.etcd.io/etcd/clientv3" "time" "fmt" &qu ...

  10. 安装Oracle数据库时出现网络配置需求检查失败

    提示方法:将 Microsoft LoopBack Adapter 配置为系统的主网络适配器.  解决方法:  控制面板->添加硬件->是,(win7及之后没有添加硬件这个选项了,可以在c ...