Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10705524
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-06-19 17:33:12

实验名称:开放源代码应用程序的编译与安装
实验目的:本例将以编译安装httpd为实例来讲述源代码安装的基本步骤
实验准备:安装了Linux系统的计算机,试验用的登录账号,httpd压缩包,ISO镜像制作工具(因为是在虚拟机的环境下,所以需要制作Httpd镜像文件)
试验步骤:
从应用程序源代码编译安装应用程序通常需要以下几个步骤
确认当前系统中具备软件编译的环境
获得应用程序的源代码软件包文件
解压缩源代码软件包文件
进行编译前的配置工作
进行程序源代码的编译
将编译完成的应用程序安装到系统中
下面以编译安装httpd为例(本例中使用的Httpd压缩包已经事先下载到windows主机中,供试验使用)。
(一)、首先要准备好编译的环境
1、使用ISO软件将httpd压缩包制作成ISO镜像,待用。因为是用虚拟机做这个试验,所以需要把httpd制作成关盘镜像插入到linux虚拟光驱中,挂载使用。
Httpd压缩文件拖入到上方的空白处
 
 
 
将拖入到上方的httpd文件另存为ISO文件,保存到一个位置,备用,本例保存到桌面
 
 
2、登录到linux系统,打开终端,查看是否具备GCC编译环境,使用下面命令查看
rpm –qa | grep gcc
如果不具备,则安装该编译环境,将LINUX安装关盘插入虚拟光驱,确认是否存在gcc,使用下面命令
ls –l | grep gcc
我们来说说不具备编译环境的处理:
看下图,先查看,表明不具备,然后使用mount挂载linux镜像安装光盘,进入到编译器所在的目录,筛选一下看看是不是有gcc,如果有的话则安装
 
 
 
通过上图看到有gcc,那么使用下面的命令安装gcc编译器
注:在RHEL4版本中,使用—aid,系统会自动寻找具有依赖关系的包(执行目录必须进入rpm目录),该命令在RHEL5中不支持,所我有时候用版本低点的也是有好处的,应该是各有各的好处吧。
另外注意最后一行:you have mail in /var/spool/mail/root这个是日志文件存放的位置,有些时候日志文件可以起到很重要的辅助作用哦。
 
 
 
 
到现在我们可以用刚才使用过的命令来验证gcc环境是否搭建完成,看下图,表明gcc已经成功安装
 
 
 
在安装gcc时要注意会碰到的问题
如果安装镜像和机器中的版本有冲突,那么安装会不成功,这个时候可以参考一下的操作
rpm –e –nodeps cpp(在系统中)
rpm –ivh cpp-3.4.3.9.EL4.i386.rpm
如果这个时候还是无法安装成功,则可以尝试一下操作
rpm –e rpmdb-redhat
rpm –ivh rpmdb-RedHat-4.0.20050107.i386.rpm(此处只做举例,实际操作根据不同的情况区分不同的冲突情况来进行处理)
3、现在到了第三步的准备工作了,我们执行弹出光盘的命令eject,更换虚拟光盘为刚才制作的httpd镜像文件,重新挂载光驱
我们可以看到绿色显示的为我刚才挂载的压缩镜像文件
 
 
 
 
4、接下来,将压缩文件复制到系统中,为了试验方便,我直接把这个文件复制到根目录下,并且在系统中解压缩,使用查看命令可以看到已经解压缩的文件
根据不同的压缩文件有不同的解压缩的方式,tar命令用于对文件进行归档以及恢复归档文件。比如:
tar zxvf 一般解压缩tar.gz格式的压缩包
tar jxf 用于释放(恢复)使用“bz2格式压缩的归档文件。
 
 
 
 
 
5、下面介绍准备工作的最后一步,进入源代码所在的目录,定制安装的路径,如果不定制,则默认安装在/usr/local/bin目录下。看下图:
该命令执行后,配置需要一定的时间,配置过程会在屏幕中显示大量的输出信息,这些信息有利于管理员了解程序配置的过程。
注意:如果前面的gcc编译环境没有准备好,那么检查是不会通过的。
 
 
 
 
 
 
等待几分钟后,准备工作已经全部完成,下面介绍具体的编译与安装,其实编译和安装的命令很简单,接着往下看:
(二)、进行编译与安装
1、使用make进行编译(进入源码目录),该编译有一个过程,耐心等待即可。
部分编译过程如下:
 
 
 
 
 
 
2、等了N久,终于欣慰地看到make完成了,下面使用make install进行安装,这个过程相对于上一步的安装过程要短了很多,看安装的部分过程截图如下
 
 
 
 
3、到现在全部的安装工作已经完成,我们可以进入root目录看看,检查安装是否成功
由于为了试验的验证方便,我直接把文件都安装到了root下,看下面的截图可以看到系统在安装中建立的httpd相关的文件夹
注意有些是httpd的文件,比如:build include lib等,有些是系统文件
 
 
 
 
 
备注:RPM最早是由RedHat公司提出的软件包管理标准,后来随着版本的升级you融入了许多其他优秀的特性,称为了LINUX中公认的软件包管理标准。目前使用RPM作为软件包管理格式主要的主要有RedHat Linux、Suse Linux和Mandriva Linux.
RPM现在是RPM Package Manger的所写(原来是RedHat Package Manager),由RPM社区负责维护。
可登录下面站点查询RPM的详细资料:
 
 

http://543925535.blog.51cto.com/639838/154269

阅读(2284) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~