首页 > 代码库 > rhel7 制作二进制RPM软件安装包简单示例

rhel7 制作二进制RPM软件安装包简单示例

下载rpm-build

# yum install rpm-build

如果上述方式无法安装(没配置网络源,虚拟机下是安装媒介源) 可以用下列方式下载后再安装(实践结果可能版本问题引起的缺少太多的*.so,不可行)

wget http://archive.download.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/rpm-build-4.0-4.i386.rpm
# rpm -ivh rpm-build-4.0-4.i386.rpm 

使用下面的方式:

配置个可用的RHEL7(=CentOS7)(163)网络源
具体做法 http://mirrors.163.com/.help/centos.html 有介绍

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# mv CentOS7-Base-163.repo /etc/yum.repos.d/rhel-source.repo
# vim /etc/yum.repos.d/rhel-source.repo

在vim命令模式下 将$releasever 替换为 版本号(7)

:%s/$releasever/7/g:wq

使用当前源

# yum makecache

然后重新回到主题(一路y)

# yum install rpm-build

rpmbuild默认的工作目录环境可以通过下面命令查看

rpmbuild --showrc | grep topdir

 然后根据上述命令查看的结果创建文件夹(已经cd到_topdir 目录下)

# mkdir BUILD RPMS SOURCES SPECS SRPMS

文件各就各位,这里演示的是打包已经编译好的二进制及一些相关文件的放置,不是源码编译打包。 

编写简单的projectname.spec文件放在SPECS目录下,庆幸的是在SPECS目录下命令vim projectname.spec 会自动构建一个简单的模板,我们只需填充并扩展该模板即可

技术分享
Name:Version:Release:        1%{?dist}Summary:Group:License:URL:Source0:BuildRequires:Requires:%description%prep%setup -q%build%configuremake %{?_smp_mflags}%installmake install DESTDIR=%{buildroot}%files%doc%changelog
View Code

下面是一个个人MySQLTransfer小工具的简单样例

 

然后通过运行rpmbuild命令进行打包

 

最终安装测试

# rpm -ivh wjshan0808.x.x.x.rpm

 

相关文档: http://rpm5.org/docs/max-rpm.html  想简单点话直接从Chapter 11. Building Packages: A Simple Example看。

 

rhel7 制作二进制RPM软件安装包简单示例