因此,我一直在使用 VirtualBox 和上述两个 Ubuntu 版本,并且我注意到在执行 时可用的软件包之间存在一些差异apt-cache search <package>
。其中一些我确信是显而易见的,因为它们可能只在各自的系统上工作。但我注意到几个 ruby 包特别不同。所以我的问题是是否有办法在我的 9.04 系统上获取一些似乎只在 9.10 上可用的 ruby 包(例如 ruby1.9.1-full)(是的,我在 9.10sudo apt-get update
和 9.04 上都做了 )?有没有办法我可以在 9.04 上进行内核升级,或者可能需要其他任何操作才能获得这些更新的软件包?
答案1
Ubuntu 档案库版本化原因在于:软件的构建依赖于库,甚至编译器版本。Ubuntu 的每个版本通常只包含一个版本的系统库。有时一个软件包需要较新版本的库才能运行,而另一个软件包尚未准备好。在这种情况下,Ubuntu 维护人员需要创建一致的存档,并在必要时修补软件。
如果你想要在旧版本的 Ubuntu 中使用较新的软件,这称为反向移植。如果版本化依赖项并没有改变,或者说,如果需要升级系统库,基本上是不可能的。除此之外,你唯一的选择就是将 9.04 安装 dist-upgrade 到 9.10。
当然,Ruby 是另一种特殊的东西。Ruby 维护者和 Debian 打包者似乎意见不一致关于打包。我认为大多数 Ruby 爱好者都会跳过 Ruby 的 .deb 打包。
答案2
对于一些软件包,您可以将反向移植添加到 /etc/apt/sources.list,这样可以为您提供比主存储库更多的反向移植。请参阅https://help.ubuntu.com/community/UbuntuBackports
答案3
Ubuntu 仅将安全更新移植到存储库,其余的则留待发布。您可能能够找到一个存储库来提供它,但它不是官方的。