rpm包管理

一、概述

RPM 是RPM Package Manager(RPM软件包管理器)的缩写。由redhat公司的Redhat package manager改名而来,成了RedHat的工业标准

二、rpm的命名格式:

rpm包的命名格式:name-version-relase.arch.rpm

version: major.minor.release,同源代码

release: rpm自身的发行号,与程序源码的发行号无关,仅用于标识对rpm包不同制作的修订;同时,release还包含此包适用的OS

如:

arch: 适用于的硬件平台,

x86: i386, i486, i586, i686等;

x86_64: x86_64

powerpc: ppc

noarch: 依赖于虚拟机

rubygems-1.3.7-5.el6.noarch.rpm

以下是子包

rubygems-devel-1.3.7-5.el6.noarch.rpm

三、获取rpm包的途径:

1、发行的光盘或站点服务器

镜像:

http://mirrors.163.com

http://mirrors.sohu.com

2、项目的官网

源代码

rpm包

3、第三方机构或个人的制作并公开发布的rpm包

http://rpmfind.net

http://rpm.pbone.net

4、可靠途径:EPEL

fedora 维护的:Fedora-EPEL

四、合法性验证

    包的制作者使用单向加密提取原始数据的特征码,而后使用自己的私钥加密这段特征码,附加原始数据后面。

验证过程:

前提:必须有可靠机制获取到包制作者的公钥;

1、使用制作者的公钥解密加密的特征码,能解密则意味着来源合法;

2、使用与制作者同样的意向加密算法提取原始数据的特征码,并与解密出来的特征作比对,相同,则意味着完整性没问题;

五、包管理器的使用

1、安装及重新安装

rpm [option]  package_file

-i:install
-v|vv|vvv : 详细信息|更详细|再详细
-h;hash,用#来表示进度,每个5%
--test: 仅作测试,没有真正执行安装
--nodeps: 忽略依赖关系
--replacepkgs:重新安装 (如果包的配置文件安装后曾被改动过,卸载时,此文件将不会卸载,而是被重命名并保留)

blob.png2、卸载

rpm [option] package_name

-e: erase
--nodeps: 忽略依赖关系

blob.png

3、升级程序包

rpm [option] package_file

-U:升级或安装 :有老版本,替换,没有就安装。
-F:纯升级:一定要有有老版本,才会安装新版本
--force: 强制升级

注意:不应该对内核执行升级操作,而是安装。系统允许多内核并存;

升级完后新内核不支持。可能启动不了。

安装后新内核不能用,还可以启用老版本。

4、查询操作

rpm -q package_name : 查询包是否安装
rpm -qa : 查询所有已经安装的包
rpm -qi package_name: 查询包的描述信息
rpm -ql package_name: 查询包生成了哪些文件
rpm -qc package_name: 查询包安装生成了哪些配置文件
rpm -qd package_name: 查询包安装生成了哪些帮助文档
rpm -q --scripts package_name: 查询包的相关脚本(安装及卸载前后四类脚本)
rpm -qf some_file: 查询文件是由哪个包安装生成

对尚未安装的包执行查询

rpm -qpi :将会生成的描述信息
rpm -qpl :将会生成的文件
rpm -qpc :将会生成的配置文件
rpm -qpd :将会生成的帮助文档

5、rpm包来源合法性及完整性校验:

系统上需要有包制作者的公钥:比如导入光盘上的公钥

rpm --import package_file 导入公钥
rpm -qa gpg-pubkey*   查看导入的公钥
rpm -qi gpg-pubkey-NAME 查看公钥的详细信息

blob.png

检查包的完整性:安装过程中自动执行

rpm -K package_file 只检查不安装
rpm --checksig package_file 只检查不安装
rpm -K --nodigest 不检查包完整性
rpm -K --nosignature 不检查来源合法性

6、数据库重建

数据库目录: /var/lib/rpm

rpm --initdb:初始化 如果事先没有库,会新建一个;如果有,则不新建
rpm --rebuilddb:重建 直接重建,覆盖原有的数据库

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

(0)
上一篇 2015-10-05 22:34
下一篇 2015-10-07 12:02

相关推荐

  • Week 1–Linux基础2

    四. Linux系统命令使用格式:  但首先,在linux中我们要知道linux系统中基本的命令格式如下: 命令字 【命令选项】 【命令参数】   Command 【option】 【arguments】 在这里主要介绍这几个命令的使用格式(Ifconfig,echo, tty, startx, export, pwd, history, shut…

    Linux干货 2016-12-05
  • Linux下各类颜色文件的意思

    Linux下各类颜色文件的意思   Linux系统对在终端下的各文件进行了颜色区分,了解各个颜色文件对应的意思对是学习Linux必须要掌握的。Linux文件颜色如下图: 1、白色:表示普通文件(-) 2、蓝色:表示目录(d) 3、绿色:表示可执行文件(-) 4、红色:表示压缩文件(-) 5、浅蓝色:链接文件(l) 6、黄色:表示设备文件(c) 7、…

    Linux干货 2016-10-18
  • 计算机的组成、Linux主流三大版本的区别、Linux的哲学思想、Linux的使用格式及命令的使用简略说明,以及如何查看命令帮助、FHS目录机构

    计算机的组成极其功能? 按功能来说计算机是由运算器、控制器、I/O系统(输入、输出系统)、存储器五部分组成。 运算器:即中央处理器(CPU)作为五大部分中心的主脑,对数据进行逻辑运算或算数运算。 控制器:主要是指内存设备,将读取到的数据临时保存在内存中这个过程被成为寻址。在cpu中也有属于自己的控制器称之为CPU的寄存器来进行多指令的行。 I/O系统:输入系…

    2017-12-03
  • 从Linux小白到大牛——与狼共舞的日子7

    马哥教育网络班21期+第7周课程练习 1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]#&nbsp…

    Linux干货 2016-11-14
  • n22-第一次作业-对Linux基础知识的回顾

    1、描述计算机的组成及其功能   根据冯诺依曼计算机体系结构模型,计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。如上图:    运算器主要由算数逻辑单元ALU和通用寄存器组成,主要用于完成算术运算和逻辑运算。      控制器是整个计算机的控制中心,它的主要功能是周而复始…

    Linux干货 2016-08-15
  • 文本编辑三剑客之gawk

     awk 本章内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 1.awk介绍 ★ Linux 文本处理工具三剑客:grep、sed、awk。其中grep是一种文本过滤工具;sed是文本行编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的…

    Linux干货 2016-09-24