我需要创建一个与尽可能多的发行版一起工作的可执行文件。我阅读了很多关于这方面的信息,我发现有两种方式:静态链接和动态链接。第一种解决方案避免了随可执行文件库一起使用,但它在许可证方面存在一些问题。第二种解决方案似乎更合适。通过动态链接,链接器将它需要的库的所有引用添加到可执行的ELF头中,操作系统在执行二进制文件之前加载这些库。
命令readelf -d <binary>显示所需的库:
Dynamic section at offset 0x149d80 contains 33 entries:
Tag Type Nam
我是Linux新手,很难更新应用程序和软件。
今天我需要安装atom。这很容易,但事实证明它需要GLIBC 2.28。
当我继续更改atom主题时,它将不会运行并得到以下错误消息:
/usr/share/atom/resources/app/apm/bin/node:
/lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
(required by /usr/share/atom/resources/app/apm/bin/node)
我的薄荷安装是完全最新的,但它只有一个旧版本的GLIBC。
请帮助
使用docker,似乎可以在同一台机器上运行多个操作系统,例如
docker run -it ubuntu:latest
root@09e498dae658:/#
docker run -it centos:latest
[root@8216b5141efc /]#
docker docs声明Linux内核来自运行linux容器的主机。因此,对于上面的命令,我在运行cat /proc/version时得到相同的输出
docker run -it ubuntu:latest
root@09e498dae658:/# cat /proc/version
Linux version 4.9.87
确定操作系统版本的常用方法似乎是查看
/etc/*-release file
*这将是操作系统的特定版本所属的家庭。但在OEL系统中,存在以下文件,它们似乎都返回了有效的版本,在这种情况下,是否有确定确定OS发行版本详细信息的方法:
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
cat /etc/enterprise-release
Enterprise Linux Enterprise Linux Server release 5.8 (Carthage)
ca