Linux源码包安装和卸载教程(以apache为例)
注意,本节使用的源码包,指的是软件所有源代码的压缩包,其后缀名为 ".tar.gz" 或 ".tar.bz2";而 SRPM 源码包本质上属于 RPM 包,也就是源码的RPM包,其文件后缀为 ".src.rpm"。虽然都叫源码包,但不是事。
软件的源代码,也就是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但软件源代码无法再计算机中直接运行安装,需要将源代码通过编译转换为计算机可以识别的机器语言,然后才可以安装。Linux 系统中,绝大多数软件的源代码都是用 C 语言编写的,少部分用 C++(或其他语言)编写。因此要想安装源码包,必须安装 gcc 编译器(如果涉及 C++ 源码程序,还需要安装 gcc-c++)。
安装 gcc 之前,可先使用如下令看看是否已经安装:
[root@localhost ~]# rpm -q gcc
gcc-4.4.6-4.el6.i686
如果未安装,考虑到安装 gcc 所依赖的软件包太多,大家使用 yum 安装 gcc。具体安装方式可阅读《Linux yum令》一节。除了安装编译器,还需要安装 make 编译令。要知道,编译源码包可不像编译一个 hello.c 文件那样轻松,包中含大量的源码文件,且文件之间有着非常复杂的关联,直接决定着各文件编译的先后顺序,因此手动编译费时费力,而使用 make 令可以完成对源码包的自动编译。
同样,在安装 make 令之前,可使用如下令查看其是否已经安装:
[root@localhost yum. repos.d]# rpm -q make
make-3.81-20.el6.i686
如果未安装,可使用yum -y install make
令直接安装 make。安装好了 gcc 编译器和 make 编译工具,接下来学习使用源码包安装软件。
Linux源码包安装软件
本节仍然以安装 apache 为例,安装过程分为如下几步:- 下载 apache 源码包。该软件的源码包可通过官方网站 http://httpd.apache网站站点" rel="nofollow" />
[root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more
进入解压目录,执行如下令:
[root@localhost ~]# ls
anaconda-ks.cfg httpd-2.2.9 httpd-2.2.9.tar.gz install.log install.log.syslog[root@localhost ~]# cd httpd-2.2.9
./configure 软件配置与检查。这一步主要完成以下 3 项任务:
检测系统环境是否符安装要求。
- 定义需要的功能选项。通过 "./configure--prefix=安装路径" 可以指定安装路径。注意,configure 不是系统令,而是源码包软件自带的一个脚本程序,所以必须采用 "./configure" 方式执行("./" 代表在当前目录下)。
"./configure" 支持的功能选项较多,可执行 "./configure--help" 令查询其支持的功能,例如:
[root@localhost httpd-2.2.9]#./configure --help|more
#查询apache支持的选项功能(不是必需步骤)
把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,因为后续的编译和安装需要依赖这个文件的内容。
此步具体执行代码如下:[root@localhost httpd-2.2.9]# ./configure --prefix=/usr/local/apache2
checking for chosen layout...Apache
checking for working mkdir -p…yes
checking build system type...i686-pc-linux-gnu
checking host system type...i686-pc-linux-gnu
checking target system typa...i686-pc-linux-gnu…省略部分输出…
--prefix 选项的含义为指定安装目录。此令没有加载其他功能,只是指定安装目录。需要说明的是,"/usr/local/apache2" 目录不需要手工建立,安装完成后会自动建立(这个目录是否生成也是检测软件是否正确安装的重要标志)。
- make 编译。make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。
执行的编译令如下:
[root@localhost httpd-2.2.9]# make
编程过程较为耗时,需要有足够的耐心。
正式开始安装软件,这里通常会写清程序的安装位置,如果没有,则建议读者把安装的执行过程保存下来,以备将来删除软件时使用。安装指令如下:
[root@localhost httpd-2.2.9]# make install
整个过程不报错,即为安装成功。
安装源码包过程中,如果出现“error”(或“warning”)且安装过程停止,表示安装失败;反之,如果仅出现警告信息,但安装过程还在继续,这并不是安装失败,顶多使软件部分功能无法使用。
make clean
令,它会清空 Makefile 文件或编译产生的 ".o" 头文件。Linux源码包卸载
通过源码包方式安装的各个软件,其安装文件独自保存在 /usr/local/ 目录下的各子目录中。例如,apache 所有的安装文件都保存在 /usr/local/apache2 目录下。这就为源码包的卸载提供了便利。源码包的卸载,只需要找到软件的安装位置,直接删除所在目录即可,不会遗留任何垃圾文件。需要读者注意的是,在删除软件之前,应先将软件停止服务。
以删除 apache 为例,只需关闭 apache 服务后执行如下令即可:
[root@localhost ~]# rm -rf /usr/local/apache2/