源码编译安装软件

用源码编译安装软件。这里我用的是Centos6.9去编译安装httpd。
步骤如下:

  • 1、下载软件包,并对软件包解压
  • 2、安装开发包组
  • 3、阅读README、INSTALL
  • 4、 ./configure
  • 5、make
  • 6、make install

严格来说,编译安装只有三个步骤:

  • ./configure 指定安装特性、检查系统安装环境
  • make 编译源码,生成二进制文件
  • make install 拷贝文件到./configure指定的目录

下面来说说具体的操作步骤吧


1、下载软件包,并对软件包解压

我到apache官网下载httpd-2.2.32.tar.bz2后,放置在root家目录下

[root@CentOS6 ~]#ls
anaconda-ks.cfg  Downloads             Music          Templates
bin              httpd-2.2.32.tar.bz2  Pictures       Videos
Desktop          install.log           Public
Documents        install.log.syslog    systeminfo.sh

解压软件包

[root@CentOS6 ~]#tar -xf httpd-2.2.32.tar.bz2

2、安装开发包组

[root@CentOS6 httpd-2.2.32]#yum groupinstall "Development Tools"

3、阅读README、INSTALL

进入解压的安装包目录,可以看到有READEME、INSTALL两个文件,可以阅读这两个文件中关于软件的说明。

[root@CentOS6 ~]#cd httpd-2.2.32
[root@CentOS6 httpd-2.2.32]#ls
ABOUT_APACHE  config.layout  httpd.spec      LICENSE        README.platforms
acinclude.m4  configure      include         Makefile.in    README-win32.txt
Apache.dsw    configure.in   INSTALL         Makefile.win   ROADMAP
build         docs           InstallBin.dsp  modules        server
BuildAll.dsp  emacs-style    LAYOUT          NOTICE         srclib
BuildBin.dsp  httpd.dep      libhttpd.dep    NWGNUmakefile  support
buildconf     httpd.dsp      libhttpd.dsp    os             test
CHANGES       httpd.mak      libhttpd.mak    README         VERSIONING

通过阅读INSTALL文件,我们可以了解到该软件有哪些特性。
比如:
--prefix=dir 指定安装目录
--enable-rewrite 使能重定向

4、 ./configure

./configure是个脚本,这个脚本有以下作用:

  • 通过选项传递参数,指定启用特性、安装路径等;执
    行时会参考用户的指定以及makefile.in文件生成makefile
  • 检查依赖到的外部环境,如依赖的软件包

我们要进入到软件包目录,然后执行configure脚本

[root@CentOS6 httpd-2.2.32]#./configure --prefix=/app/apache24   --enable-rewrite

--prefix=/app/apache24指定安装目录/app/apache24
--enable-rewrite 使能重定向
当然,你还能添加或者禁用某些特性,这些都可以在README、INSTALL文件当中了解到。

在执行 ./configure过程中,如果遇到提示缺少软件包,可以通过yum search命令查找相应的包名,一一安装。重复第四步,直到完成该步骤。

5、make

make命令会编译源码,生成大量二进制可执行程序。

[root@CentOS6 httpd-2.2.32]#make

6、make install

这个步骤其实就是把步骤5make生成的文件复制到步骤4指定的目录下,我刚才指定的目录就是/app/apache24

[root@CentOS6 httpd-2.2.32]#make install
Making install in srclib
···
···略
[root@CentOS6 httpd-2.2.32]#ls /app
apache24

你可能感兴趣的:(源码编译安装软件)