Linux 第13天: (08月23日) Linux软件包管理源码

Linux 第13天: (08月23日) Linux软件包管理源码

 

 

 

程序包编译
程序包编译安装:
Application-VERSION-release.src.rpm--> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装
源代码-->预处理-->编译(gcc)-->汇编-->链接-->执行
源代码组织格式:
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C、C++:make (项目管理器,configure -->
Makefile.in --> makefile)
java: maven

 


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

 


第一步: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

 


安装后的配置:

(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|man_db.conf文件
添加一个MANPATH

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章