首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么linux版本的系统二进制文件与系统发布版本不一致?

为什么linux版本的系统二进制文件与系统发布版本不一致?
EN

Stack Overflow用户
提问于 2018-12-21 11:40:19
回答 1查看 386关注 0票数 2

当使用file命令检查二进制文件的属性时,我注意到如下内容的输出:

代码语言:javascript
复制
$ file /bin/ls
ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=9567f9a28e66f4d7ec4baf31cfbf68d0410f0ae6, stripped

$ file /bin/pwd
pwd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=fb34777a0e4532338c1f64bec0a8372ee619b9e7, stripped

$ uname -sr
Linux 4.19.9-arch1-1-ARCH

输出中有"for GNU/Linux3.2.0“。

我在Ubuntu18.04(内核版本4.15)和Arch (内核版本4.19)上都进行了测试,但是对于系统二进制文件,文件属性始终是“Linux3.2.0”。

我想知道这个标签是什么意思,为什么它与系统内核版本不一致?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-21 12:10:52

这个标记显示,小精灵二进制文件是用glibc编译的,它生成二进制文件,需要运行这个特定的最小linux内核版本。版本号设置在glibc的编译时间上,使用配置选项--启用内核,并由二进制的SHT_NOTE部分的链接器复制(通过文件命令从其中读取)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53884201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档