CentOS 封装打包rpm

系统环境:CentOS 5

事项:用源文件创建rpm文件

关于生成rmp文件不单是要centos下可行,在Linux其它发行版也是可以的;以下安装 courier-authlib软件为例:

1、关于RPM

在新装的系统中可能没有下面目录,需要我们自己建立(如有则不需建立);下面我简介这几目录
/usr/src/redhat/SPEC spec 文件夹,通常是rpm文件夹
/usr/src/redhat/RPMS 是生成rpm 的文件,下面还有i368,i486 等子文件夹,一般我们用i386 架构
/usr/src/redhat/SOURCES 源文件文件夹
为了安装时切换目录的方便,我们将目录存放到一个shell变量里。

[root@localhost ~]# export RPMS=/usr/src/redhat/RPMS
[root@localhost ~]# export SOURCE=/usr/src/redhat/SOURCES
[root@localhost ~]# export SPEC=/usr/src/redhat/SPECS

在下面安装过程中,大家要记住cd $RPMS 与cd /usr/src/redhat/RPMS 的目的是一样的,只是shell变量的替换。

另:编译RPM前最好安装gcc,gcc-c++,libstdc++,libstdc++-devel等,当然也要根据错误提示安装关联包。

2、authlib软件安装依懒的包 
[root@localhost ~]# yum -y install postgresql-devel expect libtool-ltdl-devel
[root@localhost ~]# wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.61.0.tar.bz2
[root@localhost ~]# tar xjf courier-authlib-0.61.0.tar.bz2 
[root@localhost ~]# cd courier-authlib-0.61.0
[root@localhost courier-authlib-0.61.0]# cp courier-authlib.spec $SPEC
[root@localhost courier-authlib-0.61.0]# cd ..
[root@localhost ~]# cp courier-authlib-0.61.0.tar.bz2 $SOURCE
[root@localhost ~]# cd $SPEC
[root@localhost SPECS]# rpmbuild -bb courier-authlib.spec (创建rpm文件)

3、安装生成的rpm 
[root@localhost SPECS]# cd $RPMS/i386
[root@localhost i386]# rpm -ivh courier-authlib-0.61.0-1.i386.rpm 
[root@localhost i386]# rpm -ivh courier-authlib-devel-0.61.0-1.i386.rpm 
[root@localhost i386]# rpm -ivh courier-authlib-mysql-0.61.0-1.i386.rpm

另:courier-authlib软件源码包可以在官网下载后安装也是一样的;

URL:http://sourceforge.net/projects/courier/files/

添加新评论 »