软件包管理2

四、程序包编译

    程序包编译安装:

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

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

    源代码组织格式:

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

        C、 C++: make (项目管理器, configure –>

            Makefile.in –> makefile)

        java: maven

    编译安装

    C代码编译安装三步骤:

        ./configure:

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

            检查依赖到的外部环境

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

        make install:复制文件到相应路径

    开发工具:

        autoconf: 生成configure脚本

        automake:生成Makefile.in

    注意:安装前查看INSTALL, README

    开源程序源代码的获取:

        官方自建站点:

            apache.org (ASF)

            mariadb.org

            …

        代码托管:

            SourceForge.net

            Github.com

            code.google.com

        c/c++编译器: gcc (GNU C Complier)

    编译C源代码:

        前提:提供开发工具及开发环境

            开发工具: make, gcc等

            开发环境:开发库,头文件

                glibc:标准库

        通过“包组”提供开发组件

            CentOS 6: 

                Development Tools

                Server Platform Development

            CentOS 7:

                Development Tools

                Development and Creative Workstation

    第一步: configure脚本

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

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

        选项分类:

        安装路径设定:

            –prefix=/PATH: 指定默认安装位置,默认为/usr/local/

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

            System types:支持交叉编译

        Optional Features: 可选特性

            –disable-FEATURE

            –enable-FEATURE[=ARG]

        Optional Packages: 可选包,

            –with-PACKAGE[=ARG],依赖包

            –without-PACKAGE,禁用依赖关系

    第二步: make

    第三步: make install

    安装后的配置:

    二进制程序目录导入至PATH环境变量中;

        编辑文件/etc/profile.d/NAME.sh

            export PATH=/PATH/TO/BIN:$PATH

    导入库文件路径

        编辑/etc/ld.so.conf.d/NAME.conf

            添加新的库文件所在目录至此文件中;

        让系统重新生成缓存:

            ldconfig [-v]

    导入头文件

        基于链接的方式实现:

            ln -sv

    导入帮助手册

        编辑/etc/man.config|man_db.conf文件

            添加一个MANPATH

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

(0)
DYWDYW
上一篇 2016-08-27 16:39
下一篇 2016-08-28 14:41

相关推荐

  • Linux之文件管理及范例

    1、Linux上的文件管理命令   目录管理类命令:mkdir,rmdir    mkdir [OPTION]… DIRECTORY…     -p: 自动按需创建父目录;     -v: verbose,显示…

    Linux干货 2016-09-27
  • Linux文件类型及颜色标识整理

    Linux文件类型及颜色标识整理 M21陆东贵 使用工具: ls命令     ls –l:以常格式显示文件及目录的详细信息     例如:-rw-r–r–  1 root root       0 10月 …

    Linux干货 2016-10-18
  • php-fpm

    1.安装 mariadb 服务 修改配置文件 2.musql 安全加强 3.安装 php-fpm php-mysql php-mbstring php-mcrypt 服务 修改配置文件 4.安装httpd服务 加虚拟主机配置文件 5.测试php网页 6.安装myadmin包及测试

    2017-06-04
  • Linux之初见

     前言        第一次听到Linux的大名是在进行网络培训的时候,隔壁的红帽子培训时听到的。由于这样,导致我很长一段时间都以为Linux就是红帽,红帽就是Linux,当听到Ubantu的时候,还以为又是另一个全新的,区别于windows和Linux的版本,现在想起来很是羞愧。近期因为…

    Linux干货 2016-02-14
  • 重定向和管道

     重定向    程序:指令+数据    读入数据:Input    输出数据:Output  linux给程序提供三种I/O设备    标准输入(stdin)-0 默认接受来自键盘的输入    标准输出(stdinout)-1默认输出到终端…

    Linux干货 2016-08-10
  • linux发行版说明和哲学思想,以及常用命令说明

    Linux发行版主要流行的版本有3种:debian,slackware,red 其说明和特点如下图。 Linux哲学思想: 1、一切皆文件;所有的一切都变成了文件!不光是软件方面的比如传统文件、目录、字符设备、还包括硬件或者接口。如鼠标/mouse、打印机/lp、还有接口比如/usb. 2、单一目的的小程序;一个程序只负责干一件事,而且要把这个任务做好。 3…

    Linux干货 2016-10-30