一RPM介绍:

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

2,包管理器的基本功能:

安装、卸载、升级和管理软件
组件查询功能
验证功能
软件包GPG和MD5数字签名的导入、验证和发布
软件包依赖处理
选择安装
网络远程安装功能

3,rpm包命名格式: name-version-release.arch.rpm

name: 软件包名

version: 软件的版本号

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

arch:适用于的硬件平台,主要有:i386, i486, i586, i686,x86_64,powerpc,noarch

4,RPM分包管理:一个软件可能会包含许多功能,针对不同的用户按照功能进行分包,是用户免于下载安装不需要的功能模块.一般是有一个主包,提供基本功能;其他功能分别打包成不同的支包文件来使用。常见的包有

5,来源合法性验正:
源程序:通过md5或sha1校验码验正;
rpm包:发行商提供的合法性是可信的

6,获取rpm包的途径:
  发行商的光盘或站点服务器
   以CentOS为例: 
       http://mirrors.163.com
       http://mirrors.sohu.com
       http://mirrors.hust.edu.cn
       http://rpmfind.net
       http://rpm.pbone.net

二,RPM的使用,这里因为rpm的选项较多,所以按照功能进行大致的分类

rpm [option] /path/to/package

1,rpm包管理安装:

-i, --install   使用格式:# rpm -i /path/to/rpm_package ...
          -v: 详细信息 -vv: -vvv:更加详细的信息
          -h: hash, 以#的个数显示安装进度,一个#表示2%的进度;

--test:仅测试,不真正执行安装过程

--nodeps: 忽略依赖关系

--replacepkgs:重新安装: 原来的配置文件不会被覆盖,新安装的配置文件将会重命名为以.rpmnew为后缀的文件;

2,rpm包管理卸载:

-e, --erase:卸载
         如果卸载被其它程序所依赖的包:
              (1)、把依赖者一同卸载;
              (2)、忽略依赖关系;--nodeps
              (3)、不再卸载

3,软件包管理升级
    rpm {-Uvh|-Fvh} /path/to/package_file
        (1),升级或安装
            -Uvh:如果软件包不存在则安装,如果存在则升级。
        (2),升级
            -Fvh:如果软件包不存在则什么都不干,如果存在则升级。
        (3),强制升级

--force: 如果有时候升级有问题,则可以使用

注意:不应该对内核执行升级操作,而是安装。因为系统允许多内核并存,所以万一升级失败,还可保证系统不出现问题。

4,rpm包管理查询: -q

-qa: 查询所有已经安装的包

-qi:  查询包的描述信息:rpm -qi package_name

-ql:  查询包安装之后在当前系统生成文件列表:rpm -ql package_name

-qf:  查询某文件是哪个包安装生成的:rpm -qf /path/to/somefile

-qd: 查询包安装后生成的帮助文档:rpm -qd package_name

-qc: 查询包安装后生成的配置文件:rpm -qc package_name

--scripts:  查询包相关的脚本:rpm -q --scripts package_name
  脚本有四类:
   preinstall: 安装前脚本
   postinstall: 安装后脚本
   preuninstall: 卸载前脚本
   postuninstall: 卸载后脚本

-p: 对未安装的文件进行查询
-qpl:  查询安装后会生成的文件列表:rpm -qpl /path/to/package_file 
-qpi:  查询其简单描述信息:rpm -qpi /path/to/package_file

5,rpm包管理:校验 
 检查包安装后生成的文件是否被修改过;
 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          提供的能力

6,rpm包管理:检验来源合法性和软件包完整性
         包完整性:通过单向加密机制(md5|sha1)
         来源合法性:通过公钥加密机制(RSA)

导入制作者的公钥,CentOS发行版的公钥在iso文件中;
         --import:导入命令:rpm --import /path/to/gpg-key-file

rpm -qa gpg-pubkey*  显示所有已经导入的gpg格式的公钥
         rpm -qi gpg-pubkey-NAME  显示公钥的详细信息

