2020-04-05 rpm使用笔记

2020-04-05  本文已影响0人  Wonton_skin

RPM有五种基本的操作功能:安装、卸载、升级、查询和验证。此文主要关注安装打包功能。

0.常用命令

rpmbuild  --help         #Show this help message

rpmbuild --showrc    # display final rpmrc and macro configuration

例如:可以通过命令 rpm --showrc | grep prefix 查看。

1. 安rpmbuild装rpm-build软件,以提供rpmbuild命令,yum install rpm-build -y 

RPM打包使用的是rpmbuild命令,这个命令来自rpm-build软件包,这个是必装的。  

2. 打包命令

linux软件包分为两大类:

(1)二进制类包,包括rpm安装包(一般分为i386和x86等几种)

(2)源码类包,源码包和开发包应该归位此类(.src.rpm)。

基本格式:rpmbuild [options] [spec文档|tarball包(或者压缩包—以.gz或.xz或.bz2结尾的)|源码包],Usage: rpmbuild [OPTION...]

options有下面的几种选择,Build options with [ <specfile> | <tarball> | <source package> ]:

  -bb                          build binary package only from <specfile>

  -bs                          build source package only from <specfile>

举例:rpmbuild -bb --target=aarch64-himix100-linux --define "cross \"aarch64-himix100-

linux\"" xxx.spec

参数说明:

-bb ,只建立二进制包

--target,target是目标架构

--define,宏定义赋值,定义宏cross为aarch64-himix100-linux,此处cross是用于指定交叉工具链的前缀。

3. spec文件说明

BuildRoot: 这个是安装或编译时使用的“虚拟目录”,考虑到多用户的环境,一般定义为:%{_tmppath}/%{name}-%{version}-%{release}-root

4.rpm的工作目录

一般用户身份的主目录下如下结构的目录:rpmbuild目录,还有该目录下六个目录,包括:BUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS,各个目录的一般用途如下简介:

BUILD     编译rpm包的临时目录

BUILDROOT  编译后生成的软件临时安装目录

RPMS     最终生成的可安装rpm包的所在目录

SOURCES    所有源代码和补丁文件的存放目录

SPECS     存放SPEC文件的目录(重要)

SRPMS     软件最终的rpm源码格式存放路径

上一篇 下一篇

猜你喜欢

热点阅读