8.5.3 以spec文件重建RPM包
另一种方式是使用spec文件重建RPM包,其中spec文件是一个重建RPM包的配置文件,描述了RPM包的相关信息。同样以rsh为例,首先需要“安装”这个包,这里的安装打了引号是因为这不是真正意义上的安装,而是将源码包以及一些补丁(patch文件)解压到/usr/src/redhat/SOURCES目录,同时将一个spec文件解压到/usr/src/redhat/SPECS目录中的过程。实际上srpm包就是由源码包、补丁和spec文件组成的。
- [root@localhost i386]# rpm -i rsh-0.17-40.el5.src.rpm
图8-20中显示了“安装”srpm后,在相应目录中生成的文件。
图8-20 安装srpm包生成的文件
进入/usr/src/redhat/SPECS,使用该spec文件重建RPM包。
- [root@localhost SPECS]# rpmbuild -ba rsh.spec
这样在/usr/src/redhat/RPMS/i386下就会生成根据该spec文件重建的RPM包了。注意这次生成的包因为和之前快速重建生成的包名是一致的,所以需要做覆盖操作(可注意观察,文件的时间戳被更新)。
- [root@localhost i386]# ll
- total 152
- -rw-r--r-- 1 root root 74079 Feb 26 08:45 rsh-0.17-40.i386.rpm
- -rw-r--r-- 1 root root 67033 Feb 26 08:45 rsh-server-0.17-40.i386.rpm