本文解决了源代码安装都需要先检查系统上是否安装了应用程序所依赖的软件包的烦恼,对源代码开发者也有一定的帮助。可以在该基础上进行适当的修改,以满足自己的要求。

RedHat5 or CentOS5已经提供了制作RPM包的目录,可以直接把需要制作的RPM包的应用程序的源代码包放系统指定的目录,而不需要像在RedHat6(7)or CentOS6(7)上自己创建制作RPM包的目录。

1 添加普通用户

useradd redhat

passwd redhat

redhat

redhat

2 切换到普通用户redhat

su – redhat

3 在redhat的home目录下创建rpmbuild目录

mkdir –pv rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

4 把pgrpms项目(http://git.postgresql.org/gitweb/?p=pgrpms.git)克隆到本地

cd /opt

mkdir pgrpm

git clone git://git.postgresql.org/git/pgrpms.git

/opt/pgrpm/pgrpms

5 把pgrpms项目中与本地系统版本相对应目录中的文件复制到创建的SOURCE目录下

cp /opt/pgrpm/pgrpms/rpm/redhat/9.4/postgresql/EL-6/* /home/redhat/rpmbuild/SOURCE

cd /home/redhat/rpmbuild/SOURCE

cp postgresql-9.4.spec ../SPEC

6 下载PG9.4.5源码包与PG9.4.5的官方文档到/opt/soft_bak

postgresql-9.4.5.tar.bz2 postgresql-9.4-A4.pdf

7 把PG9.4.5源码包以及PG9.4.5的文档复制到/home/redhat/rpmbuild/SOURCE

目录下

8 安装PostgreSQL的依赖包

glibc-devel bison flex perl-ExtUtils-Embed per(ExtUtils::MakeMaker) python-devel tcl-devel readline-devel openssl-devel krb5-devel e2fsprogs-devel libxml2-devel libxslt-devel pam-devel libuuid-devel openldap-devel openjade opensp docbook-dtds

docbook-style-dsssl

9 开始打PG9.4.5二进制RPM包

(yum install –y rpm-build)

cd /home/redhat/rpmbuild/SPEC

rpmbuild –bb postgresql-9.4.spec

10 查看打好的RPM包

打好的RPM包存储在RPMS目录下

如何在RedHat6(7) or CentOS6(7)上制作无依赖的PostgreSQL数据库的RPM包的更多相关文章

  1. CentOS6.5 上crontab每天自动备份mysql数据库

    步骤: 1. sudo vi /etc/crontab  #编辑crontab任务 2.输入01 12 * * * root /usr/local/mysql/backup/backup.sh > ...

  2. Windows上Navicat工具远程连接PostgreSQL数据库

    首先,在pgdata(也就是在安装pg时指定的存放数据的文件见中)文件夹中,找到pg_hba.conf文件,在文件最后写入下面的内容: host all all 0.0.0.0/0 trust 接着, ...

  3. 最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi

    最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi 使用Jexus5.8.1独立版 http://www.linuxdot.net/ ps:该“独立版”支持64位的CentOS ...

  4. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  5. CentOS6.5上golang环境配置

    CentOS6.5上golang环境配置 一.下载和解压go环境包 >>cd /usr/local/src/ >>wget -c http://golangtc.com/sta ...

  6. Centos6.6上安装mysql5.6中的一些典型问题

    经过两天的摸索,终于成功在CentOS6.6系统上成功安装了mysql5.6,现整理如下. (1)安装时的问题: 最小化安装后,安装rpm包时经常会遇到 linux/centos Header V3 ...

  7. aliyun CentOS6.5 上 svn 安装笔记

    为了方便管理自己的一些学习资料.总结等,在CentOS6.5上安装SVN,记录过程如下: 1.1  安装方式  独立服务器  fsfs SVN服务器有2种运行方式:独立安装.SVN+Apache.独立 ...

  8. CENTOS6.6上搭建单实例ORACLE12C

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 自己在centos6.6上搭建的单实例oracle12c 由 ...

  9. centos6.8上yum安装zabbix3.2

    centos6.8上yum安装zabbix3.2 zabbix3.2安装文档:https://www.zabbix.com/documentation/3.2/manual/installation/ ...

随机推荐

  1. Worker 工作 后台js 工作

    <script type="text/javascript"> var w; function startWorker() { if (typeof (Worker) ...

  2. mysql入门问题

    1.给列设置默认时间 在创建表的图形化界面,不能直接用函数sysdate()或者now()来设置默认当前时间,要用sql脚本创建的话就可以 IF NOT EXISTS `tb_1` THENBEGIN ...

  3. Scrapy入门教程

    关键字:scrapy 入门教程 爬虫 Spider作者:http://www.cnblogs.com/txw1958/出处:http://www.cnblogs.com/txw1958/archive ...

  4. Python实用工具包Scrapy安装教程

       对于想用每个想用Python开发网络爬虫的开发者来说,Scrapy无疑是一个极好的开源工具.今天安装之后觉得Scrapy的安装确实不易啊.所以在此博文一篇,往后来着少走弯路. 废话不多说了,如果 ...

  5. Defining Stored Programs

    ok DROP PROCEDURE IF EXISTS truncate_insert_rank_month; DELIMITER /w/ CREATE PROCEDURE truncate_inse ...

  6. 浅谈 举家搬迁静态文件到CDN

    由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...

  7. java中关于集合的知识点梳理

    一:概述 1.集合的特点 只存储对象,集合长度是可变的,集合可以存储不同类型的对象. 2.集合框架     Collection    List | | Set ArrayList    Linked ...

  8. [ASP.NET] Dictionary 和 Hashtable 区别

    Dictionary和Hashtable 是两个比较常用的表示键/值的集合,两者在实际使用过程中有何区别呢? 具体区别如下: 1. Hashtable不支持泛型,而Dictionary支持泛型. 2. ...

  9. .Net程序员安卓学习之路6:等待条

    一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条 本例将实现一个无框架的等待条,效果如下: 点击后,使线程Sleep5秒,就出现如下效果: 实现代码如: private Progre ...

  10. iOS xib传值--定义方法传值

    事件描述: 用xib创建了一个View,里面有按钮,有TableView.我需要将数据在初始化时传递进去,方便TableView来显示信息. 首先想到的是awakeFromNib这个方法(我以为是和V ...