Linux下的大多数软件包都是用c语言编写的,也很少用c等其他程序语言编写的部分。 因此,要安装源包,必须安装c语言编译器gcc。 对于用c编写的程序,还需要安装gcc-c。

首先,让我们看看是否安装了gcc。 命令如下:

[root@localhost ~]# rpm -q gcc

gcc-4.4.6-4.el6.i686

如果未安装gcc,建议使用yum安装方式进行安装。 因为如果使用rpm命令手动安装,gcc依赖的软件包太多了。 命令如下:

[ root @ localhost yum.repos.d ] # yum-yinstallgcc

如果有编译器,就需要考虑另一个问题。 刚才写的’ hello.c ‘只有一个源文件,所以可以使用gcc手动编译。 但是,实际发布的源包软件中的源文件可能有成百上千个,这些文件之间存在关联,并且在编译时有优先级。 如果需要手动编译这些源文件,光靠思考是很困难的。

在这种情况下,必须安装make,因为需要make命令才能完成编译。 也需要检查是否安装了make。 命令如下:

[ root @ localhost yum.repos.d ] # rpm-qmake

make-3.81-20.el6.i686

获取源包

RPM软件包存储在CentOS 6.3安装光盘上,但源软件包来自哪里呢? 即使从官方网站下载,也以apache的下载和安装为例。

安装源软件包

安装之前,请注意安装源软件包的相关注意事项。

软件包是从网上下载的。 例如,apache是从北京理工大学开源软件镜像服务网站下载的。

下载的软件包格式。 下载格式一般为压缩格式。 常见的是’.tar.gz ‘或’.tar.bz2 ‘。 选择习惯的格式下载就可以了。

下载后源代码的保存位置。 Linux是一个非常严格的操作系统,每个目录的作用都是固定而明确的。 作为管理员,养成良好的操作习惯非常重要,在正确的目录中存储正确的数据是一种常见的习惯。 系统中保存源代码的位置主要有两个。 ‘/usr/src ‘和’/usr/local/src ‘。 其中,/usr/src保存内核的源代码,/usr/local/src保存用户下载的源代码。

软件的安装位置。 因为Linux说他非常注意每个目录的作用,所以安装软件也有默认目录,即“/usr/local/软件名称”。 为了便于管理和卸载已安装的软件包,必须分别规划安装目录。 请想象一下,如果您在“/usr/local/”目录中安装了每个软件,但没有为每个软件分配单独的安装目录,则以后可以区分哪些软件是哪个软件这样无法正确卸载软件。

安装软件时出错。 如果源软件包的安装没有错误,安装就很有用。 虽然报告错误后的错误对刚学习的人来说很难,但要知道什么情况是报告错误的。 误报有两个典型的特征。 这两个特征都不具备的话就不会误报。 一个是出现“error”或“warning”这样的文字。 第二,安装过程将停止。 如果未停止但显示警告消息,则某些软件功能不可用,而不是报告错误。

安装说明

下面介绍一下安装软件包的具体步骤。

1 )下载软件包。

2 )解冻。

3 )进入解压缩目录。

4 )、/configure软件的配置和检查。 这一步主要有三个作用。

在安装之前,必须检测系统环境是否满足安装要求。

定义所需的功能选项。 “./configure”支持的功能选择很多,因此可以通过运行“./configure–help”命令来了解支持的功能。 通常在“./configure–prefix=安装路径”中指定安装路径。

将系统环境检查结果和定义的功能选项写入makefile,然后编译和安装必须依赖于此文件的内容。

需要注意的是,configure不是系统命令,而是源包软件附带的脚本程序,因此必须以“./configure”方式运行。 “. /”表示它位于当前目录下。

5 ) make编译。 make调用gcc编译器,读取makefile的信息进行系统软件编译。 编译的目的是将源程序转换为Linux可识别的可执行文件,这些可执行文件保存在当前目录中。 编程需要时间,需要足够的耐心。

6 ) make clean )清空编译内容(不是必需的)。 请记住,如果在编译“./configure”或“make”时遇到错误,请运行make clean命令。 Makefile文件或编译生成的“. o”头文件将为空。

7 )激活安装:安装。 这是真正的安装过程,通常会明确地写下程序的安装位置。 如果忘记指定安装目录,可以保存此命令的执行步骤,以备将来删除。

示例安装apache

1 )下载。

2 )解冻。

[路线]

@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more

3) 进入解压目录。

[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

4) 软件配置。

[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″目录不需要手工建立,安装完成后会自动建立,这个目录是否生成也是检测软件是否正确安装的重要标志。

当然,在配置之前也可以查询一下 apache 支持的选项功能,命令如下:

[root@localhost httpd-2.2.9]#./configure –help|more

#查询apache支持的选项功能(不是必需步骤)

5) 编译。

[root@localhost httpd-2.2.9]# make

这一步命令较为简单,醒编译时间账,主要作用是把源码文件转换为二进制文件。

6)安装。

[root@localhost httpd-2.2.9]# make install

如果不报错,这一步完成后就安装成功了。

源码包卸载

我们在说源码包卸载之前,先回顾一下 Windows 系列操作系统中的软件卸载。在 Windows 系统中是不能用鼠标右键单击安装之后的软件,选择直接删除的,因为这样做会遗留大量的垃圾文件。这些垃圾文件越多,会导致 Window 系统越不稳定。

那么, Linux 中删除源码包应该怎样操作呢?太简单了,只要找到软件的安装位置,然后直接删除就可以了。比如删除 apache,只需执行如下命令即可,而且不会遗留任何垃圾文件。

[root@localhost ~]# rm -rf /usr/local/apache2/

如果 apache 服务启动了,那么,记得先停止服务再删除。

快3平台推荐ar.gz install.log install.log.syslog

[root@localhost ~]# cd httpd-2.2.9

4) 软件配置。

[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″目录不需要手工建立,安装完成后会自动建立,这个目录是否生成也是检测软件是否正确安装的重要标志。

当然,在配置之前也可以查询一下 apache 支持的选项功能,命令如下:

[root@localhost httpd-2.2.9]#./configure –help|more

#查询apache支持的选项功能(不是必需步骤)

5) 编译。

[root@localhost httpd-2.2.9]# make

这一步命令较为简单,醒编译时间账,主要作用是把源码文件转换为二进制文件。

6)安装。

[root@localhost httpd-2.2.9]# make install

如果不报错,这一步完成后就安装成功了。

源码包卸载

我们在说源码包卸载之前,先回顾一下 Windows 系列操作系统中的软件卸载。在 Windows 系统中是不能用鼠标右键单击安装之后的软件,选择直接删除的,因为这样做会遗留大量的垃圾文件。这些垃圾文件越多,会导致 Window 系统越不稳定。

那么, Linux 中删除源码包应该怎样操作呢?太简单了,只要找到软件的安装位置,然后直接删除就可以了。比如删除 apache,只需执行如下命令即可,而且不会遗留任何垃圾文件。

[root@localhost ~]# rm -rf /usr/local/apache2/

如果 apache 服务启动了,那么,记得先停止服务再删除。