linux运维常用的RPM管理工具笔记

网友投稿 751 2022-05-30

常见的软件包封装类型

封装类型

说明

rpm软件包

扩展名为“.rpm”

deb软件包

扩展名为“.deb”

源代码软件包

一般为“.tar.gz”、“.tar.bz2”等格式的压缩包

包含程序的原始代码

附带安装程序的软件包

在压缩包内提供install.sh、setup等安装程序

或以“.bin”格式的单个执行文件提供

绿色免安装的软件包

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用

RPM概述

RPM( Redhat Package Manager)

•由 Red Hat 公司提出,被众多 Linux 发行版所采用

•建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系

是openEuler、Redhat、CentOS、Fedora等Linux操作系统中的软件包管理器。

RPM所涉命令集:

rpm:用来手动安装、卸载、查询、升级rpm包

rpmbuild:用来把源码编译成RPM包

rpmdevtool:用来创建rpmbuild目录、SPEC文件等

RPM具备以下优点:

内含编译程序,免编译。

预先检查系统版本,可避免文件被错误安装。

提供软件版本资讯,软件名称软件用途等相关信息,便于了解软件。

linux运维常用的RPM管理工具笔记

使用数据库记录RPM文件的相关参数,便于升级、移除、查询与验证。

rpm命令集简介

命令格式

rpm [OPTION...]

部分参数说明

-ivh            //安装并显示安装进度和详细信息

-qa            //列出已安装在本机上的应用

-va            //列出本机上可能被修改过的应用

-e              //卸载应用

-Uvh          //升级软件包--Update;

-qpl          //列出RPM软件包内的文件信息[Query Package list]

-qpi          //列出RPM软件包的描述信息[Query Package install package(s)]

-qpc          //查看.rpm安装包内包含的配置文件列表

-qpd        //查看.rpm安装包内包含的文档文件列表

-qf           //查找指定文件属于哪个RPM软件包[Query File]

-ql           //查询指定软件包所安装的目录、文件列表

-qd          //仅显示指定软件包安装的文档文件

-qc          //仅显示指定软件包安装的配置文件

安装或升级RPM软件

格式:rpm  [选项]  RPM包文件...

用法:不同选项适用于不同情况

• -i:安装一个新的rpm软件包

• -U:升级某个rpm软件,若原本未装,则进行安装

• -F:更新某个rpm软件,若原本未装,则放弃安装

注:rpmbulid构建必须选择下列"模式"之一:

(1)从spec构建,(2)从Tar构建,(3)重新构建,(4)重新编译,(5)显示配置

rpmbuild部分参数命令介绍

命令格式

rpmbuild [OPTION...]

部分参数说明

-bp          //只作准备(解压与打补丁)

-bc           //准备并编译

-bi           //编译并安装

-bl           //检验文件是否齐全

-ba         //编译后生成*.rpm和src.rpm

-bb        //编译后生成*.rpm

-bs        //只生成*.src.rpm

rpmbuild目录介绍

rpmbuild目录是可以由命令rpmdev-setuptree自动生成

Rpmbuild目录的具体路径及用途如下:

RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用RPM删除程序时,它又会聪明地询问用户是否要删除有关的程序.

如果想发布RPM格式的源码包或者是二进制包,就要使用rpmbulid工具(RPM最新打包工具)

RPM 与rmpbulid之间的关系是RPM工具负责安装由rpmbulid编译生成的二进制文件RPM包。

重点:

什么是spec(配置规范文件)? RPM编译过程的核心是处理.spec文件

它说明了软件包怎样被配置,补缀哪些补丁,安装哪些文件,被安装到哪里,在安装该包之前或之后需要运行那些系统级别的活动。

它必须手写,但更简单的办法是拿来他人写好的,在此基础上修改。

RPM自身对于你能在spec文件中做什么没有太多限制,所以你可以弄的很复杂。

Linux 运维

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:我的第一个python web开发框架(6)——第一个Hello World
下一篇:App实现免填邀请码的原理和使用
相关文章