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

一. 安装:

常用方法: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. 118. Pascal's Triangle (Array)

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...

  2. 基础常用JS函数和语法

    100多个基础常用JS函数和语法集合大全  来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我 ...

  3. 【转】字符串匹配的KMP算法:移动位数 = 已匹配 - 部分匹配值(共有长度)

    计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算 ...

  4. jetty tutorial

    http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html#d0e18726 Version: 9.2.2-SNAP ...

  5. awk基础05-自定义函数和脚本

        在之前文章中,我们都是在命令行中写一些简短的awk命令,而awk做为一门解释型语言,一样是支持脚本运行的. 基本语法 #!/bin/awk -f # 注释 awk 脚本体 #!:同shell, ...

  6. Zabbix部署与使用

    *******需要配置网易YUM源来安装相关依赖包: [local_yum] name=local_yum baseurl=http://mirrors.163.com/centos/6/os/x86 ...

  7. [label][JavaScript]闭包阅读笔记

    原文链接来源:                       http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.ht ...

  8. python经典书记必读:Python编程快速上手 让繁琐工作自动化

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/69/ 来源:python黑洞网,专注 ...

  9. 菜鸟去重复之Sql

    前言 本文主要是总结平时工作学习中遇到的使用Sql Server的去除重复的心得体会. 由于平时工作使用Sql并不多,此次在写本文的测试过程中,就遇到了问题,如能有幸得到高手点播,将不胜感激. 高手可 ...

  10. struts2拦截器demo

    按照网上的一些资料配置的,期间也出现过几个错误. 其中有个错误,是关于struts.xml里面package配置的问题,因为里面的几个标签是有顺序的. 顺序是: result-types interc ...