如何以 Debian 方式运行依赖于遗留库的软件?

如何以 Debian 方式运行依赖于遗留库的软件?

我想继续使用 Opera v12.16,这是他们转换到基于 Chrome 的 Opera 之前的最后一个版本。

这有一个依赖链:

  • opera v12.16.1860
    • gstreamer0.10-plugins-good v0.10.31-3+nmu4+deb8u2
      • libtag1c2a v1.9.1-2.1
        • libtag1-vanilla v1.9.1-2.1

如今许多软件包都迫切需要libtag1v5,这与 相冲突libtag1c2a。我只能将就着保留 opera 而不更新新版本所依赖的软件包libtag1v5,目前有 44 个。

显然, libtag1c2a是某种没有二进制的元包, libtag1-vanilla看起来像库二进制文件。

我确实读过如何运行需要旧库版本的软件?我发现原则上我可以提取并复制所需的库到某个地方,然后将 opera 二进制文件指向那里,以便在启动时找到它们。但是,这不会删除引用的依赖关系层次结构,因此如果我想继续使用 APT 打包,这不是解决方案。

我可以通过从.deb 文件libtag1c2中删除依赖项来创建 Frankenpackage gstreamer0.10-plugins-good

我知道 chroot、lxd、openvz 以及类似的东西,并且认为它们因为一个库()而非常麻烦/usr/lib/x86_64-linux-gnu/libtag.so.1.14.0;尤其是 Opera 需要访问~/.opera

有没有更好的方法实现旧版 Opera一起使用易于更新的 Debian 吗?

在此先非常感谢您的想法和建议。

答案1

我找到了一种解决方案:

从上面删除 opera 和其后续 3 个依赖包,然后从 进行安装opera-12.16-1860.x86_64.linux.tar.bz2,其中包括其自己的gstreamer库。

实际上,这意味着依赖软件包提供商来提供这个更独立、与 APT 无关的软件包版本。幸运的是,通常情况确实如此。

从此之后,就不再有障碍了dist-upgrade

尽管没有任何帮助,问题还是得到了解决并且系统基本重新进行了 Debian 化。

相关内容