源码包编译安装

程序包编译安装:

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

     源代码 –> 预处理 –> 编译 –> 汇编 –> 链接 –> 执行

    

     源代码组织格式:

    多文件:文件中的代码之间,很可能存在跨文件依赖关系

        C、C++:make(configure –> makefile.in –> makefile)

        java:maven

编译安装三步骤:

    ./configure:

         (1)通过选项传递参数,指定启用特性、安装路径等:执行时会参考用户的指定以及makefile.in文件生成makefile

         (2)检查依赖到的外部环境

    make

        根据makefile文件,构建应用程序

    make install

    开发工具:

         autoconf:生成configure脚本

         automake:生成makefile.in

    建议:安装前查看INSTALL,README

开源程序源代码的获取:

    官方自建站点:

         apache.org

         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"

第一步:configure脚本

     选项:指定安装位置、指定启用的特性

    

     –help:获取其支持使用的选项

         选项分类:

             安装路径设定:

                 –prefix=/PATH/TO/SOMEFILE:指定默认安装位置

                 –sysconfdir=/PATH/TO/SOMEFILE:配置文件安装位置

        

             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

    

原创文章,作者:zhai796898,如若转载,请注明出处:http://www.178linux.com/39412

赞 (0)
zhai796898zhai796898
上一篇 2016-08-23 22:41
下一篇 2016-08-24 10:12

相关推荐

  • RAID解说

    RAID(RedundantArrays of Inexpensive Disks,RAID),又叫独立的磁盘阵列。有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术…

    2017-03-14
  • LVS负载均衡初接触

    Linux Cluster : Cluster : 计算机集合, 为解决某个特定问题组合起来形成的单个系统; Linux Cluster 类型 : LB : Load Balancing, 负载均衡;()HA : High Avaiibality, 高可用;( 通过冗余的方式让活动主机出现问题时取而代之, 并具有原主机一致的功能)HP : High Perf…

    Linux干货 2016-10-28
  • Linux文件查找之find命令详解

    文件查找 文件查找就是在在文件系统上查找符合条件的文件; 文件查找分为: 实时查找:遍历所有文件进行条件匹配 非实时查找:根据所以查找 locate: 1、查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 2、locate属于非实时查找,依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务);管理员手…

    Linux干货 2016-08-18
  • 马哥教育21期网络班—第12周课程+练习—-LAMP练习中

    为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; [ root@centos CA]# …

    Linux干货 2016-09-26
  • free / buffer与cache

           前几天看到有些伙伴傻傻分不清楚buffer与cache的用处,后来发现我也不能很清楚的说出来buffer与cache在不同的地方有什么不同之处,这里就总结了一些关于buffer于cache的区别,如有不完善的地方,请大家指出来。        说到buffer与ca…

    2017-07-17
  • 常用命令总结

    ifconfig查看IP地址 date查看日期和时间 cd跳转到任何目录 useradd新建一个普通用户 passwd给用户设置密码 poweroff   halt    关机 reboot  重启 cal  查看日历 cal -y 查看一年日历 env  export&nbsp…

    Linux干货 2017-04-04