Linux 源码安装

Posted Linuxbugs(卡西莫多伯伯)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
service httpd start
两种都可以

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

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

或者,我们将软件的路径添加到PATH中去

源码包的安装过程

在我们进行源码包安装之前,需要安装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,对源码进行编译

make install

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

源码包的卸载

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

装后的配置

  (1) 二进制程序目录导入至PATH环境变量中
    编辑文件/etc/profile.d/NAME.sh
    export PATH=/PATH/TO/BIN:$PATH
  (2) 导入库文件路径
    编辑/etc/ld.so.conf.d/NAME.conf
    添加新的库文件所在目录至此文件中
    让系统重新生成缓存:
      ldconfig [-v]

  (3) 导入帮助手册
    编辑/etc/man.config|man_db.conf文件
    添加一个MANPATH

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

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

 

以上是关于Linux 源码安装的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习之源码包安装与脚本安装(十八)

linux操作之软件安装(源码安装)

Linux之软件rpmyum源码安装方式

linux系统程序安装源码包安装程序

Linux学习—源码安装

Linux基础-源码安装及FPM打包