ITEEDU

Linux系统层次

在linux系统中C库是重要性仅次于kernel的存在,因为一般的程序都是动态编译的,这就要用到共享库,C库中安装了常用的重要共享库。一般C库为Glibc,在嵌入式中可能用到uclibc等。

以Linux+vim系统为例,vim是一定要依赖Glibc的,可以vim还依赖其它库Ncurses,这就要再单装了。所以要想做一个Linux系统就要清楚软件之间的依赖关系。这一般在源文件包中的INSTALL文件中有述,说明安装本程序要的选安装的程序和最佳版本。

技巧:
Ldd <二进制文件>
这个命令可以查看所需二进制文件要哪些库文件,至于每个库文件是哪个软件包中的这就要自己查了。可以到lfs中查,一般的软件包都有,每个包将安装哪些文件都有。

例如:

#ldd /bin/cat
linux-gate.so.1 => (0x00bfe000)
libc.so.6 => /lib/libc.so.6 (0x00a4a000)
/lib/ld-linux.so.2 (0x00a28000)