我有一个 debian lenny box,上面运行着 apache2 2.11.6(这是几个月前的测试流,测试了一些)
现在测试版本是 2.12.1 我想升级我的 apache2,但是不是这台机器上的其他软件。所以我认为:
apt-get upgrade
..不是一个选择。
我怎样才能只升级单个包?
答案1
sudo apt-get install apache2
答案2
在 /etc/apt/sources.list 中添加一行用于测试。
例如如果你已经有以下 sources.list
deb http://your.favourite.mirror/debian/ 稳定 主要 非自由 贡献
然后将其复制并粘贴,并将副本更改为
deb http://your.favourite.mirror/debian/ 测试主要非自由贡献
编辑或创建 /etc/apt/preferences 来分配固定优先级,如下所示
包裹: * 引脚:发布 a=测试 Pin 优先级:100 包裹: * 引脚:发布 a=稳定 Pin 优先级:500
运行“apt-get update”
使用以下命令安装测试版的 apache2(以及所有必需的依赖项):
apt-get -t 测试安装 apache2
从现在开始,当您运行 apt-get upgrade 或 apt-get install 时,它将默认从稳定版安装软件包,但您可以随时使用“-t testing”覆盖它,以从测试版安装特定软件包(甚至是完整升级)。
您也可以对“不稳定”做同样的事情。只需将其添加为比测试更低的优先级即可。
就我个人而言,我会使用不稳定的代替测试。根据我的经验,测试版通常比不稳定版更糟糕,因为从不稳定版迁移到测试版的关键更新通常需要很长时间——只需要报告一个新的(或重复的)错误或将一个稍微新的修订版上传到不稳定版,软件包从不稳定版到测试版的自动迁移就会被延迟一周或两周或更长时间……这足够再报告一个错误或将更新的软件包上传到不稳定版以再次重置延迟。
答案3
man dpkg
但是依赖关系又如何呢?
答案4
根据这一页如果您使用以下格式,apt 将尝试解决来自测试的依赖关系:
apt-get -t testing install package
但是,如果你使用其他格式,它将解决稳定的依赖关系:
apt-get install package/testing