Debian 6 (Squeeze) 中的 uwsgi 安装想要升级 libc6 和 initscripts

Debian 6 (Squeeze) 中的 uwsgi 安装想要升级 libc6 和 initscripts

我想uwsgi在我的 Debian 服务器上安装。这个包要升级一些核心包:

  • libc6从 2.11.3-3(现在,稳定)-> 2.13-35
  • initscripts从 2.88dsf-13.1+squeeze1(现在,稳定)-> 2.88dsf-13.3

我可以安全地执行此操作吗?或者有没有办法在不升级 libc6 的情况下安装此软件包?我的文件中有以下内容/etc/apt/preferences

Package: *
Pin: release a=stable
Pin-Priority: 1001

Package: *
Pin: release a=testing
Pin-Priority: 60

Package: *
Pin: release a=unstable
Pin-Priority: 50

Package: fabric
Pin: release a=unstable
Pin-Priority: 2000

答案1

看起来您正尝试在稳定安装上安装测试发行版中的软件包。这几乎永远不会起作用,因为测试包将从测试中引入大量库和其他包。您最终将得到一个混合的稳定/测试系统,这比纯测试更难维护,因为您会遇到更多冲突和缺少依赖项。请记住,测试不会像稳定那样快速获得安全更新,在服务器上使用它不是一个好主意。

如果您需要一个稳定版上不可用的特定软件包(例如 uwsgi),我建议从源代码编译它。通常,在稳定版上重新编译源代码就可以了;包中的最小库依赖是根据您安装的开发包版本生成的。或者,您可以寻找向后移植:来自测试的包已被重新编译为稳定版本。

对于 uwsgi,没有官方向后移植,但有非官方的。看来从源代码编译需要一些小的修改和 libjansson 向后移植。请记住,无论您是从源代码编译还是使用其他人的二进制文件,您都不会获得安全更新,因此请注意上游的安全公告。

答案2

安装很好,混合稳定/测试通常也很好——这就是依赖项的用途,以确保所有内容都获得所需的版本。

吉尔斯不正确:测试获取安全更新。看 ”如何处理测试的安全性?unattended-upgrades” 在 Debian FAQ 中了解详细信息。如果您希望自动安装它们,您可能需要调整配置等内容。

然而, 你的/etc/apt/preferences 将要导致混合稳定/测试系统出现问题,因为您将优先级设置得太高。仔细阅读apt_preferences(5)手册页,特别是“APT 的默认优先级分配”部分。基本上,设置Pin-Priority: 1001stable 说“安装来自 的版本stable,即使它是从 安装的软件包的降级testing”。降级通常是 中不受支持的操作,但更糟糕的是,这意味着每当您尝试安装来自 的apt软件包的较新版本时,您都会不断遇到问题,而您会尽力重新安装旧版本。这将很快导致吉尔斯提到的“冲突和缺失的依赖关系”。上一个libctestingapt正确配置的系统混合分布很好。

您实际想要使用的数字更接近:

Package: *
Pin: release a=stable
Pin-Priority: 200

Package: *
Pin: release a=testing
Pin-Priority: 80

Package: *
Pin: release a=unstable
Pin-Priority: 50

关键是stable应该设置在100-500之间,并且testing应该在1到100之间。

相关内容