GLIBC升级会出什么问题?


9

我最近安装了我的小组从明年9月开始进行研究项目所需的软件。事实证明,与glibc 2.12.1一起使用时,该软件具有已知的崩溃错误。我的老板问我们是否可以在应该运行它的服务器上升级glibc。提示我怀疑的沉默。

在某个时候,我想到与glibc混在一起就像和一个饥饿的彪马一样好主意。但是,我无法确定这种信念的来源。因此,如果我继续这样做:

  1. 我是在做愚蠢的事情吗(例如,我不会解决问题,将服务器砌砖,或者将启动僵尸启示录)?
  2. 有什么问题吗?
  3. 可能出什么问题了?
  4. 如何避免回答2和3?

3
首先,检查您的发行版是否具有可解决该错误的glibc升级。与正式版glibc相比,发行版的特定glibc可能包含许多对其glibc的反向端口/错误修正,但是发行版仍然相同。
2012年

1
只要您有一些可启动的可移动介质(USB闪存棒,CD,DVD),计算机就不会真正变硬。通过从那里重新安装glibc可以进行救援。为避免任何危险,您可以尝试以非root用户身份编译新的glibc,--prefix=$HOME然后将LD_LIBRARY_PATH其指向它,然后查看它是否有效。作为非root用户,无论您搞砸了多么糟糕,都无法破坏整个系统。如果这样做有效,请将其更改为研究项目的--prefix=/usr/local/bleeding-edge-glibc文件并记录LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/lib为文件
Alan Curry

1
您不能升级发行版吗?而且,您应该告诉use glibc所担心的错误是什么,以及使用的是哪种软件。您可以修补软件(假设您拥有其源代码),或以其他方式配置您的系统来规避它。

尽可能避免将旧的服务器软件用于新项目。
迈克尔·汉普顿

Answers:


5

通常可以编译较新的libc,并使一个软件使用与其他人不同的库。

libc版本之间最大的痛点是线程本地存储IIRC。如果您通过了这个里程碑,那么所有的赌注都关闭了。

说了这么多-我强烈建议您直接将发行版升级到现代版本。零星升级可能会导致您痛苦地追逐尾巴几个月。


2

您可以参考兼容性表来确定二进制兼容的版本。

通常,将glibc升级到较新的版本不是问题,但是您应该使用与发行版中使用的配置标志相同的配置标志来构建它(请参阅相应SRPM软件包中的spec文件)。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.