作为一名系统管理员,我通常使用软件包管理器来安装软件。但在某些情况下,我不能使用包管理器,因为提供的软件版本是旧的或不兼容。在这种情况下,如何通过编译从源代码安装新软件。
软件源代码可以以不同的形式获得,比如压缩文件 tar.bz2
, tar.gz
或者从存储库,比如 git
, svn
在本教程中,我们将遵循压缩的方法。获取更多关于 git
阅读以下教程。
使用wget下载源代码
如前所述,我们将使用名为 wget
。我们将提供压缩源代码的url。要获得有关wget的更多信息,请参阅以下教程。
$ wget http://poftut.com/HelloWorld.tar.gz
用tar提取源代码
下载的源代码用 tar.gz
我们会用 tar
命令如下。
$ tar xvf HelloWorld.tar.gz
安装编译器和必需的库
在编译源代码之前,我们需要安装相关的编译器和必需的库。有关所需库的更多信息可以在源代码的自述文件中找到。在此步骤中,我们将安装 gcc
.
$ sudo apt install gcc libgcc-5-dev
配置
专业项目一般有 configure
脚本。 configure
脚本用于在编译之前设置相关的文件和文件夹。 configure
获取有关当前系统和编译器的信息,其中包含库和已创建的 Makefile
.
$ ./configure
用Make编译
现在最重要的部分我们将编译源代码。 Make
是根据提供的配置编译源代码的非常有用的工具。有非常复杂的编译配置,它们很容易被 make
命令。我们只会发布 make
就像下面一样。 make
应该在源代码根目录中运行。
$ make
使编译更快
现代计算机有不止一个CPU核。如果我们不提供任何选择 make
命令将只使用单核编译源代码。我们可以在编译时使用其他内核 -j
选项。这将使用给定数量的核心。在本例中,我们希望使用4个内核。
$ make -j 4
用Make Install安装
最后一步是安装已编译的二进制文件。我们将使用 make install
命令。如果二进制文件将被复制到我们没有写权限的目录中,我们应该使用它们 sudo
命令。
$ sudo make install