1. 开放源码的软件安装不升级简介
1.1 什么是开放源码、编译程序不可执行文件
1.2 什么是函式库
1.3 什么是 make 与 configure
configure是检测环境的程序,检测完毕会建立makefile
1.4 什么是 Tarball 的软件
- tar打包
- gzip压缩 *.tar.gz
bzip2压缩 *.tar.bz2
1.5 如何安装不升级软件
2. 使用传统程序诧言迚行编译的简单范例
2.1 单一程序:印出 Hello World
- 一步到位:gcc hello.c 生产 a.out 通过 ./a.out执行
- 两步:gcc -c hello.c 生成 hello.o
gcc -o hello.o 生成 hello 通过 ./hello执行
2.2 主、子程序链接:子程序的编译
gcc -c thanks.c thanks_2.c
gcc -o thanks(可执行程序名) thanks.o thanks_2.o (两个目标文件)
Cflags 如 -O 和 -Wall
- gcc -O -c thanks.c thanks_2.c
大写O是为了产生优化- gcc -Wall -c thanks.c thanks_2.c
Wall是为了产生更详细的编译过程信息
2.3 呼叫外部函式库:加入连结的函式库
- lxxx(库的名字)
- L/path(上面指定的库的位置) 【默认会搜寻/lib和/usr/lib】
-
I/path(include中的库的位置)
3. 用 make 宏编译
3.1 为什么要用 make
$@:代表目前的标的(target)3.2 makefile 的基本语法不变量
4. Tarball 的管理与建议
4.1 使用原始码管理软件所需要的基础软件
- gcc等complier
- make, autoconfig等可以检测用户操作系统环境,自行建立makefile
- Kernel提供的Library和相关的include文件
eg. Red hat(包含Fedora/CentOS等)中,这个核心相关的功能通常包含在kernel-source或kernel header这些软件中。
PS:若已经安装好linux主机但缺乏上述软件,可以通过RPM(需原始光盘)或者yum(需要online)来安装。
4.2 Tarball 安装的基本步骤
- ./configure 生成makefile
- make clean
- make 将c编译成obj
- make install
4.3 一般 Tarball 软件安装的建议事项 (如何移除?升级?)
升级可能不方便4.4 一个简单的范例、利用 ntp 来示范
4.5 利用 patch 更新原始码
5. 函式库管理
5.1 静态与非静态函数库
5.2 ldconfig 不 /etc/ld.so.conf
5.3 程序的劢态凼式库解析: ldd
- 检验软件的正确性
6.1 md5sum / sha1sum
网友评论