Linux系统:开放源代码应用程序的编译与安装

来源:互联网 发布:知天命之年是什么意思 编辑:程序博客网 时间:2024/05/16 03:35

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://543925535.blog.51cto.com/639838/154269

实验名称:开放源代码应用程序的编译与安装

实验目的:本例将以编译安装httpd为实例来讲述源代码安装的基本步骤

实验准备:安装了Linux系统的计算机,试验用的登录账号,httpd压缩包,ISO镜像制作工具(因为是在虚拟机的环境下,所以需要制作Httpd镜像文件)

试验步骤:

从应用程序源代码编译安装应用程序通常需要以下几个步骤

确认当前系统中具备软件编译的环境

获得应用程序的源代码软件包文件

解压缩源代码软件包文件

进行编译前的配置工作

进行程序源代码的编译

将编译完成的应用程序安装到系统中

下面以编译安装httpd为例(本例中使用的Httpd压缩包已经事先下载到windows主机中,供试验使用)。

(一)、首先要准备好编译的环境

1、使用ISO软件将httpd压缩包制作成ISO镜像,待用。因为是用虚拟机做这个试验,所以需要把httpd制作成关盘镜像插入到linux虚拟光驱中,挂载使用。

将Httpd压缩文件拖入到上方的空白处

Linux系统:开放源代码应用程序的编译与安装

将拖入到上方的httpd文件另存为ISO文件,保存到一个位置,备用,本例保存到桌面

Linux系统:开放源代码应用程序的编译与安装

2、登录到linux系统,打开终端,查看是否具备GCC编译环境,使用下面命令查看

rpm –qa | grep gcc

如果不具备,则安装该编译环境,将LINUX安装关盘插入虚拟光驱,确认是否存在gcc,使用下面命令

ls –l | grep gcc

我们来说说不具备编译环境的处理:

看下图,先查看,表明不具备,然后使用mount挂载linux镜像安装光盘,进入到编译器所在的目录,筛选一下看看是不是有gcc,如果有的话则安装

Linux系统:开放源代码应用程序的编译与安装

通过上图看到有gcc,那么使用下面的命令安装gcc编译器

注:在RHEL4版本中,使用—aid,系统会自动寻找具有依赖关系的包(执行目录必须进入rpm目录),该命令在RHEL5中不支持,所我有时候用版本低点的也是有好处的,应该是各有各的好处吧。


另外注意最后一行:you have mail in /var/spool/mail/root这个是日志文件存放的位置,有些时候日志文件可以起到很重要的辅助作用哦。

Linux系统:开放源代码应用程序的编译与安装

到现在我们可以用刚才使用过的命令来验证gcc环境是否搭建完成,看下图,表明gcc已经成功安装

Linux系统:开放源代码应用程序的编译与安装

在安装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镜像文件,重新挂载光驱

我们可以看到绿色显示的为我刚才挂载的压缩镜像文件

Linux系统:开放源代码应用程序的编译与安装

4、接下来,将压缩文件复制到系统中,为了试验方便,我直接把这个文件复制到根目录下,并且在系统中解压缩,使用查看命令可以看到已经解压缩的文件

根据不同的压缩文件有不同的解压缩的方式,tar命令用于对文件进行归档以及恢复归档文件。比如:

tar zxvf 一般解压缩tar.gz格式的压缩包

tar jxf 用于释放(恢复)使用“bz2”格式压缩的归档文件。

Linux系统:开放源代码应用程序的编译与安装


5、下面介绍准备工作的最后一步,进入源代码所在的目录,定制安装的路径,如果不定制,则默认安装在/usr/local/bin目录下。看下图:

该命令执行后,配置需要一定的时间,配置过程会在屏幕中显示大量的输出信息,这些信息有利于管理员了解程序配置的过程。

注意:如果前面的gcc编译环境没有准备好,那么检查是不会通过的。

Linux系统:开放源代码应用程序的编译与安装

Linux系统:开放源代码应用程序的编译与安装

等待几分钟后,准备工作已经全部完成,下面介绍具体的编译与安装,其实编译和安装的命令很简单,接着往下看:

(二)、进行编译与安装

1、使用make进行编译(进入源码目录),该编译有一个过程,耐心等待即可。

部分编译过程如下:

Linux系统:开放源代码应用程序的编译与安装

Linux系统:开放源代码应用程序的编译与安装

2、等了N久,终于欣慰地看到make完成了,下面使用make install进行安装,这个过程相对于上一步的安装过程要短了很多,看安装的部分过程截图如下

Linux系统:开放源代码应用程序的编译与安装

Linux系统:开放源代码应用程序的编译与安装

3、到现在全部的安装工作已经完成,我们可以进入root目录看看,检查安装是否成功

由于为了试验的验证方便,我直接把文件都安装到了root下,看下面的截图可以看到系统在安装中建立的httpd相关的文件夹

注意有些是httpd的文件,比如:build include lib等,有些是系统文件

Linux系统:开放源代码应用程序的编译与安装

备注:RPM最早是由RedHat公司提出的软件包管理标准,后来随着版本的升级you融入了许多其他优秀的特性,称为了LINUX中公认的软件包管理标准。目前使用RPM作为软件包管理格式主要的主要有RedHat Linux、SUSE Linux和Mandriva Linux.

RPM现在是RPM Package Manger的所写(原来是RedHat Package Manager),由RPM社区负责维护。

可登录下面站点查询RPM的详细资料:


0 0