标题中是一般性问题。更具体的例子是:我有一台运行 ubuntu(实际上是 xubuntu)v9.04 的服务器。存储库中可用的 svn(subversion)是 1.5.x,但我想安装较新的 1.6.x。是否有“正确”的升级方法(并保留依赖项等)?
请回答这个具体案例或一般案例。
* 更新 *我最终安装了来自https://launchpad.net/~anders-kaseorg/%2Barchive/subversion-1.6,对我有用。
答案1
如果该软件包不在 Backports 存储库中,您可以请求将其反向移植。
或者获取源代码并进行自己的(静态)构建。为了方便删除/升级,可以创建一个包或使用 checkinstall。
另一种可能性是从某人的启动板 ppa 安装软件包,但该人信任一个软件包,某人已遵守。
答案2
因为我们不需要反向移植颠覆,所以我只能给出一个一般性的答案:
我们正在使用内部复制版,这是一个不错的选择,可以让您的软件轻松地在公司跨多个主机分发,甚至提供 gpg 签名的包(如果配置的话)。
当然,您需要深入研究 Debian 软件包开发(有时),但一旦您记录了基本步骤,它很快就会得到回报。
上游已有的软件包只需要较新/特定版本,很容易引入(大多数情况下)。在 90% 的情况下,您只需获取源代码并复制debian
其中的目录,这样在dpkg-builpackage
(在手册页中查找所需选项)之后,您只需将其上传到您的存储库,然后就可以简单地使用apt-get install
软件包。
但是文档并不丰富多彩,因此您可能会遇到问题,这取决于您的知识水平,总的来说,我可以说它帮助我们简化了系统,因为我们现在有一个中心位置来提取(内部)更新。您甚至可以配置它定期(或手动)从上游存储库提取更新,甚至可以拥有多个可用于内部测试的发行版,因为您可能不希望未经测试的 backports.org 或 volattile 存储库中的软件包安装在您的服务器上。