• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 程序设计
  • 信息安全
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >RedHat/Centos > CentOS下将软件源码打包为RPM的方法

CentOS下将软件源码打包为RPM的方法

作者:libinbin_1014 字体:[增加 减小] 来源:互联网 时间:2017-05-12

libinbin_1014 通过本文向大家介绍了centos rpm安装,centos rpm包下载,centos安装rpm包,rpm gpg key centos 6,centos rpm安装mysql等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖

 平台:centos6.5

首先是搭建环境:

</p> <p> [root@localhost binbin]#yum install -y rpm-build</span> </p> <p>[cpp] view plaincopyprint?
</p> <p> [root@localhost binbin]#yum install redhat-rpm-config </div>

之后会在/root目录下有一个rpmbuild目录

</p> <p> [root@localhost rpmbuild]# pwd
/root/rpmbuild</span> </div>

 
进入该目录,里面有五个文件夹分别是BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
刚开始时都是空的

</p> <p> [root@localhost rpmbuild]# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS </div>


如果没有这几个目录可以手动添加创建


这六个目录的作用分别是:
BUILD :rpmbuild编译软件的目录
BUILDROOT :
RPMS :rpmbuild创建binary RPM 所存放的目录
SOURCES :存放源代码的目录
SPECS :存放spec文件的目录
SRPMS :rpmbuild创建souce RPM 所存放的目录

首先是将放置有源码的文件夹进行打包。此处我的文件夹起名为login-1.0

</p> <p> [root@localhost binbin]#tar zcvf login-1.0.tar.gz login-1.0
[root@localhost binbin]#ls
login-1.0.tar.gz login-1.0 </div>


将login-1.0.tar.gz拷贝至rpmbuild/SOUCES目录下

</p> <p> [root@localhost binbin]#cp login-1.0.tar.gz /root/rpmbuild/SOURCES
[root@localhost SOURCES]# ls
login-1.0.tar.gz </div>

此时进入SPEC目录,编写SPEC文件(此步是打包rpm包的关键一步)

</p> <p> [root@localhost SOURCES]#cd ../SPECS
[root@localhost SPECS]#touch login.spec
[root@localhost SPECS]#ls
login.spec
[root@localhost SPECS]#vim login.spec </p> <p>
[html] view plaincopyprint?
</p> <p> #名字
Name: login
#版本号
Version:1.0
#编译的次序
Release:1
#一句话介绍包 (不超过50个字符)
Summary: is test
Group: Applications/Communications
License: GPL
URL: www.ciis.com
#要安装的压缩包源文件
Source: login-1.0.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
a test
#构建包前的处理
%prep


#-- 解压:这里主要是构建的时候解压缩源码到系统目录,这里是$RPM_BUILD_DIR
# setup -c 解压的时候会生成一个和压缩包同名的新目录 ; setup -n dirname 指定一个新的目录以解压缩 setup -q 直接解压,不产生新的目录
%setup -q


#-- 生成:这里主要是构建二进制包的的时候执行编译生成二进制文件
%build
make


#-- 安装:构建的时候把当前文件安装到系统目录$RPM_BUILD_ROOT/下,二进制安装的时候是安装文件到/根目录下
%install


#make install #使用makefile的install,方便
#没有makefile,自定义安装脚本
rm -rf $RPM_BUILD_ROOT/*
mkdir -p $RPM_BUILD_ROOT/usr/bin/
cp -r $RPM_BUILD_DIR/%{name}-%{version} $RPM_BUILD_ROOT/usr/bin/


#安装完成后续:二进制包安装后的处理脚本
%post
chmod +x /usr/bin/%{name}-%{version}/confAgent
chmod +x /usr/bin/%{name}-%{version}/check_confAgent.sh


#卸载完成后续:二进制包卸载完成后的处理脚本
%postun
rm -fr /usr/bin/%{name}-%{version}


#清理:构建包完成后处理
%clean
rm -rf $RPM_BUILD_ROOT


#文件列表:指示哪些文件应该被安装到系统中以及安装的目录;
#构建包时,文件列表的文件或目录必须和虚拟目录RPM_BUILD_ROOT中的文件或目录一致,否则构建时会
#提示找不到文件
%files
%defattr(-,root,root)
/usr/bin/%{name}-%{version}


%changelog </div>

保存退出,执行打包命令

</p> <p> [root@localhost SPECS]#rpmbuild -ba login.spec</span> </div>


之后会在RPMS/i686目录下有相应的rpm包,这里是login-1.0-1.i686.rpm

</p> <p> [root@localhost SPECS]# cd ../RPMS/i686
[root@localhost i686]# pwd
/root/rpmbuild/RPMS/i686
[root@localhost i686]# ls
login-1.0-1.i686.rpm </div>

测试安装

</p> <p> [root@localhost binbin]#ls
login-1.0-1.i686.rpm
[root@localhost binbin]#rpm -ivh login-1.0-1.i686.rpm
[root@localhost binbin]#/usr/bin/login-1.0/demo </div>

即可运行客户端

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • centos下如何安装卸载命令rpm make install?
  • CentOS系统中rpm包管理器的使用技巧
  • CentOS下将软件源码打包为RPM的方法
  • CentOS系统中RPM的基本使用方法
  • CentOS下rpm包与yum安装与卸载方法

相关文章

  • 2017-05-12如何重置CentOS 7的Root密码?设置CentOS 7的Root密码的方法与步骤
  • 2017-05-12CentOS如何添加用户到sudoers?
  • 2017-05-12CentOS 6.5服务器安全加固及性能优化
  • 2017-05-12centos下coreseek安装及使用方法
  • 2017-05-12Centos6下使用yum安装Varnish的配置方法
  • 2017-05-12CentOS6.5安装的UEFI-GPT回退为MBR引导详解
  • 2017-05-12Centos6.6系统如何做profile?
  • 2017-05-12CentOS使用脚本管理服务的详解
  • 2017-05-12简单几步让CentOS时间同步的方法
  • 2017-05-12CentOS 5.5配置Ganglia的步骤(Ganglia的源码安装)

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • centos yum只更新安全补丁操作
    • 在CentOS系统上安装机器学习框架Caffe的方法
    • Centos下如何拷贝整个目录命令?Centos下拷贝目录命令的方法
    • Centos 6.5 x86_64 安装或者设置花生壳ddns的技巧
    • Linux sleep命令使用参数
    • 在CentOS系统上安装部署iSCSI客户端的教程
    • CentOS下的系统负荷详解
    • centos如何批量修改文件名命令?
    • CentOS下把home空间的分出来给root的方法
    • CentOS系统里如何提高文本搜索效率?

关于我们 - 联系我们 - 免责声明 - 网站地图 - 投诉建议

©CopyRight 2015-2017 www.weikejianghu.com Inc All Rights Reserved. 微课江湖 版权所有