Glibc

官方下载地址

Glibc (2.2.5): 
ftp://ftp.gnu.org/gnu/glibc/

Glibc-linuxthreads (2.2.5): 
ftp://ftp.gnu.org/gnu/glibc/

Glibc Patch (2.2.5-2):
ftp://ftp.sg.linuxfromscratch.org/pub/lfs/lfs-packages/cvs/
http://ftp.sg.linuxfromscratch.org/lfs-packages/cvs/

Glibc的内容

最后检查于 version 2.2.5.

包含的程序

catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, zdump 和 zic

具体说明

catchsegv

当程序发生segmentation fault的时候, 用来建立一个堆栈跟踪(a stack trace)

gencat

建立消息目录

getconf

针对文件系统的指定变量显示其系统设置值

getent

从系统管理数据库获取一个条目

glibcbug

建立一个对glibc的bug报告并且email到bug报告的邮件地址

iconv

转化字符设置.

iconvconfig

建立对iconv模块的快速读取设置文件

ldconfig

设置对动态链接库的实时绑定, 这个命令非常有用,在安装了新的库之后要运行这个命令来在系统中登记这个新库,否则装了也是白装.

ldd

列出每个程序或者命令需要的共享库

lddlibc4

辅助add操作object目标文件.

locale

是一个perl程序, 可以叫编译器对内嵌操作是否开启POSIX locales.

localedef

编译locale的设置.

mtrace

列印从源到其接收者的多点路径.

nscd

提供对通用名称调用的缓存的守护进程

nscd_nischeck

检查在对NIS+侦查的时候是否需要安全模式

pcprofiledump

打印PC profiling产生的信息

pt_chown

根据主虚拟终端给出的文件文件描述符'3'设置对子虚拟终端的所有者,组及存取权限. 帮助grantpt的运行. 不能直接从命令行运行.

rpcgen

生成执行RPC协议的C代码

rpcinfo

对RPC服务器产生一个RPC呼叫.

sln

是从目标文件到源的静态字符联接. 在动态链接不起作用的时候sln可以建立对库的静态联接.

sprof

读取并显示共享目标的特征描述数据

tzselect

对用户提出关于当前位置的问题,并输出时区信息到标准输出.

xtrace

通过打印当前执行的函数跟踪程序执行情况

zdump

显示时区.

zic

时区编译器.

包含的库文件

ld.so, libBrokenLocale.[a,so], libBrokenLocale_p.a, libSegFault.so, libanl.[a,so], libanl_p.a, libbsd-compat.a, libc.[a,so], libc_nonshared.a, libc_p.a, libcrypt.[a,so], libcrypt_p.a, libdl.[a,so], libdl_p.a, libg.a, libieee.a, libm.[a,so], libm_p.a, libmcheck.a, libmemusage.so, libnsl.a, libnsl_p.a, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], libpthread_p.a, libresolv.[a,so], libresolv_p.a, librpcsvc.a, librpcsvc_p.a, librt.[a,so], librt_p.a, libthread_db.so, libutil.[a,so] and libutil_p.a

具体说明

ld.so

帮助动态链接库的执行.

libBrokenLocale, libBrokenLocale_p

帮助程序处理破损locale, 如:mozilla

libSegFault

处理segmentation fault信号. 会试图找出segmentation fault

libanl, libanl_p

异步名称查询库.

libbsd-compat

为了执行一些linux程序,libbsd-compat提供了必要的可移植性.

libc, libc_nonshared, libc_p

这些C库是一些程序通用的函数集。这样就可以保证程序员不用为了他的每一个单独的任务重复写相同的函数。最常见的情况是象向屏幕输出一个字符串的程序已经可以由程序员随意调用了。

C库(事实上几乎每个库)都有两种格式:动态的和静态的。简而言之,当程序调用静态的C库时,C库中的代码会拷贝到执行文件中。当程序使用动态C库时,可执行文件不会包含C库中的代码。而是在程序运行时动态加载不要的库函数。这就意味着可以明显地减小程序文件的大小。C库中包含的文档描述得更详细些,在这里只用一两行去明确地解释这些复杂知识是不现实的。

libcrypt, libcrypt_p

有关加密编码

libdl, libdl_p

动态联接界面.

libg

g++运行需要的库.

libieee

IEEE动态指针库.

libm, libm_p

数学函数库.

libmcheck

包括了起动时需要运行的代码.

libmemusage

帮助memusage搜集程序内存使用的信息

libnsl, libnsl_p

网络服务库.

libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, libnss_nisplus

在不同的模块中加入存取数据库的不同的服务,有如下的好处:

  • 添加新服务而不用改动GNU C库,

  • 这些模块可以单独升级

  • C库会比较小.

libpcprofile

帮助内核跟踪在函数, 源码行和命令中CPU使用时间

libpthread, libpthread_p

POSIX线程库

libresolv, libresolv_p

创建,发送及解释到互联网域名服务器的数据包.

librpcsvc, librpcsvc_p

提供RPC的其他服务.

librt, librt_p

提供了大部分的POSIX.1b实时扩展的给定界面

libthread_db

对建立多线程程序的调试很有用

libutil, libutil_p

包含了在很多不同的Unix程序中使用的"标准"函数.

安装Glibc依赖于

最后检查于 version 2.2.5.

Bash: sh
Binutils: ar, as, ld, ranlib, readelf
Diffutils: cmp
Fileutils: chmod, cp, install, ln, mknod, mv, mkdir, rm, touch
Gcc: cc, cc1, collect2, cpp, gcc
Grep: egrep, grep
Gzip: gzip
Make: make
Gawk: gawk
Sed: sed
Sh-utils: date, expr, hostname, pwd, uname
Texinfo: install-info, makeinfo
Textutils: cat, cut, sort, tr