第一条命令只生成RPM包,第二条命令还会生成SRPM包,第三条命令将SRPM包生成RPM包,第四条是生成未打包的二进制文件。
先记住一个查看SPEC文件宏定义值的命令,然后再去记和签名相关的命令。另外,这些宏都定义在/usr/lib/rpm/macros文件中。
注: 该文件~/.rpmmacros
会重写系统定义的macros文件。
rpm2cpio命令
rpm2cpio httpd-2.2.3-63.el5.centos.x86_64.rpm > httpd.cpio
cpio -idmv < httpd.cpio
rpm2cpio httpd-2.2.3-63.el5.centos.x86_64.rpm > httpd.cpio | cpio -idmv
将rpm转换成cpio格式,然后再解压出来。
RPM包的简单介绍
正好我要打一个keepalived的RPM包,就拿这个来讲一下。
常见的RPM包名字格式是keepalived-1.2.7-1.x86_64.rpm
,其中keepalived为包名,1.2.7为版本,1是发行标记,x86_64是体系结构。有些RPM包的发行标记比较长,比如httpd-2.2.3-63.el5.centos.x86_64.rpm
。
体系结构是RPM可以安装的系统平台,常见的有i386, i686, x86_64, noarch,不常见的有ppc64, ia64, sparc64(感兴趣可以自己去查一下这些不常用的是什么意思)。
RPM包中只能看到头部(SPEC Header)和脚本(Scripts)信息,其他的都看不到。相关命令如下: