linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)

编译源码格式的rpm包-----à并制作为二进制格式的rpm包

实例

#useradd  mockbuild (需要使用mockbuild用户来编译)

#rpm –ivh nginx……src.rpm(会在当前目录下生成rpmbuild目录)

#cd rpmbuild;ls(以下是子目录介绍)

SOURCES:存放的是程序源代码、补丁、脚本等。

SPECS:nginx.spec文件    指示如何解压,打补丁,如何./configure,make,makeinstall,如何封装为nginx…..rpm包。

#cd SPECS

#rpmbuild -ba(编译生成二进制格式的rpm包,并生成源码格式的rpm包) nginx.spec

# rpmbuild -bb(只编译生成二进制格式的rpm包) nginx.spec

报错----排错:报一堆错误,显示很多依赖的包未安装,用yum安装相关包,在执行上一条命令

yum没找到,找Fedora epel(yum仓库)配一下,在用yum安装(mirrors.sohu.com下就有)。

epel都没有相关程序,rpmfind上搜一下,找出对应平台(i386/x86_64),对应OS(rhel5/rhel6)的相关软件包,下载下来手动安装。

再到CD2上去在答案:#yum  install   gd…rpm  Geo…rpm

在执行这条命令:

#cd rpmbuild/SPECS

#rpmbuild -ba(编译生成二进制格式的rpm包,并生成源码格式的rpm包) nginx.spec

#cd ..

#ls RPMS/x86_64(这个目录下会生成二进制的rpm包,用rpm命令或者yum install即可安装)

#ls SRPMS(此目录下生成.src.rpm格式为后缀的源码rpm包,可以用于你在其他平台/操作系统上安装nginx程序)

#rpm -ivh  RPMS/x86_64/nginx….rpm

#apachectl stop

#service nginx  start

#netstat –tunp|grep 80

访问一下本机试试http://....../

****rpmbuild目录下可以放多个.src.rpm包生成的二进制包(RPMS目录),源码rpm包(SRPMS目录),程序源代码文件在SOURCES目录下!

linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)

时间: 2024-07-28 15:54:41

linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)的相关文章

【服务器环境搭建-Centos】Nginx1.9.9 安装(编译源码)

nginx官网不同版本下载地址:http://nginx.org/download/ 我使用的是nginx-1.9.8.tar.gz 安装其他支持软件 可以使用rpm –q xxx   查询库是否已经安装成功 gcc.make工具 rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ ) gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) ssl 功能需要 openssl 库 ( 下载: http://www.ope

LINUX下编译源码时所需提前安装的常用依赖包列表

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl -devel e2fsprogs e2fsprogs-de

Linux 安装node.js ---- 源码编译的方式

一 : 普通用户: 安装前准备环境: 1.检查Linux 版本 命令: cat /etc/redhat-release 2.检查 gcc.gcc-c++ 是否安装过 命令: rpm -q gcc rpm -q gcc-c++ 3.安装 gcc.gcc-c++ 命令: yum -y install gcc gcc-c++ kernel-devel 注意 :  如果是第一个安装,有可能 会报 错误:xxx is not in the sudoers file. This incident will

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

在Ubuntu上下载、编译和安装Android最新源码

看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源码了呢?一直习惯使用Windows系统,而Android源码是不支持在Windows上编译上,于是决定使用虚拟机安装Ubuntu,然后下载.编译和安装Android源码. 一. 环境准备. 1. 磁盘空间预留20G左右,内存3G,由于一边要跑主机,一边要跑虚拟机,内存要求还是比較高的,这样才会比較流畅. 2. 安装VMWare 7.1.4.我的操作系统是W

Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法. 这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢? 发行版的包管理器为我们提供了很方便的命令接口,供我们查找我们指定命令所在的包 比如我们以最普通的uname命令来说明, 使用我们使用whereis或者which命令可以查找命令的绝对位置 通过rpm或者dpkg命令搜索命令所属的包信息 下载并安装对应的源码source包,即可得到源码 CentOS等r

【Linux学习】 写一个简单的Makefile编译源码获取当前系统时间

打算学习一下Linux,这两天先看了一下gcc的简单用法以及makefile的写法,今天是周末,天气闷热超市,早晨突然发现住处的冰箱可以用了,于是先出去吃了点东西,然后去超市买了一坨冰棍,老冰棍居多,5毛钱一根,还有几根1.5的. 嗯 接着说gcc的事 先把源代码贴上来 //gettime.h #ifndef _GET_TIME_H_ #define _GET_TIME_H_ void PrintCurrentTime(); #endif //gettime.c #include <stdio.

27. 文件系统——编译安装源码格式的rpm包(src.rpm)

(1)安装src格式的rpm包 源码格式的rpm包(通常是src格式)无法直接使用,需要加工制作后才能使用 [[email protected] ~]# cd /yum/package/ [[email protected] package]# ls axel-2.4                                 nginx-1.7.10-1.el6.ngx.src.rpm # 现在想安装使用源码格式的nginx,但这个软件包不是二进制格式的,安装了以后无法正常使用 axel-

Android预安装软件&adb命令&编译源码

1.预安装软件: 将apk文件拷贝到 android/platform/thirdapp/ 目录下,然后编译android源码再烧录就可以完成 当然,在该下删除apk也可以实现去掉预装软件,这应该就是很多精简rom包实现的原理 2.编译android源码 进入android源码根目录下 rm $OUT/system $OUT/data $OUT/obj/APPS -rf source build/envsetup.sh  make image 3.烧录 将编译得到的out/mt8658sdk/b