Redhat Linux /lib/libc.so.6:未找到版本“GLIBC_2.16”(/lib/libncurses.so.5 所需)

Redhat Linux /lib/libc.so.6:未找到版本“GLIBC_2.16”(/lib/libncurses.so.5 所需)

我正在运行一台服务器 RHEL 6.4,目前已安装 GLIBC 2.12。我们尝试运行一个程序,但出现此错误

/lib/libc.so.6:未找到版本‘GLIBC_2.16’(/lib/libncurses.so.5 所需)

由于服务器未连接到互联网,我无法通过 repo 进行升级。

最后一个人做了一个变通工作,他从 GLIBC_2.16 中获取了 libc.so.6 文件并更改了 /lib 文件中的链接,它似乎工作正常,

但是我找不到 GLIBC_2.16 的 libc.so.6 文件

有什么想法我可以在哪里找到该文件而无需完全升级系统范围的 GLIBC。

如果没有任何解决方法可以让该应用程序使用新的 GLIBC。

答案1

编辑:我假设您使用的是普通的 i386 兼容处理器。
您最终是如何从新系统获得 ncurses 的?
无论如何,这是您要求的,您可以从以下位置获取:http://launchpadlibrarian.net/123667354/libc6_2.16-0ubuntu6_i386.deb(launchpad)通过提取软件包(例如在 Windows 上使用 7zip)并从中取出 libc.so.6。(在 lib/i386-linux-gnu/ 中)对于 amd64,您只需对其进行调整。但是,不要通过覆盖来安装此软件包!如果这是解决方法,只需使用 libc.so.6,否则您的服务器很可能搞砸了。即使它来自另一个发行版,这通常也可以正常工作。

如果您使用的是 Linux,并且不想重新启动或执行其他操作,这里有一种在 Linux 上解压的方法。

# mkdir libc
# cd libc
# ar x ../libc6_2.16-0ubuntu6_i386.deb 
# tar xzf data.tar.gz

现在您应该有一个包含 libc6 包中所有 .so 文件的目录。

哦,要小心,libc.so.6 实际上是 libc-2.16.so 的链接,所以你要复制 libc-2.16.so 而不是 libc.so.6

相关内容