源程序(源码包)-->编译-->二进制格式

有些特性是编译选定的,如果编译未选定此特性,将无法使用;

rpm包的版本会落后于源码包,甚至落后很多;bind-9.8.7, bind-9.7.2

定制:手动编译安装


编译环境,开发环境

开发库,开发工具


Linux: C,

GNU: C


C,C++:

gcc: GNU C Complier, C

g++: 


make: 项目管理工具,

makefile: 定义了make(gcc,g++)按何种次序去编译这些源程序文件中的源程序


automake, --> makefile.in --> makefile

autoconf, --> configure


100个可选择特性,


make install



编译安装的三步骤:

前提:准备开发环境(编译环境)

安装"Development Tools"和"Development Libraries" 


# tar 

# cd

# ./configure  

--help 

--prefix=/path/to/somewhere     #指定安装目录

--sysconfdir=/PATH/TO/CONFFILE_PATH

        --conf-path=/PATH/TO/CONFFILE_PATH     #指定配置文件目录

功能:1、让用户选定编译特性;2、检查编译环境;

# make

# make install


# tar xf tengine-1.4.2.tar.gz

# cd tegnine-1.4.2

# ./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf

# make

# make install

# /usr/local/tengine/sbin/nginx


1、修改PATH环境变量,以能够识别此程序的二进制文件路径;

修改/etc/profile文件

在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere

2、默认情况下,系统搜索库文件的路径/lib, /usr/lib; 要增添额外搜寻路径:

在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;

# ldconfig 通知系统重新搜寻库文件

-v: 显示重新搜寻库的过程

3、头文件:输出给系统

默认:/usr/include

增添头文件搜寻路径,使用链接进行:

/usr/local/tengine/include/   /usr/include/

两种方式:

ln -s /usr/local/tengine/include/* /usr/include/ 或

ln -s /usr/local/tengine/include  /usr/include/tengine

4、man文件路径:安装在--prefix指定的目录下的man目录;

                系统默认在此目录下查找:/usr/share/man  

                /etc/man.config 此配置文件中定义了man命令查找帮助文档的路径

                RHEL7中是/etc/man_db.conf

1、man -M /PATH/TO/MAN_DIR COMMAND

2、在/etc/man.config中添加一条MANPATH