在 Centos 7 上安装一些 el6 包有什么后果?

Dan*_*ski 5 yum rpm centos6 centos7

我负责在我的合同工作中管理 Centos 7 机器。我更像是一名开发人员,而不是 Linux 管理员,所以请耐心等待,也许可以尝试向我解释这一点,就像我 5 岁一样。

我们正在开发的应用程序之一需要称为pdftk 的东西。不幸的是,它的依赖项是 libgcj。我读到 libgcj 被认为已弃用,不再“随附”新的 Centos 7。

所以,我这样做了:

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libgcj-4.4.7-11.el6.x86_64.rpm
wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-1.el6.x86_64.rpm
rpm -ivh --nodeps libgcj-4.4.7-11.el6.x86_64.rpm
yum install pdftk-2.02-1.el6.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

yay pdftk 现在可以工作了。但是,我一直在阅读并确定这是一个坏主意。没有给出为什么这是一件愚蠢的事情的原因。那么有人可以解释为什么我不应该这样做吗?或者也许给我一些我现在应该采取的建议或预防措施?我不敢重启服务器或安装更新,直到我知道这不会破坏我们的盒子。

先感谢您。

小智 1

这并不意味着是一个完整的答案,但到目前为止,没有人提供为什么这不是一个程序的原因可能是一个坏主意:

某些版本的包依赖于外部库提供的功能。这些库随着时间的推移而变化,在这个过程中可能会改变它们的行为,甚至完全删除功能。从 EL6 迁移到 EL7 是一个相当大的步骤,因此可能会有一个新版本的包/库 XYZ,它通常可能与您安装的包版本一起使用,但不能完全兼容。

在您的情况下,pdftk 通常可能会按预期工作,但在某些特殊情况下,可能会有一个函数调用,该函数调用无法与其余已安装的软件包一起使用,因此可能会崩溃或出现意外行为。评估这种不当行为的根源将变得非常棘手。

可能还有很多其他原因不这样做,但这是我首先想到的,对于生产系统来说稳定性是关键。因此,我不会混合不是为特定操作系统版本设计的版本。至少在没有经过彻底测试的情况下是这样。