rpm打包

转载 2013年12月04日 14:38:11

1、介绍

 对一个源文件打包,可以打包成一个二进制文件rpm,也可以打包成一个源码包文件.src.rpm文件。只要看打包时的参数来决定。 如:

rpmbuild  -bb   xxx.spec  打包成一个二进制文件。

rpmbuild  -bs   xxx.spec   打包成一个源码文件.

rpmbuild  -bp   xxx.spec  源文件放入到BUILD目录中。

rpmbuild  -ba   xxx.spec  以上三种情况。

2、执行步骤:

以一个简单的源码文件helloworld.c 为了。

1、mkdir   helloworld , cd helloworld

2、编写一个helloworld.c 和 一个Makefile

3、cp -rp helloworld  /usr/src/redhat/SOURCE

4、tar -zcvf helloworld-1.0.0.tar.gz helloworld

5、cd /usr/src/redhat/SPECS

6、编写一个hello-1.0.0.spec脚本

7、进行打包rpmbuild -bb  hello-1.0.0.spec

hello.c

#include <stdio.h>
 
int main(void)
{
    printf("Hello, world !/n");
    return 0;
}

Makefile

cc = gcc 
hello:hello.o
    $(cc) hello.o -o hello
hello.o:hello.c
    $(cc) hello.c -c -g
fresh:
    rm -rf Makefile
clean:
    rm -rf hello hello.o
install:
    cp hello /usr/bin
uninstall:
    rm -rf /usr/bin/hello

helloworld-1.0.0.spec

 

summary: the First RPM of JL
Name:helloworld
Version:1.0
Release:0
Vendor:JL (
jiangle07@gmail.com)
License:Share
Group:Applications/Text
Source0:helloworld-1.0.0.tar.gz
#Patch0:helloworld-0.1-1.patch
%description
My test helloworld
%prep
export RPM_SOURCES_DIR=/usr/src/redhat/SOURCES
export RPM_BUILD_DIR=/usr/src/redhat/BUILD
tar -xvf $RPM_SOURCES_DIR/helloworld-1.0.0.tar.gz
#%patch
%build
cd $RPM_BUILD_DIR/helloworld
make
%install
cd $RPM_BUILD_DIR/helloworld
make install
%clean
rm -rf $RPM_BUILD_DIR/helloworld
%files
#%defattr(-,root,root)
#/usr/bin/helloworld
%doc
/usr/src/redhat/BUILD/helloworld/readme
#%changelog
#* Wed June 20 2009 jiang le
jiangle07@gmail.com
#- le test it

RPM打包原理、示例、详解及备查

本文介绍了RPM打包的原理,并通过一个完备的“hello”源码演示了打包过程,最终详细介绍了SPEC的配置方法。...
  • get_set
  • get_set
  • 2016年12月04日 16:23
  • 3918

rpm包打包过程详解(一)——rpm打包

制作rpm包 需要软件: 系统环境:[红帽企业Linux.6.4.服务器版].rhel-server-6.4-x86_64 首先安装rpmdevtools这个工具,该工具包含rpmbuild,r...
  • wutangkafei1990
  • wutangkafei1990
  • 2015年10月27日 15:55
  • 7195

centOS下制作RPM包

1.环境的准备: 安装环境时当前用户要有系统管理权限。但是在制作RPM包时请一定要用无系统管理权限的用户来进行操作。在开始一切的准备工作之前,请先保证您的工作环境下已经安装了gcc和make。关于这...
  • Lin_litao
  • Lin_litao
  • 2014年04月18日 11:58
  • 6583

利用rpmbuild打包定制属于你自己的RPM包

好久没自己写技术日志了,最近在研究rpm打包. 今天把它分享出来哈~~ rpm的优势就是安装和后期升级方便快捷,无需再次手动编译源代码。节省很多时间。. 这里已Nginx 服务器安装包为实例进行试验....
  • blscok
  • blscok
  • 2014年05月29日 12:24
  • 1169

Yum离线安装(一) --- RPM 打包技术与典型 SPEC 文件分析

一、介绍 RPM全称是 Red Hat Package Manager(Red Hat包管理器)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件。 RP...
  • chengfei112233
  • chengfei112233
  • 2012年06月07日 15:06
  • 5631

RPM打包C++程序实例

1.首先找到打包目录 $ rpm --showrc|grep _topdir -14: _builddir %{_topdir}/BUILD -14: _rpmdir %{_topdir}/R...
  • luchengtao11
  • luchengtao11
  • 2017年07月13日 09:33
  • 128

自定义RPM打包+本地yum仓库 - 学习笔记

一. Memcached相关 ------------------------------------- 1.安装memcached:   yum install libevent libeve...
  • wmj2004
  • wmj2004
  • 2017年01月19日 14:56
  • 682

Yum离线安装(一) --- RPM 打包技术与典型 SPEC 文件分析

来源:http://blog.csdn.net/chengfei112233/article/details/7641923 一、介绍 RPM全称是 Red Hat Package...
  • book_lba_csdn
  • book_lba_csdn
  • 2017年01月16日 17:22
  • 210

用 RPM 打包软件,第 2 部分

在不具备 root 权限的情况下构建、给软件打补丁和分发 RPM RPM 是一种广泛用于发布 Linux 软件的工具; 用户可以轻松地安装用 RPM 打包的产品。在本文(该系列文...
  • wisgood
  • wisgood
  • 2015年01月07日 19:28
  • 585

如何对程序进行rpm打包发布

正如之前提到的,一般项目(程序)的目录包含pkg文件夹这个中应该编写与打包对应的例程, 例如我目录下结构为 [clouduser@blog /home/clouduser/ZK_Ser...
  • timegoesby001
  • timegoesby001
  • 2013年12月02日 14:05
  • 1088
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:rpm打包
举报原因:
原因补充:

(最多只允许输入30个字)