在linux下有三种安装方式 tarball源码安装,rpm,yum
一、tarball安装
源码在linux下是由c编写的,这个是一个高级语言,但是硬件能够识别的是二进制binary应用程序
但是这个应用程序需要一个把高级c语言编译成binary,如bash就是一个二进制,使用hexdump /bin/bash即可查看,这个编译器就是 gcc(gun c complier).但是使用gcc需要很多的复杂步骤,依赖库,这个依赖库是系统提供。所以为了不进行很多的复杂步骤,则使用一个Makeflie来把需要的环境和依赖的库进行整合,这样就不使用复杂的gcc一步步进行编译。
make 会依据Makefile的依赖进行一性的编译。
之所以称之为源码包是是因为其能够进行跨平台编译。这个时候注意,编译的过程是依据环境来编译,即依据操作系统,与内核的版本进行编译的。所以你在一个平台编译成功程一个二进制文件之后,一般很
一下是具体的安装步骤:
1. ./configure
这个步骤就是在建立 Makefile 这个档案啰!通常程序开发者会写一支 scripts 来检查你的 Linux
系统、相关的软件属性等等,这个步骤相当的重要, 因为未来你的安装信息都是这一步骤内完成
的!另外,这个步骤的相关信息应该要参考一下该目录下的 README 戒 INSTALL 相关的档案!
2. make clean
make 会读取 Makefile 中关亍 clean 的工作。这个步骤丌一定会有,但是希望执行一下,因为
他可以去除目标档案!因为谁也丌确定原始码里面到底有没有包吨上次编译过的目标档案 (*.o)
存在,所以当然还是清除一下比较妥当的。 至少等一下新编译出来的执行档我们可以确定是使用
自己的机器所编译完成的嘛!
3. make
make 会依据 Makefile 当中的预讴工作迚行编译的行为!编译的工作主要是迚行 gcc 来将原始
码编译成为可以被执行的 object files ,但是这些 object files 通常还需要一些凼式库乊类的
link 后,才能产生一个完整的执行档!使用 make 就是要将原始码编译成为可以被执行的可执行
文件,而这个可执行文件会放置在目前所在的目录乊下, 尚未被安装到预定安装的目录中;
4. make install
通常这就是最后的安装步骤了,make 会依据 Makefile 这个档案里面关亍 install 的项目,将上
一个步骤所编译完成的数据给他安装到预定的目录中,就完成安装啦!
二
以下是以安装ntp进行安装为例。
1.下载源码http://support.ntp.org/rss/releases.xml
2.把源码解压到 /usr/local/src ,如果默认下载到 /home/cenyebin/Downloads;
tar -vxf tar -xvf ntp-4.2.6p5.tar.gz -C /usr/local/src
3.进入/usr/local/src 目录 cd /usr/local/src
4.使用 ls | grep 'Makefile'是找不到的,因为没有使用 ./configure --prefix= /usr/local/ntp > --enable-all-clocks --enable-parse-clocks.这个--prefix 是预安装在的指定路径安装
当然也是可以仅仅使用./configure 进行配置,但是为例自由型,你可以使用./configure --help进行帮助配置选项。使用了以上./configure命令之后,即可生成一个Makefile文件,这样就可以进行以下步骤
5.进行make clean ; make 这个步骤是进行编译成二进制
6.进行安装 make install
7.最后在/usr/local/ntp 即可看到 几个文件夹 bin sbin etc share