centos

sys.12.4 Linux程序包管理(源码包编译安装基础概念)

 

1. 程序包编译安装

1.1  源代码组织格式

多文件组成:文件中的代码,很可能存在跨文件依赖关系;

源代码的完整编译过程:
源代码 –> 预处理 –> 编译(gcc) –> 汇编 –> 链接 –> 执行;

源码的rpm包(*.src.rpm):先要使用’rpmbuild’命令把源码的rpm包制作成二进制格式的rpm包,然后再安装;

1.2  C语言的源代码编译安装3个步骤(借用工具实现):

源码的二进制包:

安装源码包时可先查看2个文件:’INSTALL’或者’README’;

1> ./configure:
通过选项传递参数,指定安装路径、启用特性等;
执行此命令后,会参考用户指定的参数选项以及以’Makefile.in’文件为模板,填充数据后,生成’makefile’文件;

2个开发工具:
autoconf : 生成’configure’脚本文件;
automake : 生成’Makefile.in’模板文件;

2> make:
根据’makefile’文件,构建应用程序;

3> make install:
复制文件至系统常规目录中;

1.3  代码托管站点

https://sourceforge.net/

https://github.com/

code.google.com

1.4  编译C语言的源代码需要的系统环境:
开发工具:make,gcc等;
开发环境:开发库,头文件,glibc标准库等;

通过”包组”形式提供开发组件:
Centos 6 : “Development Tools”,”Server Platform Development”
Centos 7 : “Development Tools”

1.5   ./configure帮助信息概述

./configure –help

1> 选项分类:各种安装路径的指定;

2> 目标系统平台结构:交叉编译时才使用;

3> 可选特性:启用或禁用程序包的某特性;

4> 可选程序包(依赖的其他程序包):定义依赖关系;

1.6   ‘make & make install’执行完成后,后续的配置:

1> 导出二进制程序目录至’PATH’环境变量:
~]# vim  /etc/profile.d/NAME.sh
export   PATH=$PATH:/PATH/TO/BIN

~]# source   /etc/profile

2> 导出库文件路径:
~]# vim   /etc/ld.so.conf.d/NAME.conf
/PATH/TO/NAME/lib

~]# ldconfig   [-v]

3> 导出头文件:
做符号链接操作,可链接整个目录,也可以把目录的文件做链接;
ln   -s[v]   /PATH/FOM/NAME/include   /usr/include/NAME
或者
ln   -s[v]   /PATH/FOM/NAME/include/*   /usr/include/NAME/

4> 导出帮助文档:
Centos 6: /etc/man.config 添加一条’MANPATH’记录;
Centos 7: /etc/man_db.conf 添加一条’MANDATORY_MANPATH’记录;

然后使用命令’mandb’重新读取配置文件;

Leave a Reply

Your email address will not be published. Required fields are marked *