1、概述
在 Linux 系统中,软件除了通过二进制包进行安装外,还可以通过源码包进行安装。
源码包的形式一般是压缩文件。
2、RPM 包与源码包的区别
之前有一些在“12、【软件包管理】软件包分类”中提到过一些,此处不再赘述。
安装位置不同,即使用 RPM 包与源码包安装的软件后,软件的安装位置是不同的。
多数情况下,使用 RPM 包安装的软件的安装位置:
使用 RPM 包进行软件安装时,安装的位置维持默认即可,无需人为调整。
使用源码包进行软件安装时,安装的位置一般建议手工指定:
- 因安装位置不同,进而导致由软件产生的服务的管理(像启动服务、重启服务、关闭服务等)不同。
RPM 包安装的软件对应的服务的可执行文件(服务的本质是可执行文件)会默认安装在/etc/rc.d/init.d
目录下:
在 RedHat 系列的 Linux 系统中,存在于/etc/rc.d/init.d
目录下的服务,可以使用service xxx start
、service xxx restart
、service xxx stop
等命令对其进行管理,比如说service network restart
。
对于 Linux 系统中的服务的可执行文件,一般情况下可以直接通过绝对路径执行。
源码包安装的软件对应的服务的可执行文件,一般无法使用service
命令进行管理,而需要以使用绝对路径方式进行。
3、使用源码包安装软件
3.1、安装步骤
使用源码包安装 Apache 为例
step 1:安装编译器 gcc 和 gcc-c++(可以使用
rpm
或yum
安装 gcc 和 gcc-c++)。step 2:下载想要安装软件的源码包(一般是压缩文件,比如
tar.gz
等)。step 3:解压下载好的压缩包,建议将解压后的源码包保存在
/usr/local/src
目录下,便于后续管理。
step 4:使用
cd
命令,切换目录至解压后的源码包内(此步骤是关键,否则后续安装步骤无法进行)。step 5:可以打开 INSTALL 文件,阅读安装说明。
step 6:根据 INSTALL 中的说明进行安装。下面所呈现的步骤为多数情况下的安装步骤,实际情况下务必根据 INSTALL 中的说明进行安装,因为有可能会存在特殊的情况。
step 6.1:使用
./configure
可以配置安装细节即可以进行“自定义安装”,比如说自定义安装路径、自定义安装的功能项等等。
自定义安装路径:
./configure --prefix=PREFIX
PREFIX
为自定义路径,一般是/usr/local/软件名
在执行./configure
的过程中,可能会出现因为各种原因引发的错误,需要将错误解决后再向下进行!!!
当执行./configure --prefix=PREFIX
后没有错误出现,会在当前目录下(源码包目录下)出现一个Makefile
文件(就叫Makefile
,多一个字少一个字都不是):
这个时候,就可以向下进行。
- step 6.2:编译与安装
make
命令:编译;
make clean
命令:删除编译产生的文件,如果编译出现错误,需执行这个命令;
make install
命令:如果编译没有出错,使用该命令进行安装。只有执行该命令,才会向指定的安装目录写入数据(即向/usr/local/软件名
写入数据),之前的所有操作,都不会向指定的安装目录中写入任何数据。
- step 7:验证安装成功后,可以将源码包(压缩的、解压后)删除。
4、卸载源码包安装的软件
直接将软件安装的目录直接删除即可。没有专门的卸载命令。