问题:我需要找出我的Linux系统上的GNU C库(glibc)的版本,我怎样才能检查Linux上的glibc版本呢?

GNU C库(glibc)是标准C库的GNU实现。glibc是GNU工具链的关键组件,用于和二进制工具和编译器一起使用,为目标架构生成用户空间应用程序。

当从源码进行构建时,一些Linux程序可能需要链接到某个特定版本的glibc。在这种情况下,你可能想要检查已安装的glibc信息以查看是否满足依赖关系。

这里介绍几种简单的方法,方便你检查Linux上的glibc版本。

方法一

下面给出了命令行下检查GNU C库的简单命令。

$ ldd --version 

在本例中,glibc版本是2.19

方法二

另一个方法是在命令行“输入”glibc 库的名称(如,libc.so.6),就像命令一样执行。

输出结果会显示更多关于glibc库的详细信息,包括glibc的版本以及使用的GNU编译器,也提供了glibc扩展的信息。glibc变量的位置取决于Linux版本和处理器架构。

在基于Debian的64位系统上:

$ /lib/x86_64-linux-gnu/libc.so.6

在基于Debian的32位系统上:

$ /lib/i386-linux-gnu/libc.so.6

在基于Red Hat的64位系统上:

$ /lib64/libc.so.6

在基于Red Hat的32位系统上:

$ /lib/libc.so.6

下图中是输入glibc库后的输出结果样例。


via: http://ask.xmodulo.com/check-glibc-version-linux.html

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

已有 16 条评论

  1. [耶] —— 微博评论 发表。
  2. 话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  3. [吃惊]//@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  4. loader当然是可以执行的啦,只不过起了个.so的名字。//@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  5. 长见识了 —— 微博评论 发表。
  6. 有//@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  7. 一直都可以啊啊啊啊,都是标准elf可执行文件//@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  8. @我的印象笔记 —— 微博评论 发表。
  9. 这是一个好文章 //@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  10. @我的印象笔记 —— 微博评论 发表。
  11. 这是一个好文章 //@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  12. 我擦,第一次[哼]//@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  13. win下的dll却不可以,地址空间不同。//@cjacker:loader当然是可以执行的啦,只不过起了个.so的名字。//@Linux中国:话说我是第一次知道libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  14. //@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  15. 这样也可以.... //@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。
  16. mark //@Linux中国:话说我是第一次知道 libc 的.so 库可以直接在命令行执行,有和我一样不知道的么? —— 微博评论 发表。

添加新评论