在软件包管理器技术(如RPM包、Deb包)出现之前,一般采用程序安装方式。
Linux源码包通常以gzip或bzip2格式压缩归档,因此有两种归档文件扩展名。 包所在的目录。
这里以cmake为例(cmake是Linux系统中常用的编译工具)。
切换到要下载的目录
[root@hollowman~]# cd /usr/local/src/
下载cmake源码包
[root@hollowman src]# wget https://www.linuxprobe.com/Software/cmake-2.8.11.2.tar.gz
使用tar命令解压源码包
使用xzvf参数,会在当前目录生成cmake-2.8.11.2目录,并将源码文件解压到该目录下
[root@hollowman src]# tar xzvf cmake-2.8.11.2.tar.gz
切换到源代码文件所在目录,后续步骤中的命令将在该目录下完成
[root@hollowman src]# cd cmake-2.8.11.2/
2.生成源码包编译代码(配置)
执行解压后形成的名为configure的可执行脚本程序。 用于检测系统是否具有编译所需的库,以及库的版本是否满足编译要求以及安装所需的其他系统信息。 如果测试通过,就会生成一个用于编译的MakeFile。 prefix参数的作用是指定源码包程序的安装目录,这样可以更准确地定位安装程序,保证软件更加可控。
[root@hollowman cmake-2.8.11.2]# ./configure --prefix=/usr/local/program
就像configure的功能一样,如果发现问题,就会显示错误信息。 以下表示cmake缺少c语言编译环境(gcc和gcc-c++),需要先安装编译环境。
---------------------------------------------
CMake 2.8.11.2, Copyright 2000-2012 Kitware, Inc.
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.11.2/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
安装C语言编译环境(这里使用yum工具)
[root@hollowman cmake-2.8.11.2]# yum install gcc gcc-c++
再次编译cmake源码包,正常执行并生成编译后的代码和Makefile文件
[root@hollowman cmake-2.8.11.2]# ./configure --prefix=/usr/local/program
3、编译生成二补安装程序(make)
执行configure命令后生成的Makefile会保存源码编译过程中所需的相关依赖和安装规则,因此可以直接通过make命令编译生成针对当前系统定制的二补安装文件。
[root@hollowman cmake-2.8.11.2]# make
4.运行二补安装文件(makeinstall)
此时源码包中已经包含了软件包安装所需的安装规则和二补码安装文件,只需通过makeinstall命令执行安装即可。 如果第一步编译时使用了prefix参数,则程序将安装到指定目录,否则通常默认安装在/usr/local/bin目录下。 然而,这并不是绝对的。 通常安装目录下的install或者readme文件都会有相关说明。
[root@hollowman cmake-2.8.11.2]# make install
5、清除源代码包临时文件(makeclean)
源码安装过程中会生成一些临时垃圾文件linux cmake编译源码linux cmake编译源码,为了节省C盘空间,可以使用makeclean命令清除源码包中的临时文件。
[root@hollowman cmake-2.8.11.2]# make clean