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

Fix*_*ker 23 debian apt dependencies package-management

我目前正在运行 Debian 测试 (Wheezy) 并试图让SCIM工作。我想安装scim-pinyin包,但在测试存储库中没有这样的包,尽管在以前的稳定 (Squeeze) 存储库中有一个。有一个包的副本不稳定但不适用于我的架构(amd64)。

查看软件包版本,我注意到稳定存储库中的版本与不稳定存储库中的版本相同。既然如此,我有两个问题:

  1. 有什么原因我不能从较旧的存储库安装软件包,因为我认为大多数 Squeeze 软件包的依赖项可能会被当前正在测试的软件包版本所满足?

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

F. *_*uri 21

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

由于 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
Run Code Online (Sandbox Code Playgroud)

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

cat <<eof >/etc/apt/apt.conf.d/99squeeze
APT::Default-Release "wheezy";
Run Code Online (Sandbox Code Playgroud)

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

apt-get -t squeeze install scim-pinyin
Run Code Online (Sandbox Code Playgroud)

  • 我尝试将其复制并粘贴到 buster 中,这样我就可以使用一些拉伸包。我发现我不需要'更新' - 我的文件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"` (2认同)

Ema*_*erg 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
Run Code Online (Sandbox Code Playgroud)

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

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