源码包打包成rpm包

安装rpm-build软件包

1. [[email protected] ~]# yum -y install  rpm-build(建造)

2)生成rpmbuild目录结构

1. [[email protected] ~]# rpmbuild -ba nginx.spec(为了生成下面6个目录 没有其他作用)

2. [[email protected] ~]# ls /root/rpmbuild

3. BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

Chroot   +任何目录 都可以将此目录伪装成根

准备工作,将源码软件复制到SOURCES目录

1. [[email protected] ~]# cp nginx-1.8.0.tar.gz /root/rpmbuild/SOURCES/(存放源码包)

4)创建并修改SPEC配置文件

1. [[email protected] ~]# vim SPECS/nginx.spec  自动生成

2. 填空

3. Name:nginx        必须填对

4. Version:1.8.0  必须填对

5. Release:    1%{?dist}

6. Summary:test

7.

8. License:GPL    协议 任意复制 粘贴 修改 转发 具有继承性,改过之后的版本 必须也是开源 否则违法被告 GPL受法律保护

9. URL:    www.test.com

10. Source0:nginx-1.8.0.tar.gz必须跟包名一样

11.

12. #BuildRequires:    依赖包

13. #Requires:

14.

15. %description  软件的详细描述

16. test too##########***********随意写

17. 以上属于描述信息

18. ####################################

19.

20. %post

21. sh /root/rpmbuild/SPECS/nginx.sh

22. 可以创建用户 可以echo 可以启动服务等

23. 也可以通过路径指定脚本

24. 写脚本的话路径必须要与下面的路径同步

25. %prep

26. %setup -q  自动tar解包 自动cd进去nginx-1。8

    %build

27. ./configure  --prefix=/usr/local/nginx --with-http_ssl_module 自己添加模块 需要指定路径

28. make %{?_smp_mflags}

29. %install

30.

31. make install DESTDIR=%{buildroot}

32. mkdir -p %{buildroot}/etc/init.d/

33. install /root/rpmbuild/SPECS/nginx.sh %{buildroot}/etc/init.d/

34. ##注意,这里是将一个脚本拷贝到安装目录,如果没有则不需要该指令

35. install 相当于cp

36. %files

37. %doc

38. /etc/init.d/nginx.sh            #将前面拷贝的脚本,打包到RPM中

