编译安装

编译安装

主要是c程序源码安装

为什么要编译安装

  • 光盘中的软件偏老,许多新功能可能无法提供
  • 编译安装的路径可以自指定,方便统一规划
  • 源码安装的功能特性可根据自己的业务需求定制

程序包编译安装

  • 源代码的组织格式:
    单个C、C++程序:gcc
    多文件:文件在的代码之间,很可能存在跨文件依赖关系
    C、C++:make项目管理器
    Java:maven

  • 源码一般放置于/usr/local/src

  • C语言源码编译安装步骤:
    1)./configure
      ①通过选项传递参数,指定软件安装路径和相关功能特性,按照Makefile.in模板生成Makefile文件
      ②检查依赖到的外部环境,如依赖的软件包
    2)make :根据Makefile文件,构建应用程序
    3)make install :复制文件到相应的路径

      Makefile文件是通过./configure脚本根据Makefile.in目标生成的;configure脚本一般由开源项目提供,在源码包中
      Makefile文件的主要内容是提供了程序安装路径和程序定制的特性,文件最后是程序的安装、卸载等等eg:make install。

  • 由于是源码编译安装的,程序的卸载、升级、查询使用rpm均不可用

  • 程序安装后可能的后续操作:
    ①添加程序执行路径至PATH变量中
    ②添加man手册路径
      Centos6 man帮助手册的配置文件:/etc/man.config
      Centos7 man帮助手册的配置文件:/etc/man_db.conf

  • 若生产中同时安装同一程序,可利用脚本完成一键安装

编译安装tree-1.8.0
1、获取源码包至/usr/local/src目录
    cd /usr/local/src
    wget http://mama.indstate.edu/users/ice/tree/src/tree-1.8.0.tgz
2、解压源码包
    tar xvf tree-1.8.0.tgz
3、进入解压目录,查看README和INSTALL
4、由于tree软件较小,Makefile文件直接在源码中提供,因此直接修改Makefile文件
    此处仅修改了程序安装的路径:
    prefix = /apps/tree
5、在解压目录下执行make && make install
6、安装依赖于gcc编译器,提前安装
7、安装完成,绝对路径可直接执行,此处是/apps/tree/bin/tree
   当然可以将/apps/tree/bin此路径添加至PATH变量中
8、帮助手册:
    绝对路径:man /apps/tree/man/man1/tree
    修改man配置文件,将路径添加至man的搜索路径中:
    MANDATORY_MANPATH		/apps/tree/man/

编译安装http-2.4.25
1、获取源码包至/usr/local/src目录
    cd /usr/local/src
2、解压源码包
    tar xvf httpd-2.4.25.tar.bz2
3、进入解压目录,查看README和INSTALL文档./configure --help
4、执行./configure 脚本根据Makefile.in模板生成Makefile文件,并指定安装路径和定制功能
    ./configure --prefix=/apps/apache --enable-ssl --enable-http2 --disable-auth-basic
    当然./configure 脚本执行未必成功,因为它会检查依赖的包,
    一般而言,在报错的时候直接安装对应的-devel包即可
5、 ./configure脚本执行成功后,make && make install
    pcre-devel ---用来支持perl语言的正则表达式
.....

注意:如果编译安装时间较长:
    ①可以考虑使用screen
    ②可以make -j # 指定多个内核同时编译

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值