首页 > 代码库 > Linux 源码安装

Linux 源码安装

源码包与RPM包的区别

源码包是开源的,更自由,安装更慢,容易出错,可以定制功能,需要编译RPM包安装快,不自由,安装方便,不易出错,源码包由于安装在固定的位置,所以和此软件有关的内容都不在安装目录之下,但我们要删除它时,能将所有东西全部删除,很方便

具体的最直观的不同
RPM包会安装在系统默认的位置,而源码包是手工安装在某个位置
/etc/ 配置文件默认安装位置
/usr/bin/ 可执行命令默认安装位置
/usr/lib 函数库默认保存位置
/usr/share/doc/ 使用手册安装位置
/usr/share/man/ 帮助文档安装位置
这些目录是绝大多说RPM包的默认安装目录

源码包安装位置
一般情况下,我们把源码包安装在/usr/local/软件名下

安装的位置的不同带来的影响

RPM包安装的服务可以用系统服务管理命令来管理,比如apache启动的方法:
centOS6.*版本,7以后有所改变
/etc/rc.d/init.d/httpd start
setvice httpd start
两种都可以

service在启动服务的时候会向RPM包的默认安装路径中去找可执行文件,然后执行,但是service无法启动源码包安装的软件,因为service不会的搜索路径中不包括源码包安装的路径

一般,要启动源码装的软件要通过绝对路径来启动服务或软件
如:/usr/local/apache2/bin/apachectl start

源码包的安装过程

在我们进行源码包安装之前,需要安装gcc 因为源码包需要编译,而编译需要gcc。
注意事项:
源代码保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定出错:安装过程中停止,并出现error,waring,no等提示

在准备工作做完之后,我们要做的是下载源码包,我们以httpd服务为例,进行演示:

1.下载源码包(我是在windows上下的,然后用WinSCP工具传到centOS6上)
httpd-2.2.32.tar.bz2
2.解压源码包
tar -jxvf httpd-2.2.32.tar.bz2

技术分享


3.进入到解压后的文件夹中

技术分享

在上图中INSTALL是安装说明文档,RENAME是使用说明文档

技术分享

 

./configure 软件的配置与检查

定义需要的功能选项
检测系统环境是否符合安装要求
把定义好的功能选项和检测系统环境的信息都写到MAkefile文件中去(如上图,默认没有Makefile只有这一步完成,才会出现)

可以用./configure --help查看可以定制的功能
我们用./configure --prefix=/usr/local/apache2来定义安装路径
我们假设检测没问题,接下来在安装目录下执行make

接下来执行make install,这时要注意,在我们执行这一步之前,都不会向指定的安装目录写下任何东西,只有在这一步执行后,才会真正的写入。
make install执行完后,源码包算是装完了
接下来我们启动服务就好了/usr/local/apache2/bin/apachectl start

如果我们想卸载掉源码包安装的,只需要rm -rf /usr/local/apache2就可以了,它不会有任何残留,非常方便


脚本安装
软件包是没有脚本包的,只有RPM包和源码包
脚本安装包不是独立的软胶宝类型,一般安装的还是源码包,是人为的把安装过程写成自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成。

现在的大多数脚本安装包是硬件驱动等,其他大部分安装包,还是RPM包或源码包,这里就简单介绍一下,不说安装说明

 

Linux 源码安装