39. /usr/local/nginx/*  此时的根是buildroot

40.

41. %changelog

步骤二:使用配置文件创建RPM包

1)安装依赖软件包

1. [[email protected] ~]yum –y install  gcc  pcre-devel zlib-devel openssl-devel (安全ssl的依赖包)

2)rpmbuild创建RPM软件包

1. [[email protected] ~]# rpmbuild -ba SPECS/nginx.spec

2. [[email protected] ~]# ls RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

3. [[email protected] ~]# rpm -qpi /root/rpmbuildRPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

4. 查看软件包的详细信息

5. Name        : nginx        Relocations: (not relocatable)

6. Version     : 1.8.0        Vendor: (none)

7. Release     : 1            Build Date: Mon 02 May 2016 02:30:53 AM PDT

8. Install Date: (not installed)            Build Host: localhost

9. Group       : Applications/Internet        Source RPM: nginx-1.8.0-1.src.rpm

10. Size        : 721243                    License: GPL

11. Signature   : (none)

12. URL         : www.nginx.org

13. Summary     : Nginx is a web server software.

14. Description :

15. nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler.

16. [[email protected] ~]# rpm -qpl RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

17. /usr

18. /usr/local

19. /usr/local/nginx

20. /usr/local/nginx/conf

21. /usr/local/nginx/conf/fastcgi.conf

22. /usr/local/nginx/conf/fastcgi.conf.default

23. /usr/local/nginx/conf/fastcgi_params

24. /usr/local/nginx/conf/fastcgi_params.default

25. /usr/local/nginx/conf/koi-utf

26. /usr/local/nginx/conf/koi-win

27. /usr/local/nginx/conf/mime.types

28. /usr/local/nginx/conf/mime.types.default

29. /usr/local/nginx/conf/nginx.conf

30. /usr/local/nginx/conf/nginx.conf.default

31. /usr/local/nginx/conf/scgi_params

32. /usr/local/nginx/conf/scgi_params.default

33. /usr/local/nginx/conf/uwsgi_params

34. /usr/local/nginx/conf/uwsgi_params.default

35. /usr/local/nginx/conf/win-utf

36. /usr/local/nginx/html

37. /usr/local/nginx/html/50x.html

38. /usr/local/nginx/html/index.html

39. /usr/local/nginx/logs

40. /usr/local/nginx/sbin

41. /usr/local/nginx/sbin/nginx

步骤三:安装、卸载软件

1. [[email protected] ~]# rpm -ivh RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

2. [[email protected] ~]# rpm -qa |grep nginx

3. [[email protected] ~]# /usr/local/nginx/sbin/nginx

4. [[email protected] ~]# curl http://127.0.0.1/

5. [[email protected] ~]# /usr/local/nginx/sbin/nginx -s stop

6. [[email protected] ~]# rpm -e nginx 卸载

可以通过scp将打包好的nginx包传给其他主机

scp /root/rpmbuild/RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm [email protected]:/

新建yum仓库进行yum安装

时间: 2024-11-05 23:19:28

源码包打包成rpm包的相关文章

利用src.rpm包修改源码后重新制作rpm包

1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm

测试使用fpm将python3的源码打包成rpm来安装

一.基础环境 1.在tvm-base的基础上,复制一个镜像为tvm-rpm来测试. 2.网络: eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm) eth1:NAT(用于上外网,动态IP) [[email protected] ~]# ip a s dev eth0 |grep global     inet 192.168.56.253/24 brd 192.168.56.255 scope global eth0 [[email protected

将源码包制作成RPM包

前言: RPM包安装快速.方便.使用源码包可以定制想要的功能,然后将其制作成.rpm格式的包.在生产环境中,我们的开发人员通常下载好源码包,选择好自己所需功能,丢给运维人员制作rpm包后.将其丢入本地yum源库,以后直接调用安装... 下面我们以apache WEB源码包httpd-2.2.25.tar.gz为例,来制作RPM包. [[email protected] ~]# ls anaconda-ks.cfg  httpd-2.2.25.tar.gz [[email protected] ~

gitlab升级迁移---源码包安装转rpm包(三)

距离上次gitlab升级快过去一年了,期间gitlab已更新了好多新版本,都没有进行升级.理由很简单,因为升级很麻烦,秉着能用就先用着的想法.但是最近gitlab接连发出之前旧版本有安全漏洞,看到的公告是:<GitLab 叕发布安全补丁 12.0.3, 11.11.5 和 11.10.8,请即刻升级>,都出现“叕”字了,说明不得不升级了,毕竟代码是公司的核心资产. 那么说干就干,首先去gitlab官网查看升级文档,看需要升级哪些东西.我这gitlab之前是用源码包安装的,版本是10.8.7,需

【Java】Java程序打包成jar包在Linux上运行

当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行. 1.Java程序用MyEclipse打包成可运行的jar包 (1)在MyEclipse中选中需要打包的项目,点击右键,选择:Export... 如下图所示: (2)然后在弹出的窗口中选择:Java-->Runnable JAR file,然后点击:Next,如下图所示: (3)然后选择需要打包的程序和保存的地方,然后点击:Finish,如下图所示: 这样Java程序

[Java] Java 打包成jar包 和 解压jar包

解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项包括:     -c  创建新的归档文件     -t  列出归档目录     -x  解压缩已归档的指定(或所有)文件     -u  更新现有的归档文件     -v  在标准输出中生成详细输

Cocos2dx打包成apk包时在手机上闪退

在项目运行过程中,在手机上运行会出现闪退的现象, 报告错误代码如下: 06-30 10:45:19.921: E/cocos2d-x assert(28033): E:/workspace/cocos2d-x-2.2.2/projects/****/proj.android/../../../cocos2dx/platform/android/CCApplication.cpp function:sharedApplication line:60 06-30 10:45:19.921: A/li

CentOS使用yum源中自带的rpm包安装LAMP环境

CentOS使用yum源中自带的rpm包安装LAMP环境.这是Linux下安装LAMP的环境一种最基本最简便的方式.新手可以从容安装使用. 1. 安装基础包(可选安装)yum install -y wget zip unzip gzipyum install -y python ruby perlyum install -y gc gcc gcc-c++ 2. 安装php及其相关组件yum install -y php php-gdyum install -y php-mbstring php-

maven把项目打包成jar包后找不到velocity模板的bug

使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误, Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.load