我想在我的 Debian Squeeze 服务器上使用 doxygen,但我需要 Debian Wheezy 的版本,因为它显然包含错误修正我需要。
它不在 backports 中 - 检查 packages.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen(我是新手,不允许将其作为正确链接!)
我尝试将 Wheezy 添加到我的 sources.list 文件中并运行,apt-get install -t wheezy doxygen
但它想要安装太多来自 wheezy;这是一个生产服务器,因此不能承受这种风险。
我假设从源代码编译也将要从源代码编译上述所有其余内容?
还有其他解决方案吗?(例如某些虚拟化或 chrooting?)等等
答案1
添加到您的/etc/apt/apt.conf
:
APT::Default-release "stable";
然后你可以运行:
aptitude install doxygen/wheezy
(与 -t 不同)
答案2
从源代码编译很有可能成功。这就是 backports 所做的。当您编译 Debian 软件包时,生成的二进制软件包对该软件包的可执行文件所链接的所有库都具有版本依赖性:已安装的库版本可能不会早于编译期间使用的版本。如果您在 squeeze 系统上重新编译 wheezy 软件包,这些依赖项将允许您在 squeeze 上运行该软件包。这是假设没有对不在 squeeze 中的软件包版本的明确依赖,我还没有检查 doxygen 的具体情况。
答案3
我建议使用 apt-pinning 来代替:
将以下内容添加到 /etc/apt/preferences 或 /etc/apt/preferences.d/pinning
Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10
并安装 wheezy 包,正如 Giovanni 指出的那样:
apt-get install doxygen/wheezy
答案4
我不能 100% 确定 prevu 可以在 debian 上运行,但它应该可以: https://wiki.ubuntu.com/Prevu 我已经使用 prevu 安装了来自较新版本的 ubuntu 的几个软件包。
如果您无法使其工作,请尝试从源代码进行编译,因为您可能不需要编译所有库,因为它们可能已经存在,它们只是旧版本。