我可以“yum 升级”到特定的 CentOS 版本吗?

我可以“yum 升级”到特定的 CentOS 版本吗?

我在 CentOS 5.4 上使用第三方专有应用程序,已知该应用程序在原始 5.9 或更高版本上会出现故障。我想逐步升级到该应用程序可以运行的最新 CentOS 版本。因为yum update我马上就升级到 5.9,所以这不是一个选择。我想刻录所有四张安装 DVD 5.5 到 5.8 并安装每张,以找出损坏的具体位置,但也许有一种更简单的方法可以将文件/etc/yum.conf.d从 5.4 转到 5.5 等。任何人都可以提供一些指导吗?

(遗憾的是,无法要求该应用程序的供应商进行修复,因为它被一家蓝色大公司收购,并在那之后不久终止了。)

编辑:

进一步的调查表明它与 GNU C 库不兼容。使用 glibc-2.5-58,应用程序可以在 CentOS 5.9 上正常运行,使用普通的 glibc-2.5-107,它会挂起。现在,我在运行应用程序时将 LD_LIBRARY_PATH 指向旧版 glibc。

答案1

我认为您可以将第一个 CentOS 安装 DVD 视为存储库,即将 DVD iso 映像循环挂载为/media/cdrom,将baseurl一个存储库的设为file:///media/cdrom并告诉yum忽略其他存储库。创建一个/etc/yum.repos.d/CentOS-Media.repo包含这些行的:

[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

并告诉yum仅使用此存储库:

yum --disablerepo=\* --enablerepo=c5-media install lynx

(请参阅此以供参考。)

2of2警告 1:如果需要DVD 中的 RPM,此操作将会失败;不确定是否有解决方法。警告 2:不过,这有点浪费带宽,因为您需要整张 DVD 来更新特定版本的一些软件包。 HTTPFS,如果它像宣传的那样工作,可能会在这里带来很大的好处(我从未尝试过)。

答案2

CentOS(因为它是从 RHEL 克隆而来)实际上没有“版本 5.9”,这实际上是版本 5 加上所有更新,直到 5.9 被剪切以创建新的安装介质集。因此,要确切地找出这个第三方应用程序是如何损坏的,您必须找出它所依赖的内容,并从各种 CentOS 介质中更新它(以及任何依赖项)(因为我非常怀疑旧软件包是否仍在某个存储库中)。也许更简单的方法是每次使用 kickstart 文件进行设置(在虚拟机中?)进行安装,然后进行测试。顺便说一句,使用二进制搜索的思路:它在 5 上有效,在 9 上中断 ~~-> 接下来尝试 (5 + 9) / 2 = 7。

这是关于什么的?破损有哪些症状?也许如果你问一个更具体的问题(作为一个新问题),有人可能会提供帮助......

相关内容