我想继续使用 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 化。