所以我一直在玩VirtualBox和上面的两个Ubuntu版本,我注意到在执行apt-cache search <package>时,可用软件包之间存在一些差异。 其中一些我肯定是显而易见的,因为它们可能只在各自的系统上工作。 但我注意到具体几个ruby包不同。 所以我的问题是,是否有办法得到一些ruby软件包(ruby1.9.1,例如),似乎只有在9.10上可用(是的,我在9.10和9.04做了一个sudo apt-get update )在我的9.04系统? 有什么办法可以在9.04上进行内核升级,或者为了获得这些更新的包,可能需要其他任何东西?
Ubuntu的档案版本是有原因的; 软件依赖于库,甚至编译器版本来构build。 Ubuntu的每个版本通常只包含单一版本的系统库。 有时候一个软件包需要更新版本的库才能工作,而另一个软件包还没有准备好。 在这种情况下,Ubuntu维护者的负担就是创build一致的归档文件,必要时修补软件。
如果你想在旧版本的Ubuntu中使用更新的软件,这就是所谓的backport。 如果版本化的依赖关系没有改变的话,backports可以很容易,或者如果它需要升级系统库,基本上是不可能的。 除此之外,您唯一的select是将9.04安装版本升级到9.10。
当然,Ruby是一个完整的“另一种特殊的。 Ruby的维护者和Debian的包装者在包装上看起来并不一致 。 我认为大多数Rubyists跳过Ruby的.deb包装。
对于几个软件包,你可以添加backports到/etc/apt/sources.list,它比主软件库提供更多的backport。 请参阅https://help.ubuntu.com/community/UbuntuBackports
Ubuntu只能将安全更新反向移植到存储库,而剩下的则用于发布。 您可能能够find一个存储库来提供它,但它不会是官方的。