深入理解linux源码安装三板斧

概述:

根据源码包中 Makefile.in 文件的指示,configure 脚本检查当前的系统环境和配置选项,在当前目录中生成 Makefile 文件(还有其它本文无需关心的文件),然后 make 程序就按照当前目录中的 Makefile 文件的指示将源代码编译为二进制文件,最后将这些二进制文件移动(即安装)到指定的地方(仍然按照 Makefile 文件的指示)。

configure过程:

此阶段的主要目的是生成 Makefile 文件,是最关键的运筹帷幄阶段,基本上所有可以对安装过程进行的个性化调整都集中在这一步。

configure 脚本能够影响 Makefile 中所有的内容,包括Makefile 规则与 Makefile 变量。

configure脚本参数,最常用的就是--help,可以告知如何去使用configure选项。

make与Makefile:

Makefile包含了所有的规则和目标,而make则是为了完成目标而解释Makefile规则的工具。

Makefile规则包含了文件之间的依赖关系和更新此规则的所有需要的命令。

以ngx的Makefile为例:

default

默认为创建二进制文件

clean

清除当前目录下在 make 过程中产生的文件。它不能删除软件包的配置文件,也不能删除 build 时创建的那些文件。

install

完成程序的编译并将最终的可执行程序、库文件等拷贝到指定的目录。此种安装一般不对可执行程序进行 strip 操作。

make install过程:

首先看看 make 的命令行语法:

make [options] [targets]

可以从make命令行语法中看出,targets 应该就是包含 check和install,install就是将二进制文件移动(安装)到指定的地方(需按照 Makefile 文件的指示)。

时间: 2024-10-23 11:29:31

深入理解linux源码安装三板斧的相关文章

Linux源码安装软件

Linux源码安装软件 源码安装:最原始最有效的安装方式 三部曲(1)—./configure xxx 生成makefile文件,随后需要的安装信息都是从这一步中获取 (2)make 根据makefile的指示开展编译工作,利用gcc将原始码编译为目标文件目标文件使用动态或静态函数库产生一个完整的可执行文件 (3)make install根据makefile文件里关于install的项目,将所编译完成的文件安装到指定目录一般有etc.lib.bin.man等目录 源码安装是费力不讨好的,这种方式

mysql-5.5 for linux源码安装

mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison zlib* fiex* \ libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* 2.安装cmake # yum install -y cmake 3.解压缩并编译安装MySQL源码包 # tar xzvf mysql-5.5.27.tar.gz

linux源码安装iostat,dstat,systat的方法

源码安装systat: # wget http://perso.orange.fr/sebastien.godard/sysstat-8.0.4.1.tar.gz# tar zxvf sysstat-8.0.4.1.tar.gz# cd sysstat-8.0.4.1# ./configure# make# make install 使用iostat分析压力过大的服务器: $iostat -x 1 Linux 2.6.33-fukai (fukai-laptop)          _i686_

Linux 源码安装apache 与常见错误解决

文档原位置 一.编译安装apache 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包(谨慎!小心).下面是使用源代码的方式行,它们的下载路径为:(~_~)这里不再说到那里下载了,相信你有能力找的到的,呵呵 2.安装依赖的软件包(当然这里可以认为成需要的编译环境咯!) yum -y install pcre-devel yum -y install  "Developmen

linux 源码安装apache2.4并添加服务

源码安装apache,路径 /usr/local/httpd24 1.安装apr yum -y install epel-release  wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz tar xf apr-1.5.2.tar.gz cd apr-1.5.2  ./configure --prefix=/usr/local/apr;echo $? make && make install;echo $?  cd ..

Linux 源码安装mysql

源码安装mysql tar zxf mysql-boost-5.7.11.tar.gz rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y cd mysql-5.7.11/ yum install gcc-c++ ncurses-devel bison -y 检测 [[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/

linux 源码安装

下载源码安装包,一般为.tar.gz格式 解压源码至文件夹,linux终端进入该文件夹,安装只需三步,第四步为扫尾工作: ./configure --prefix=/usr/self/文件夹名称                   --prefix    自定义路径 make make install    需要权限 make clean   删除编译过程中的临时文件

Linux源码安装nginx并配置

linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linux 从源码编译安装 Nginx: 1.1.准备 pcre 库pere 是为了让 nginx 支持正则表达式.只是准备,并不安装,是为了避免在64位系统中出现错误.  代码如下 复制代码 wget ftp://ftp.csx.cam.ac.uk/pub/

Linux源码安装jdk1.8详细步骤

在使用Linux操作系统,肯定避免不了使用java程序,然而使用java程序可定少不了jdk,有的时候使用yum安装的open jdk好多功能都异常,下面是源码jdk1.8安装的详细步骤,大家可以参考一下. 下载jdk1.8安装包:链接:https://pan.baidu.com/s/1FjhZh6svz_kbofduCt3qEA 密码:5iu9 解压tar包 tar zxf jdk-8u91-linux-x64.tar.gz -C /usr/loca 创建软连接注:保持好创建软连接的习惯,不仅