-K:检查:rpm -K /path/to/package_file   rpm --checksig /path/to/package_file
       --nosignature: 不检查来源合法性
       --nodigest: 不检查完整性

7,rpm包管理:数据库重建
         数据库:/var/lib/rpm/

重建:

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

转载于:https://blog.51cto.com/yesir/1441025

Linux程序包管理之RPM相关推荐

  1. Linux程序包管理(rpm)

    程序包:由源代码通过编译成CPU可执行的二进制格式,再把这些文件(二进制程序.库文件.配置文件.帮助文件)组织成为一个或有限几个"包"文件. 程序包的组成:1.程序包的组成清单(每 ...

  2. linux 包管理工具dnf,Linux 程序包管理 rpm yum dnf

    Linux程序包管理:包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具deb:debian Linux使用 包括ubuntu rpm:Redhat Pa ...

  3. linux程序包管理rpm,yum和编译安装以及冒泡排序练习

    linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇 ...

  4. Linux下程序包管理工具RPM

    实验环境: CentOS release 6.6 (Final)  一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...

  5. Linux系统程序包管理工具-RPM

    一.rpm是什么 RPM 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的.RPM包管理器(RPM)是一 ...

  6. Linux程序包管理

    一. RPM RPM的全名为"RedHat Package Manager",是由RedHat公司开发的.Rpm是以一种数据库记录的方式将所需要的套件安装到linux主机的一套管理 ...

  7. Linux 程序包管理-YUM

    前端工具YUM管理程序包:   rpm管理软件虽然方便,但是需要手工解决软件包的依赖关系:很多时候安装一个软件需要首先安装一个或多个(有时多达上百个)其它软件,手工解决很复杂:使用yum可以解决这个问 ...

  8. Linux系统程序包管理工具 RPM

    什么是RPM: RPM全名是"RedHat Package Manager",简称为RPM,这套软件管理机制是由RedHat这家公司发展而来的.RPM是以一种数据库记录的方式来将你 ...

  9. Linux程序包管理,YUM命令使用解析。

    在使用Linux的朋友,肯定会遇到软件包安装的问题,今天我来和大家一起学习一下YUM的使用. YUM (Yellow dog Updater Modified ): 是一个在Fedora和RedHat ...

最新文章

  1. opengl 预览摄像头
  2. ALV通过F4事件,实现自定义搜索帮助F4
  3. C# Timer定时器用法
  4. html字符串转换jsx,javascript – 将React.element转换为JSX字符串
  5. python编程计算前30项的和_Python 程序员需要知道的 30 个技巧
  6. 如何在Linux上运行Windows软件?
  7. 你和一位姑娘正在恋爱,很想知道她是不是喜欢自己
  8. 定时任务getScheduler
  9. CCF CSP 201604-1 折点计数
  10. 算法:回溯六 Permutations II数组全排列II
  11. 签到系统、评价系统、后台审核系统前后端接口实现总结
  12. Python pip安装 win32com模块
  13. 2017年西安邮电大学第十二届数学建模竞赛B题论文
  14. 深度学习模型试跑(十一):PaddleOCR(c++,vs2019)
  15. 簇(cluster)
  16. word如何去除表格中高亮部分(表格属性-边框和底纹)
  17. 【小技巧】解决你的Mac电脑报名教师资格证,为什么一直进不去?
  18. shell while true
  19. VnlnHub Momentum
  20. 聊聊运营活动的设计与实现逻辑

热门文章

  1. 今天写的一个GetProcAddress
  2. Cesar竞赛平台项目中期总结
  3. Python 生产者与消费者(一)
  4. U盘安装win8教程(资源下载地址、远程桌面连接方法等)
  5. perl:正则表达式部分
  6. Community Server系列之九:CS2中的用户管理1(MemberRole)
  7. 手撕一个spirng IoC的过程
  8. android开发环境建立以及开发工具的使用--怎样使用eclipse来开发android源码
  9. 《数据结构与算法 C语言版》—— 3.8习题
  10. xps 9550 uefi 安装操作系统详解