rpm包管理

前言
    RPM(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器。RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。最早由Red Hat研制,现在也由开源社区开发。RPM通常随附于Linux发行版,但也有单独将RPM作为应用软件发行的发行版(例如Gentoo)。RPM仅适用于安装用RPM来打包的软件,目前是GNU/Linux下软件包资源最丰富的软件包类型之一。

rpm的命名格式:
    name-version-release.arch.rpm
        version: major.minor.release,同源代码
        release: rpm自身的发行号,与程序源码的发行号无关,仅用于标识对rpm包不同制作的修订;
        同时,release还包含此包适用的OS
            例如:bash-4.2.3-3.centos5
        arch: 适用于的硬件平台,
             x86: i386, i486, i586, i686等;
             x86_64: x86_64
             powerpc: ppc
             noarch: 依赖于虚拟机
        示例:bash-4.2.3-3.centos5.x86_64.rpm

获取rpm包的途径:
    1、发行的光盘或站点服务器
       镜像:
          http://mirrors.163.com
          http://mirrors.sohu.com
    2、项目的官网
       源代码、rpm包
    3、很多第三方机构或个人制作并公开发布许多rpm包
       http://rpmfind.net
       http://rpm.pbone.net
       可靠的途径:EPEL
                    

rpm的命令格式::
    rpm [option…] PACKAGE_FILE

rpm包管理器:
    1、打包
    2、安装
    3、卸载
    4、升级
    5、信息查看
    6、校验
    7、数据库管理

1、打包

    略……

2、安装

    -i:安装指定包
    -{v|vv|vvv}:显示详细安装信息,v字母越多显示越详细
    -h:显示进度条
    --nodeps:忽略依赖关系
    --test:仅做测试,不执行安装
    --replacepkgs:重新安装

3、卸载

-e:卸载包
--nodeps:忽略依赖关系
    如果被其它包所依赖:
    1、将依赖于此包的所有包一并卸载
    2、忽略依赖关系;能卸载,但依赖于此包程序包可能会运行不正常;
    3、如果包的配置文件安装后曾被改动过,卸载时,此文件将不会卸载,而是被重命名并保留

4、升级

    -U:升级或安装
    -F:纯升级,前提是得有老版本
    --force:强制升级

5、信息查看

    -q:查询包是否已安装
        常用查询选项组合:
        -qa:列出所有已安装的包
        -qi:列出某已安装包的描述信息
        -ql:列出某已安装包生成了哪些文件
        -qc:列出某已安装包生成了哪些配置文件
        -qd:列出某已安装包生成了哪些帮助文件
        -qf:/path/to/some_file:查询某文件是由哪个包生成的
        -qs:查询某已安装包内文件的状态,有三种:normal、not installed、replaced
        -qp:查询某未安装包的相关信息
            -qpi:列出某未安装包的描述信息
            -qpl:列出某未安装包生成了哪些文件
            -qpc:列出某未安装包生成了哪些配置文件
            -qpd:列出某未安装包生成了哪些帮助文件
        -q --scripts package_name:列出某已安装包的相关脚本
            脚本有四类:
            preinstall:安装前脚本
            postinstall: 安装后脚本
            preuninstall: 卸载前脚本
            postuninstall: 卸载后脚本

6、校验

    包制作者制作完成之后会附加数字签名于包上;

    来源合法性,包的完整性

    包的制作者使用单向加密提取原始数据的特征码,而后使用自己的私钥加密这段特性码,附加原始数据后面。
    验正过程:
    前提:必须有可靠机制获取到包制作者的公钥;
    ① 使用制作者的公钥解密加密的特征码,能解密则意味着来源合法;
    ② 使用与制作者同样的意向加密算法提取原始数据的特征码,并与解密出来的特征作比对,相同,则意味着完整性没问题;

rpm --import:导入公钥,导入后即可自动检查
rpm -qa gpg-pubkey:查看所有已导入的公钥
rpm -qi gpg-pubkey-NAME:显示密钥的详细信息
rpm --checksig package:手动检测包的合法性及完整性
rpm -K package:手动检测包的合法性及完整性
    rpm -K --nodigest:不检查包完整性
    rpm -K --nosignature:不检查来源合法性
rpm -V package_name
    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
    某属性无变化,显示为.

7、数据库管理:

    路径:/var/lib/rpm,保存所有包相关信息,如:包名、包组、依赖关系、公钥文件等

    rpm –initdb:初始化,如果没有库,会新建一个,如果有则不重建

    rpm –rebuiddb:重建

    

原创文章,作者:秦,如若转载,请注明出处:http://www.178linux.com/4313

(0)
秦
上一篇 2015-05-13
下一篇 2015-05-13

相关推荐

  • 基于mysql数据库的日志分析系统

    现如今,日志已经成为了我们分析系统及相关服务的一个重要工具。而日志也具有其相对较为固定的格式以便于进行统计查询。其大致格式如下: 日期时间            主机      &…

    Linux干货 2016-10-23
  • 马哥网络教育班第21期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdisk /dev/sd…

    Linux干货 2016-08-12
  • LVS产生背景、原理及LVS-DR应用实例(一)

    一、什么是lvs? 它产生的背景,使用场景是什么?      LVS(Linux Virtual Server) 可以理解为一个虚拟服务器系统。       Internet的飞速发展,网络带宽的增长,Web服务中越来越多地使用CGI、动态主页等CPU密集型应用,这对服务器的性能…

    Linux干货 2016-10-29
  • 第1周-1:计算机的组成及其功能以及部分常见Linux发行版简介

    一、计算机的组成及其功能: 计算机主要由硬件部分和软件部分组成。 1、硬件部分 (1)中央处理器 由控制器和运算器两大部分组成,是计算机的大脑,硬件部分里最关键的部分。决定着整个计算机系统的性能。 控制器负责协调计算机硬件的其他部分同步工作,对其他的硬件进行发号施令。是计算机系统的司令。控制器从存储器中读取指令,分析指令的含义,要完成什么操作,需要什么数据,…

    Linux干货 2016-11-01
  • CentOS 7, lamp (php-fpm);(Blog 15)

    要求:
    (1) 三者分离于三台主机;
    (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;
    (3) xcache

    2017-12-20
  • Xtrabackup进行MySQL备份

    使用Xtrabackup进行MySQL备份 一、安装 1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。 特点: (1)备份过程快速、可靠; (2)备份过程不会打断正在执行的事务; (3)能够基于压缩等功能节约磁盘空间和流量; (4)自动…

    Linux干货 2017-02-20