linux程序包编译安装

testapp-VERSION-release.src.rpm --> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装;

源代码 --> 预处理 --> 编译(gcc) --> 汇编 --> 链接 --> 执行

源代码组织格式:
  多文件:文件中的代码之间,很可能存在跨文件依赖关系;

  C、C++: make (configure --> Makefile.in --> makefile)
  java: maven


C代码编译安装三步骤:
  ./configure
    (1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.in文件生成makefile;
    (2) 检查依赖到的外部环境;
  make(项目管理工具):
    根据makefile文件,构建应用程序;
  make install

开发工具:
  autoconf: 生成configure脚本
  automake:生成Makefile.in

建议:安装前查看INSTALL,README

开源程序源代码的获取:
  官方自建站点:
    apache.org (ASF)
    mariadb.org
    ...
代码托管:
  SourceForge
  Github.com
  code.google.com

c/c++: gcc (GNU C Complier)

编译C源代码:
  前提:提供开发工具及开发环境
    开发工具:make, gcc等
    开发环境:开发库,头文件
      glibc:标准库

  通过“包组”提供开发组件
  CentOS 6: "Development Tools", "Server Platform Development",

  CentOS7:"Development Tools"

  第一步:configure脚本
    选项:指定安装位置、指定启用的特性

    --help: 获取其支持使用的选项
      选项分类:
        安装路径设定:
          --prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置;默认为/usr/local/
          --sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置;

        System types:

        Optional Features: 可选特性
            --disable-FEATURE
            --enable-FEATURE[=ARG]

        Optional Packages: 可选包
            --with-PACKAGE[=ARG]
            --without-PACKAGE

  第二步:make

  第三步:make install

安装后的配置:

  (1) 导出二进制程序目录至PATH环境变量中;
    编辑文件/etc/profile.d/NAME.sh
      export PATH=/PATH/TO/BIN:$PATH

  (2) 导出库文件路径
  编辑/etc/ld.so.conf.d/NAME.conf
    添加新的库文件所在目录至此文件中;

  让系统重新生成缓存:
    ldconfig [-v]

  (3) 导出头文件
    基于链接的方式实现:
      ln -sv

  (4) 导出帮助手册
    编辑/etc/man.config文件
      添加一个MANPATH

如安装完apache之后,进行配置(http://www.cnblogs.com/cncaptain/p/6907531.html)

# cd /etc/profile.d/  增加环境变量

# vim apache.sh

 export PATH=/usr/local/apache2/bin:$PATH 

# cd /etc/ld.so.conf.d/  导出库文件

# vim apache-x86_64.conf  

 /usr/local/apache2/lib

# ldconfig -v  生成新缓存

 

转载于:https://www.cnblogs.com/cncaptain/p/7872807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值