美文网首页
Linux下源码包安装软件

Linux下源码包安装软件

作者: rjcs233 | 来源:发表于2020-04-21 16:32 被阅读0次

我们在工作的过程中,有时候会利用源码包安装软件。虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多。

那么我们一起来看看如何在linux下安装软件该怎么以源码包方式来安装呢?

Linux下源码安装一般包括以下步骤:

获取源码

解压

创建Makefile文件

生成Makefile文件

编译

执行make clean;make命令将源码编译成二进制文件。

下来我们看看编译过程的实现是怎么样的?

将源码编译成可供Linux运行的二进制文件一共需要两步:

1. 使用gcc编译器将源码编译成目标文件

2. 再次使用gcc编译器将目标文件链接成二进制文件

这过程看似简单,实则不然。一个软件的源代码往往被封装在多个源文件中,此外这些文件有错综复杂的依赖关系,编译需要严格按照指定的顺序进行,这无疑增加了编译的难度。好在make命令可以帮助我们简化编译过程。

整个编译过程被浓缩在Makefile文件中,当执行make命令时,make会去当前目录中寻找Makefile文件,并根据该文件中的要求完成整个编译过程。

安装过程中具体所用命令如下,大家可以参考

一、解压:

最常见源码包的就两种(XXXX.tar.gz or XXXX.tar.bz2),其实这些源码包都是由2个工具压缩而成的,tar.gz结尾的文件用到的工具是tar和gunzip,而tar.bz2结尾的文件所使用的工具是tar和bzip2,之所以这样做是因为,tar仅仅能够打包多个文件但是没有压缩的功能,而gz和bz2却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过tar先将不同的源文件打包,然后再通过gunzip或者bzip2压缩后发布的。

解压的相关命令如下:

$ tar zxvf XXXX.tar.gz

$ tar jxvf XXXX.tar.bz2

二、./configure:

解压完成就正式开始安装了(补充一点,开始configure之前,如有必要,请使用patch工具为源码打上相应的补丁),首先跳转到源码的解压目录,众所周知,开始configure前还是应该仔细阅读源码目录下的README或者INSTALL文件,好多安装中的注意事项在这里都有所罗列,configure实际上是一个脚本文件,在当前目录中键入"./configure",shell就会运行当前目录下的configure脚本,有一点必须说明,在整个configure过程,其实编译尚未进行,configure仅仅是做编译相关的准备工作,它主要对您当前的工作平台做一些依赖性检查,比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,你很幸运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,当然configure支持及其丰富的命令行参数,可以键入"./configre --help"获取具体的信息,最常用的就是:

$ ./configure --prefix=/opt/XXX,它用来设置软件的安装目录.    

 三、make: 

   如果configure过程正确完成,那么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序:

$ make

[if !supportLists]

四、[endif]make install: 

   当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限,临时切换到root是一个不错的选择,"install"只是Makefile文件中的一个标号,"make install"代表着make工具执行Makefile文件中"install"标号下的所有相关操作,如果在configure阶段没有使用"--prefix=/opt/XXX"指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于您的PATH中,那么安装已经基本结束。

相关文章

  • Linux软件安装 (基于 Fedroa )

    一、Linux软件包种类 1.源码包---tar.gz这种格式下软件安装包,可以看到源码,安装比较灵活。 2.RP...

  • Linux软件包的管理

    简介 linux下软件安装方式分为 yum安装、rpm包安装、源码编译 rmp管理软件包 rpm的基础命令 rpm...

  • (Linux七)Linux系统软件安装

    Linux软件包(源码包和二进制包) Linux下的软件包可细分为两种,分别是源码包和二进制包。 Linux源码包...

  • linux 第一节 安装

    Linux常用软件包下载链接: rpm包安装:http://rpmfind.net/linux 源码包安装:htt...

  • Shell 编程系列文章(二)判断源码包是否安装

    判断源码包是否安装 linux 下软件包安装方式众多,需要根据自己安装方式判断。 本机使用brew方式安装,检测j...

  • Linux系统学习之软件安装概述(9)

    Linux下软件包分为两类:1、源码包,脚本安装包2、二进制包(RPM包,系统默认包) 源码包优点 开源,可以随意...

  • 系统基础-软件安装

    Linux 软件安装 你可以了解些什么 源码包编译安装 RPM 安装软件 yum 安装软件 三种安装方法的比较 源...

  • Linux下源码包安装软件

    我们在工作的过程中,有时候会利用源码包安装软件。虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好...

  • LINUX删除安装的东西

    今天吧,总结一下,在LINUX如果用源码包安装软件包后怎么删除,, 第一,看大家安装软件的时候有没有使用--pre...

  • 实验一【2021OS】

    实验一:Linux 软件部署及应用 二进制软件包安装以及源码编译安装。软件卸载,更新。 二进制软件包安装 git安...

网友评论

      本文标题:Linux下源码包安装软件

      本文链接:https://www.haomeiwen.com/subject/xiqpihtx.html