在 Debian 5.0 (Lenny) 安装中使用 Debian 6.0 (Squeeze) 软件包

在 Debian 5.0 (Lenny) 安装中使用 Debian 6.0 (Squeeze) 软件包

目前,我已经在本地 ISP 提供的虚拟服务器上安装了 Debian Lenny。我无法将其升级,无法将其配置为 Squeeze,但我需要 Squeeze 存储库提供的最新软件包版本。

如果我将 /etc/apt/sources.list 更新为 Squeeze,然后安装 potgresql,它会正常工作吗?还是系统会因此崩溃。问题可能出在软件包依赖性上。

有没有其他来源提供新版本的软件(可能是 dotdeb)?或者你会如何解决这个问题?

要求供应商升级不是办法,我试过了。更换供应商也不行 :p

我是 Debian 的新手,但是对 Linux 相当了解。

注意:此设置仅用于测试,一旦我安装了所需的软件包,以后可能会用作开发服务器。

答案1

Lenny 反向移植是唯一干净的解决方案。其他任何方法都可能升级操作系统的核心部分,而您说您不想要。对于 postgresql,您将获得 8.4.7 而不是 8.3.14。

deb http://backports.debian.org/debian-backports lenny-backports main

contrib如果需要的话还可以加上non-free

不确定真正升级的障碍是什么。您在虚拟机上有 root 权限,剩下的就是物理主机提供的内核。但除非我弄错了,否则您不必升级虚拟机的内核即可运行 squeeze。

答案2

向后移植解决方法。但是如果你不得不在 apt 配置中使用 squeeze 源,因为你在 backport 中找不到你想要的东西,那么不要只替换 lenny 源,而是使用钉住反而。

首先在 /etc/apt/sources 中添加一个 squeeze 源,但不删除当前的 le​​nny 行。然后创建和/或编辑 /etc/apt/preferences,并添加如下内容:

Package: *
Pin: release a=lenny
Pin-Priority: 700

Package: *
Pin: release a=squeeze
Pin-Priority: 650

如果您以这种方式配置源,请使用 oldstable 而不是 lenny,使用 stable 而不是 squeeze。

这样,仅当您为 apt-get 指定 -t 参数时,才能安装 squeeze 包(及其依赖项),如下所示:

apt-get install -t squeeze vim

请注意,这相当于编辑您的 apt 源并apt-get update在使用 -t 参数的每个命令之前和之后运行,因此它不会产生任何魔力。但根据我的经验,拥有更新的源列表,您没有在不固定的情况下运行升级,这会导致中断,特别是如果您共享服务器的管理。

有些软件包可以毫无问题地安装,有些则不然。但是 apt-get 会警告您某些损坏情况,例如,如果所需的软件包要安装新的 libc。出于显而易见的原因,请首先在测试环境中尝试此操作。

相关内容