我有一个安装了 Ubuntu Jaunty Jackalope 的软件开发盒。我知道这个版本是 2009 年的,但它是一个要求严格的开发盒,所以我无法将操作系统更新到较新版本的 Ubuntu。
我无法安装此版本的新软件,因为 Jaunty 不再受支持。也就是说,Ubuntu 软件服务器不再提供 Jaunty。例如,http://us.archive.ubuntu.com/ubuntu/dists/jaunty/不再存在。因此 apt-get 不再起作用。
我该怎么办?是否有 Jaunty 存档服务器?我如何将 apt-get 指向该服务器?
顺便说一下,我是 Solaris/Windows 用户。
答案1
您可以使用旧版本的网址:
http://old-releases.ubuntu.com/ubuntu/
Old-releases 包含不再正式支持的所有内容。只需在 /etc/apt/sources.list 中将 us.archive 和 security 替换为 old-releases 即可!
请注意,您还可以在 sources.list 文件中拥有来自不同版本 Ubuntu 的源(事实上,在过去的糟糕日子里,更新到最新版本意味着手动用 hoary 替换 warty 并运行 dist-upgrade)。
因此,如果您确实需要,您可以从较新的版本中获取较新版本的软件包,而无需更新整个操作系统。
编辑:更详细的例子。假设找到的文件这里是您的 sources.list 文件,您可以执行以下操作:
$ sudo vi /etc/apt/sources.list
VI 内部
:%s/archive/old-releases/g
:%s/cl\.//g
:wq
如果您的文件中含有 cl,请使用 us 而不是 cl。
然后运行
$ sudo apt-get update
$ sudo apt-get upgrade
第一个命令将根据您编辑的 sources.list 文件更新您的源。第二个命令将升级您系统上的所有软件包到 Jaunty 在支持结束之前使用的最新版本(首先会要求您确认)。
答案2
我不知道确切的原因是什么,但 Ubuntu 让安装不再支持的版本上的软件包变得有点困难。Ubuntu 似乎很好心地继续托管旧版本的文件,但您必须自己去发现如何访问这些文件。
这是通过/etc/apt/sources.list
下的附加文件进行管理的/etc/apt/sources.list.d/
。了解这些列表的内容有助于管理可安装组件。注意:这在 中有记录man sources.list
。
假设您有类似以下内容...
deb http://archive.ubuntu.com/ubuntu/ maverick main restricted universe
请注意,此行包含 URL 组件。诀窍在于,此行只是所指示的实际 URL 的简写,在本例中为...
http://archive.ubuntu.com/ubuntu/dists/maverick/main/
http://archive.ubuntu.com/ubuntu/dists/maverick/restricted/
http://archive.ubuntu.com/ubuntu/dists/maverick/universe/
问题是,这些 URL 还有效吗?答案是否定的,它们不再存在。
解决方案是找出 sources.list 文件中无效的行,并使用更新的位置对其进行修改——在本例中是……
deb http://old-releases.ubuntu.com/ubuntu/ maverick main restricted universe
注意:sources.list 中通常有多个条目。可能并非所有条目都需要进行此类修改 - 因此您必须有所选择,例如手动检查每个条目。 简短的回答是:替换archive.ubuntu.com
为old-releases.ubuntu.com
。
修改此文件后,运行之前需要先运行以下命令apt-get install
:
$ sudo apt-get update