Rpm包管理功能全解

软件包管理的功能:将编译好的程序的各组成文件打包成一个或几个程序包文件,为了方便的实现程序包的安装、升级、卸载、查询、校验、数据库维护。

下面我们来看看RPM包管理的解析

Rpm包在redhat和S.U.S.E中有很大的应用

我们接下来就以centos系统中rpm包的管理做一些详细的功能解析

使用yum(rhel系列)安装时可以自动解决依赖关系d

rpm包命名格式:

name-VERSION-release.arch.rpm

VERSION:major.minor.release

Major:主版本号(版本有大的更新);  minor:次版本号(小更新)

release.arch:rpm包的发行号

release.os: 2.el7(平台).i386(架构).rpm  archetecture(架构):i386, x64(amd64), ppc, noarch理器;

实际操作:

本机在服务器上已经成功下载zsh-4.3.10-9.el6.x86_64.rpm用此来实施

  语法:rpm [options] [packages_file]

安装;-i,--install

rpm -ivh /path/to/rpm_package

-v;显示安装信息

-vv;显示更详细的安装信息

-h;以井号显示安装进度

--nodeps;忽略依赖关系(适用于卸载)

--force;强行安装(适用于卸载)

重装;--replacepkgs会覆盖原有信息

Rpm -i  --replacepkgs  /path/to/rpm_name

[root@bucktan ~]# rpm -ivh --replacepkgs zsh-4.3.10-9.el6.x86_64.rpm

卸载;-e,--erase

rmp -e package_name

--allmatches卸载匹配所有指定名称的软件包

--nodeps忽略依赖关系

--test 测试卸载

升级;-U -F

升级或安装;

rpm -U /path/to/rpm_package

--oldpackage降级

在服务器上取了两个包:zabbix-2.4.0-1.el6.x86_64.rpm

zabbix-2.4.5-1.el6.x86_64.rpm

之前升级至zabbix-2.4.5-1.el6.x86_64.rpm

[root@bucktan]~# rpm -Uvh --oldpackage zabbix-2.4.0-1.el6.x86_64.rpm

只升级;(若不存在旧版本则不会执行)

rpm -F /path/to/rpm_package

通常搭配vh使用;

rpm -Uvh|-Fvh /path/to/package

--nosignature 不检查包签名信息的合法性

注意;不要对内核执行升级操作

不同内核版本可以共存,因此可执行安装操作,但不建议升级

(重点) 查询;rpm {-q|--query} [select-options] [query-options]

查询包是否已安装;

rpm -q package_name

[select-options]:

rpm -qa查询所有已安装的包;

rpm -qf /path/to/file查询某文件是由那个包生成的;

-q --whatprovides   file_name  查询指定的capability由哪个程序包所提供

-q --whatrequires    file_name 查询指定的capability由哪个程序包所依赖

[query-options]:

rpm -ql package_name查询包安装后生成的文件;

rpm -qi package_name查询包的简要说明;

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

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

rpm -qR package_name 查询指定软件包的依赖关系

rpm -q --scripts   查询包相关的脚本;

脚本分四类

preinstall 安装前脚本

postinstall 安装后脚本

preuninstall 卸载前脚本

postuninstall 卸载后脚本

查询未安装包的相关信息;-qp

rpm -qpl package_file 查询安装后会生成的的文件

rpm -qpi package_file查询包的简单描述信息;

可搭配其选项使用,如-qp --scripts

校验;检查安装后的文件是否被修改过

rpm -V package_name

[root@bucktan ~]# rpm -V zsh

S.5....T.  c /etc/zshrc

返回的注释信息;

S file Size differs  大小

M Mode differs (includes permissions and file type) 头文件

5 digest (formerly MD5 sum) differs MD5

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 能力改变了

   校验来源合法性和软件的完整性

包完整性;单项加密机制(MD5|sha1..)

来源合法性;公钥加密机制(RSA)

rpm -K /path/to/packagefile直接检验程序包来源合法性

rpm --checksig /path/to/package_file

--nosigeature:不检查来源合法性

