Centos6_64 rpm打包实践

安装rpmbuild

sudo yum install rpm-build

普通用户的配置

/home/you/rpmbuild/ 假设是要构建rpm的目录

 

先说说rpmbuild有什么用,给一个例子:

echo "%  _topdir/home/you/rpmbuild" > ~/.rpmmacros

mkdir -p /home/you/rpmbuild/{SPECS,BUILD,SRPMS,RPMS,SOURCES}

 

/usr/lib/rpm/macros 中配置可以更改具体的构建配置项,如果出错时可以修改这个【新旧版本区别】

构建

v 从源码构建

rpmbuild -ta memcached-1.x.x.tar.gz

 

v Mysql构建例子

sudo yum install gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake

首先确保mysql的依赖库是否可用

为了方便,把

把mysql-5.6.15.tar.gz拷贝到/home/you/rpmbuild/SOURCES

把mysql-5.6.15/support-files/mysql.5.6.15.sepc 拷贝到 /home/you/rpmbuild/SPECS

rpm -bb /home/you/rpmbuild/SPECS/mysql.5.6.15.sepc 

完成后可以在/home/you/rpmbuild/RPMS 下看到构建出来的mysql的rpm文件包

 

如果想定制,可以针对mysql.5.6.15.sepc修改,重新构建即可

 

参考

http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/ 用 RPM 打包软件,第 1 部分

 

时间: 2024-07-30 03:05:43

Centos6_64 rpm打包实践的相关文章

RPM打包利器RPM_CREATE

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4        RPM 是 Redhat Package Manager 的简称,是由 redhat 公司研制,用在 Linux 系统下的系统包管理工具. RPM 包目的:是使软件包的安装和卸载过程更容易,简化软件包的建立分发过程,并能用于不同的体系结构, RPM 系统已成为现在 Linux 系统下包管理工具事实上的标准,并且已经移植到很多商业的 unix 系统之下 .

rpm打包和yum安装,以及安装后自启动

rpmbuild 可以把源文件或者二进制文件打包成rpm包,rpm包可以放到源上进行分发. 执行rpmbuild --showrc  |grep topdir,可以找到rpmbuild 执行的根目录, 如果仅仅希望给把二进制文件打包成rpm包,那么把二进制文件放到  $topdir/BUILD/ 目录下. 编写${binary}.spec Summary: client Name: client Version: 0.6 Release: 1 Vendor: company License: c

FPM定制RPM包实践

1.1 快速部署方案  问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案. 解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接就可以使用 2.SaltStack,puppet,ansible 3.定制 rpm yum 仓库 yum 安装 4.openstack 虚拟机镜像和 docker 容器分发 1.2 回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验

[坑]打rpm包时,注意%post和%postun的执行顺序

问题 掉进坑里面了.最近完成了阿里PHP5.5.25的rpm打包.今天在升级其中一个扩展的时候发现,只要升级成功之后,扩展在配置文件中相关配置项就会被注释掉.最终定位到是spec文件中%postun段写的有问题. spec文件中%postun段的代码示例如下: %postun conf_path="/php-fpm/lib/php.ini" sed -i 's/^\[tclip\]/;\[tclip\]/g' $conf_path sed -i 's/^extension=tclip.

Linux源码包制作RPM包之Apache

公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能节约不少的时间. 有关内网yum源的搭建,可以参考<烂泥:yum的使用及配置>这篇文章. 一.安装rpm-build 查阅相关资料得知,要把源码包制作成rpm包需要使用rpm打包工具rpm-build. rpm-build通过rpmbuild命令根据本地源码包,通过spec文件中的规则就可以把源码包制作成rpm包. 现在我们来安装rpm-bu

centos 6.5系统下使用rpmbuild打包包含共享库的软件

问题描述 centos 6.5系统下使用rpmbuild打包包含共享库的软件 目的:项目组的一个跨平台软件,现在需要生成xxxx.rpm软件包,以便可以直接使用系统自带的命令安装(rpm和yum等),及后期加补丁和升级. 进展: 1. 本人使用的是rpm打包工具,其中的spec文件内容如下: Name: ads Version: 1.0.0 Release: 1 Summary: GNU hello test for rpm building Group: Development/Tools L

CentOS 6.6 x86_64 RPM包制作教程

一.RPM包介绍 对RPM包有五种基本的操作功能:安装.卸载.升级.查询和验证.linux软件包分为两大类:    1. 二进制类包:包括rpm安装包(一般分为i386和x86_64这几种)     2. 源码类包:源码包和开发包(.src.rpm)都是属于此类 有时候为了方便源码包的安装,和我们自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,当有源码包就可以直接编译得到二进制安装和其他任意包,另外,我们也可以使用rpm包来打包一些文件或者自己开发的一套软件,使用rpm有数

Linux系统下软件包的制作方法和过程

  总的情况下Linux下软件安装主要有三种方式: 一种是源码安装,需要用户自己手动编译 另一种是RPM包(RedHat Linux Packet Manager),通过RPM命令就可以实现安装 还有一种为*.bin文件,安装方法与Windows下的安装过程类似 通常情况下Linux 安装软件主要通过以下两种方式 ① 文件名形如xxx.i386.rpm ,软件包以二进制形式发布. ② 文件名形如xxx.tar.gz ,软件包多以源码的形式发布. Linux软件包管理可以分为三类:二进制包的管理,

PostgreSQL 10 + PostGIS + Sharding(pg_pathman) + MySQL(fdw外部表) on ECS 部署指南(适合新用户)

标签 PostgreSQL , Linux , CentOS 背景 新用户部署PostgreSQL以及空间数据库插件PostGIS的指南. 内网环境RPM打包(可选项) 如果是内网环境,可以将包全部下载到本地再用rpm安装. 安装epel和postgresql yum rpm两个包后再执行: 1.使用yum-utils的yumdownloader下载需要的安装包,包括依赖包. yum install -y yum-utils yumdownloader --resolve --destdir=/