Debian:从旧版本的存储库安装软件包是否可能/安全?


21

我目前正在运行Debian测试(Wheezy),并试图使SCIM正常工作。我想安装scim-pinyin软件包,但是测试存储库中没有这样的软件包,尽管以前的稳定(Squeeze)存储库中有一个。有一个不稳定的软件包副本,但不是针对我的体系结构(amd64)。

在查看软件包版本时,我注意到稳定版本库中的版本与不稳定版本中的版本相同。在这种情况下,我有两个问题:

  1. 有什么理由为什么我不能从较旧的存储库安装软件包,因为我认为大多数Squeeze软件包可能都依赖于当前正在测试的软件包版本来满足其依赖性?

  2. 实现此目标的最佳方法是什么?(将Squeeze存储库添加到sources.list?下载Squeeze软件包并手动安装?)


我曾经在Squeeze上安装Lenny的软件包。我认为是lib2c.so。一切工作正常,但是我对此有一种不好的感觉。首先,我删除了当前的Squeeze存储库,添加了Lennys(在Google中搜索了存档服务器的URL),安装了必要的软件包,然后又回到了Squeeze存储库中,删除了Lennys。
TheMeaningfulEngineer 2013年

2
另请参见bugs.debian.org/cgi-bin/bugreport.cgi?bug=659310 ......这听起来像你不该安装它。
derobert 2013年

在下面查看我的答案;同样,此SU 问题可能会对您有所帮助。
伊曼纽尔·伯格

通常,最好的选择是在使用它的平台上重新编译它。这为您提供了成功使用的最大机会。话虽如此,它可能是有充分理由从Debian中删除的,所以我会寻找更好的选择。
Faheem Mitha 2013年

Answers:


15

在这种情况下,是的,这是可能且安全的。

作为debian,请为每个请求的软件包保留依赖关系树。

仍然存在由于冲突(端口预留,设备驱动程序等)而无法在同一安装中同时存在两个不同版本的某些库的风险。在这种情况下,apt会阻止您并要求做什么。(在这种情况下,请再提出另一个UL问题;-)

您可以添加squeeze.listsource.list.d

请注意!新版的APT将忽略不以“ .list” 结尾的文件名。):

cat <<eof >/etc/apt/sources.list.d/squeeze.list
deb http://ftp.be.debian.org/debian/ squeeze-updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib
eof

default指令添加到/etc/apt/apt.conf.d/

cat <<eof >/etc/apt/apt.conf.d/99squeeze
APT::Default-Release "wheezy";

比使用-tswitch到apt-get覆盖默认配置:

apt-get -t squeeze install scim-pinyin

这是很合理的。最后,由于@derobert发布​​的链接中的信息,我决定不安装SCIM,而是改用fcitx 可在wheezy中使用)。因此,我找到了解决问题的方法,但在此过程中仍然学到了一些新知识-谢谢。
FixMaker

1
我想指出的是,sources.list.d除非具有list文件扩展名,否则现在将忽略添加到其中的文件。因此,就我而言,文件应为/etc/apt/sources.list.d/squeeze.list
carandraug

我尝试将其复制并粘贴到破坏程序中,以便可以使用一些拉伸包。我发现我不需要'更新'-我的文件Stretch.list看起来像:deb http://deb.debian.org/debian/ stretch main contrib non-free deb-src http://deb.debian.org/debian stretch main contrib non-free默认发布指令显然更改为"buster"
mozboz

6

我曾经做过一次- gliv我想要的是图像查看器,因为它可以进行幻灯片显示,但是最新版本(在Debian中sid)存在一个错误,并在启动时终止。一旦“降级”,它就会起作用。

在中/etc/apt/sources.list,它看起来像这样:

deb http://ftp.de.debian.org/debian sid main contrib non-free
# deb http://ftp.de.debian.org/debian wheezy main contrib non-free
# deb http://ftp.de.debian.org/debian squeeze main contrib non-free

在这种情况下,我将取消注释最后两行,然后运行sudo aptitude update,然后运行aptitude versions PACKAGE。找到我喜欢的版本,然后运行sudo aptitude install PACKAGE=VERSION(准确键入版本,如aptitude输出的第二列中所示)。

完成后,我可能想还原, /etc/apt/sources.list所以我一次只漫游一个Debian版本。


我希望我能接受两个答案,因为这两个都有意义。谢谢你的建议。
FixMaker

@Lorax:完全没有问题,这是SX网站上的常见情况。
伊曼纽尔·伯格

这个答案帮助我解决了另一个不相关的库问题。谢谢。
黑暗之星

这个答案帮助我解决了另一个不相关的库问题。谢谢。
黑暗之星
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.