--nodigest:校验时不检查包完整性

导入GPG密钥文件:

rpm --import /path/to/gpg-key-file

导入以后再做验证

数据库

位置:/var/lib/rpm

重建:

rpm --initdb:初始化

如果事先不存在一个数据库,则新建之

rpm --rebuilddb 重建

直接新建数据库,会覆盖原有库

学习笔记之rpm程序包管理功能解析相关推荐

  1. Linux学习笔记:rpm程序包管理

    以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:     程序包的命名规则:         源代码包:             software_name-VER ...

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

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

  3. 以rpm为后端及以yum为前端工具的程序包管理器在Linux发行版系统centos中的使用...

    程序包管理: 应用程序的安装,实际上是解压缩并复制程序包中的文件到指定目录的过程: 程序包管理器: 方便终端用户进行程序的安装.卸载.升级.安装信息查询及校验等工作: 不同的Linux的发行版本中,有 ...

  4. CentOS程序包管理、上

    程序包管理: 应用程序的安装,实际上是解压缩并复制程序包中的文件到指定目录的过程: 应用程序的结构形式:源代码:包含了整个应用程序完整的编程语言的所有代码的文本文件集合:使用源代码安装应用程序:编译开 ...

  5. 程序包管理rpm、yum与简单编译安装程序

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  6. rpm包管理功能全解

    rpm包管理功能全解 rpm包管理功能全解              linux rpm问题:怎样查看rpm安装包的安装路径                      rpm -qa l grep   ...

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

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

  8. Rpm、Yum(程序包管理)

    一.前言 对于普通用户来说,安装一个程序,都可以比较简单的通过双击鼠标或者一条命令就可以完成,但如果没有包管理器,一切操作由用户自行完成,那么过程大概需要下载源码.编译.汇编.链接.将各类配置文件分门 ...

  9. Linux程序包管理(rpm)

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

最新文章

  1. Apche Httpd安装与配置
  2. 【Opencv探索】基于OpenCV的“图像拼接特效”(这效果很实用啊)
  3. 资料收集--Subversion与CVS的优势
  4. 云中的机器学习:FPGA 上的深度神经网络
  5. extmail垃圾邮件存放垃圾邮件箱
  6. vector占用内存的释放
  7. Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型
  8. LeetCode OJ Symmetric Tree 判断是否为对称树(AC代码)
  9. 如何用好埋点中的数据
  10. SilverLight基础介绍以及用C#语言创建一个silverlight项目
  11. 个人应对冲突的五种策略——笔记与答案
  12. 苹果鼠标右键怎么按_iPadOS 13.4 鼠标体验如何?附使用指南
  13. mysql字符集异常_mysql字符集设置出错问题
  14. win10重装系统后,蓝牙开关消失,点击添加蓝牙或其他设备,显示无法连接
  15. 《大护法》—— 花生镇里的成人童话
  16. AWK中的OFS的问题
  17. 腾讯云拟年内在全球增设超30%数据中心;Zepp Health首季成人智能手表出货量居全球前四 | 全球TMT...
  18. android 远程调试工具,【教程】搭配Android studio,如何实现app远程真机debug...
  19. 2022全国大学生物联网设计竞赛火热开启,限量礼品等你来拿
  20. synchronized同步机制——如果你愿意一层一层剥开我的心

热门文章

  1. BT下载原理学习简介
  2. 【万字详解+PPT下载】腾讯广告实时策略数据框架建设
  3. 郎朗和机器人合奏_从世界机器人大会看新中国70年科技发展成就
  4. 树状数组相关应用之二元变量结构体组队问题
  5. 西瓜书+实战+吴恩达机器学习(十三)监督学习之随机森林 Random Forest
  6. 花书+吴恩达深度学习(十三)卷积神经网络 CNN 之运算过程(前向传播、反向传播)
  7. Java实现对称加密算法-AES加解密
  8. WPF在代码中创建DataTemplate时候的异常
  9. python 切片_知乎问答之 Python 切片整理
  10. MyBatis入门到精通——Mybatis入门篇