制作RPM安装包
转载
试制做一个小的RPM包,环境是CentOS5做一下小记录,有待后面研究。
原创http://blog.ganxing88.cn
一、相关目录
/usr/src/redhat/SOURCES 存放源码压缩包和补丁文件,可用RPM_SOURCE_DIR引用
/usr/src/redhat/BUILD 存放源码,可用RPM_DUILD_DIR引用
/usr/src/redhat/SPEC 存放spec文件
/usr/src/redhat/RPMS/i386 最终RPM包
二、费话不多说,写一个小例子
1、制作成RPM包,着先要有tar包,再着手写一spec文件。因为对有些tar包写spec文件,有点难度。所以自己可以先写个c文件或shell脚本,进行测试,由简到难。
本例写一个查当前时间,负载的小脚本,其实就是一个uptime命令
- [root@CentOS ~]# cd /usr/src/redhat/SOURCES/
- [root@CentOS SOURCES]# vi showup.sh
- [root@CentOS SOURCES]# cat showhost.sh
- #!/bin/bash
- PORT=`/usr/bin/uptime`
- /bin/echo $PORT
- [root@CentOS SOURCES]# vi showup.sh
- [root@CentOS SOURCES]# chmod 755 showup.sh
- [root@CentOS SOURCES]# tar zcvf showup.tar.gz showup.sh
- showup.sh
复制代码
[separator]
2、通过上面一步tar文件已经完成,下面来写spec文件
- [root@CentOS SOURCES]# cd /usr/src/redhat/SPECS/
- [root@CentOS SPECS]# vi showup.spec
- [root@CentOS SPECS]# cat showup.spec
- Summary: This is a demo RPM Package.
- Name: showup
- Version: 1.0
- Release: 1
- License: GPL
- Group: My Home
- Source: showup.tar.gz
- Url: http://www.ganxing88.cn
- Packager: test
-
- %description
- This package is just a demo RPM/
-
- %prep
- %setup -c
- %install
- install -m 755 showup.sh /usr/local/bin/showup.sh
-
- %files
- /usr/local/bin/showup.sh
复制代码
3、开始编译并打包成RPM包
- [root@CentOS SPECS]# rpmbuild -ba showup.spec
- Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.12157
- + umask 022
- + cd /usr/src/redhat/BUILD
- + LANG=C
- + export LANG
- + unset DISPLAY
- + cd /usr/src/redhat/BUILD
- + rm -rf showup-1.0
- + /bin/mkdir -p showup-1.0
- (略)……
- Requires: /bin/bash
- Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
- Wrote: /usr/src/redhat/SRPMS/showup-1.0-1.src.rpm
- Wrote: /usr/src/redhat/RPMS/i386/showup-1.0-1.i386.rpm
复制代码
由输出信息可以看到编译好的RPM包所在的位置
4、安装测试
- [root@CentOS SPECS]# rpm -ivh ../RPMS/i386/showup-1.0-1.i386.rpm
- Preparing... ########################################### [100%]
- 1:showup ########################################### [100%]
复制代码
检查是否安装成功
- [root@CentOS SPECS]# rpm -qa | grep showup
- showup-1.0-1
-
- [root@CentOS SPECS]# /usr/local/bin/showup.sh
- 00:17:26 up 9 days, 10:57, 1 user, load average: 0.03, 0.05, 0.07
复制代码
下面再做个卸载测试
- [root@CentOS SPECS]# rpm -e showup
- [root@CentOS SPECS]# rpm -qa | grep showup
- [root@CentOS SPECS]# /usr/local/bin/showup.sh
- -bash: /usr/local/bin/showup.sh: No such file or directory
复制代码
看来已经卸载成功