RPM概述
RPM( Redhat Package Manager)是openEuler、Redhat、CentOS、Fedora等Linux操作系统中的软件包管理器。
RPM所涉命令集:
- rpm:用来手动安装、卸载、查询、升级rpm包
- rpmbuild:用来把源码编译成RPM包
- rpmdevtool:用来创建rpmbuild目录、SPEC文件等
RPM具备以下优点:
- 内含编译程序,免编译。
- 预先检查系统版本,可避免文件被错误安装。
- 提供软件版本资讯,软件名称软件用途等相关信息,便于了解软件。
- 使用数据库记录RPM文件的相关参数,便于升级、移除、查询与验证。
rpm命令集简介
命令格式
- rpm [OPTION...]
部分参数说明
- -ivh //安装并显示安装进度和详细信息
- -qa //列出已安装在本机上的应用
- -va //列出本机上可能被修改过的应用
- -e //卸载应用
- -Uvh //升级软件包--Update;
- -qpl //列出RPM软件包内的文件信息[Query Package list]
- -qpi //列出RPM软件包的描述信息[Query Package install package(s)]
- -qf //查找指定文件属于哪个RPM软件包[Query File]
注: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文件中做什么没有太多限制,所以你可以弄的很复杂。