我有一台运行 Ubuntu 9.10 的服务器,Apache 2.2.12 是 的最新可用软件包apache2
。但是,我看到 Lucid 有 2.2.14 可用。有没有办法继续使用dpkg
并获得 2.2.14(或者最好是 2.2.15,因为它是安全发布回到三月份)运行,还是我必须求助于手动编译?
我只想将操作系统升级到 Lucid,但机器已经放置了 8 个小时,而且没有备份(责怪管理不善的人)。
答案1
如果您想要做的只是获取一些安全更新,那么不必担心 - 只要您有一个标准安装并且运行:
apt-get update
apt-get upgrade
您将从 karmic-security APT 存储库获取更新。Ubuntu 的政策是不再更改已发布的软件包版本,但他们会根据需要反向移植后续版本的安全更新。此政策有少数例外(Firefox 最为明显),但 Apache2 不是其中之一。
事实上,如果你看看apache2 karmic 软件包页面,您会看到当前版本标记为“安全”,如果您查看变更日志您会发现他们已经反向移植了安全问题。
如果你真的有兴趣在不升级的情况下获得更高版本,你应该阅读Ubuntu 反向移植wiki 页面。有许多不同的选项可用,从重新构建您自己的软件包到使用 Ubuntu backports 存储库来获取一些后续软件包。
答案2
从技术上来说,您可以通过在 lucid 中添加deb
一行来实现这一点(这里有一个例子):/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
然后(apt-get update
仅apt-get install apache2
更新 Apache2)。但绝对没有任何保证说更新不会破坏您的 Apache2 安装或系统中的其他东西(缺少库、错误链接……)。
不用说你不应该在生产服务器上这样做:)
如果更新对您的系统确实至关重要,您应该删除现有软件包并自行编译 Apache2(或者更好的是,创建一个checkinstall
以后可以轻松卸载的软件包)。