Linux实验报告-SRPM源码包安装Nginx
2014-02-26 10:51
375 查看
Linux实验报告-SRPM源码包安装nginx
实验背景:
一个软件包发布时,基于License方面和不同平台编译方面考虑,除了该软件的RPM包,还会发布一个包含源代码的SRPM源码包,通常以.src.rpm结尾。通过SRPM用户可以自定义重新编译生成适合用户自己Linux环境的RPM包。
按照默认参数安装一个源码格式的RPM程序包通常分为3个步骤:
1,安装源码包
rpmbuild -bb只生成二进制格式的rpm包 此命令执行结束后,rpmbuild目录下会新生成几个目录
实验目的:
了解SRPM源码包的安装步骤。
完成SRPM源码包格式Nginx安装,开启服务后,测试是否成功。
实验环境:
VmwareWorkstation 9,CentOS 6.4,httpd-2.4.7.tar.gz
实验步骤:
1,下载nginx源码包至本地 (http://mirrors.sohu.com/fedora-epel/6/SRPMS/)
2,安装源码包。完成后即可看到~/rpmbuild/SPECS目录下已经生成nginx.spec文件。
3,制作rpm包。
提示依赖性检查错误,有4个程序包需要安装。从yum仓库(本实验中yum仓库为系统镜像光盘)即可查找到除GeoIP-devel之外的其他3个程序包,依次安装完成。
由于yum仓库中无GeoIP-devel,从EPEL下载GeoIP-devel(http://mirrors.sohu.com/fedora-epel/6/x86_64/)至本地,依赖性要求,需先下载安装GeoIP。
[root@localhost SPECS]# yum localinstall/tmp/localpackage/GeoIP-1.4.8-1.el6.x86_64.rpm
[root@localhost SPECS]# yum install/tmp/localpackage/GeoIP-1.4.8-1.el6.x86_64.rpm
(实验环境是CentOS6.4,所以yuminstall/localinstall本地程序包同样有效)
重新执行命令 rpmbuild -ba nginx.spec即可正常完成。
4,之后,再~/rpmbuild/RPMS/x86_64目录下即可看到打包好的rpm包,开始安装。
至此,源码包格式的nginx程序包完成安装。
5,开始nginx服务,并测试成功。
实验中遇到的问题:(已解决)
--------------------------------------------------------------------------------------
问题的原因是:本实验的唯一yum源是系统光盘,而且这是DVD1, 而gd-devel在DVD2上,#yum list all ge-devel 可以查找的到是因为yum的数据库信息是针对于整个系统镜像,即包含DVD2
-------------------------------------------------------------------------------------
1,在安装gd-devel时,yum search gd-devel可以查找的到,但实际c6-media仓库中并不存在此程序包,以致yum install gd-devel无法安装。但既然其实没有此程序包的,不知为什么yum search还可以查询的到?已经yum clean all过了。最终通过网上(http://rpmfind.net)下载安装完成。
实验背景:
一个软件包发布时,基于License方面和不同平台编译方面考虑,除了该软件的RPM包,还会发布一个包含源代码的SRPM源码包,通常以.src.rpm结尾。通过SRPM用户可以自定义重新编译生成适合用户自己Linux环境的RPM包。
按照默认参数安装一个源码格式的RPM程序包通常分为3个步骤:
1,安装源码包
#rpm -ivh xxxxx.src.rpm 此命令会在当前用户家目录自动生成一个rpmbuild目录 #cd rpmbuild/ #ls rpmbuild/SOURCES 存放源程序、补丁、脚本等 #ls rpmbuild/SPECS 存放.spec文件,此文件定义了rpm包制作的过程,至关重要2,通过spec文件制作rpm包
#cd ~/rpmbuild/SPECS #rpmnbuild -ba xxx.specrpmbuild -ba编译生成二进制格式的rpm包,并生成一个源码格式的rpm包(将原.src再生成一次
rpmbuild -bb只生成二进制格式的rpm包 此命令执行结束后,rpmbuild目录下会新生成几个目录
#ls rpmbuild/RPMS/x86_64/此目录中生成制作好的rpm包,即可以开始安装此RPM包
#ls rpmbuild/SRPMS此目录中生成一个.src包,这个包可以拿到别的系统上安装再一次编译3,安装制作好的rpm包
#cd ~/rpmbuild/RPMS/arch #rpm -ivh xxxxxx.rpm
实验目的:
了解SRPM源码包的安装步骤。
完成SRPM源码包格式Nginx安装,开启服务后,测试是否成功。
实验环境:
VmwareWorkstation 9,CentOS 6.4,httpd-2.4.7.tar.gz
实验步骤:
1,下载nginx源码包至本地 (http://mirrors.sohu.com/fedora-epel/6/SRPMS/)
2,安装源码包。完成后即可看到~/rpmbuild/SPECS目录下已经生成nginx.spec文件。
3,制作rpm包。
提示依赖性检查错误,有4个程序包需要安装。从yum仓库(本实验中yum仓库为系统镜像光盘)即可查找到除GeoIP-devel之外的其他3个程序包,依次安装完成。
由于yum仓库中无GeoIP-devel,从EPEL下载GeoIP-devel(http://mirrors.sohu.com/fedora-epel/6/x86_64/)至本地,依赖性要求,需先下载安装GeoIP。
[root@localhost SPECS]# yum localinstall/tmp/localpackage/GeoIP-1.4.8-1.el6.x86_64.rpm
[root@localhost SPECS]# yum install/tmp/localpackage/GeoIP-1.4.8-1.el6.x86_64.rpm
(实验环境是CentOS6.4,所以yuminstall/localinstall本地程序包同样有效)
重新执行命令 rpmbuild -ba nginx.spec即可正常完成。
4,之后,再~/rpmbuild/RPMS/x86_64目录下即可看到打包好的rpm包,开始安装。
至此,源码包格式的nginx程序包完成安装。
5,开始nginx服务,并测试成功。
实验中遇到的问题:(已解决)
--------------------------------------------------------------------------------------
问题的原因是:本实验的唯一yum源是系统光盘,而且这是DVD1, 而gd-devel在DVD2上,#yum list all ge-devel 可以查找的到是因为yum的数据库信息是针对于整个系统镜像,即包含DVD2
-------------------------------------------------------------------------------------
1,在安装gd-devel时,yum search gd-devel可以查找的到,但实际c6-media仓库中并不存在此程序包,以致yum install gd-devel无法安装。但既然其实没有此程序包的,不知为什么yum search还可以查询的到?已经yum clean all过了。最终通过网上(http://rpmfind.net)下载安装完成。
相关文章推荐
- Linux下源码安装nginx-1.9.11
- Linux环境源码安装Nginx
- Linux实验报告-源代码编译安装Apache(Tarball文件安装)
- Linux 源码安装nginx
- Linux下最新版php5.6源码安装与apache/nginx集成教程
- wdOS系统下源码编译安装LNAMP(linux+nginx+apache+mysql+php)
- Linux下nginx源码包安装
- Linux下nginx源码包全模块支持安装笔记
- linux源码安装nginx
- linux的源码安装步骤(以安装nginx为例)
- linux下源码包安装nginx
- Linux下源码安装并配置Nginx
- linux中nginx的安装(源码安装)及简单应用(二)
- 实验报告一:Linux安装及环境熟悉
- Linux软件安装:源码、RPM、SRPM、YUM功能
- Linux系统 - 源码编译安装Nginx
- Linux下源码安装nginx服务器以及部分配置
- linux下安装nginx 源码包安装/yum安装
- linux 源码包安装LNMP(linux+nginx+mysql+php)服务器环境
- linux下php源码安装(nginx服务器篇)