Answers:
不支持的较早版本的存储库(如11.04、11.10和13.04)将移至存档服务器。在http://old-releases.ubuntu.com上有可用的存储库。
这样做的原因是,它现在不在支持范围内,不再接收更新和安全补丁。
我敦促您考虑支持的发行版。如果计算机的内存或处理器过旧,则应考虑使用Lubuntu或Xubuntu之类的发行版。
如果你想继续使用过时的版本,然后进行编辑/etc/apt/sources.list
和修改archive.ubuntu.com
,并security.ubuntu.com
给old-releases.ubuntu.com
。
您可以使用sed
:
sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
然后更新:
sudo apt-get update && sudo apt-get dist-upgrade
有时,创建系统备份并使用支持的发行版重新安装可能会更快。
完成上述步骤以切换到旧版本的镜像后,更新更新管理器,然后执行以下操作do-release-upgrade
:
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
另请参见EOLUpgrades-社区帮助Wiki。
extras
存储库(对于Skype等)又如何呢?它们在EOF之后是否可用?
sudo vi /etc/apt/sources.list
手动修改它。我必须这样做,因为我很新,并且我不知道sed是否可以使这种工作适用于业障,谢谢,您的答案仍然是正确和正确的。
sudo nano /etc/apt/sources.list
,因为vi*
仅仅是烦人...
sed
命令并非始终有效,因为存在由以外的组织运行的镜像ubuntu.com
。我什至不确定所有的域名都有三个点。对于这些,您必须手动进行编辑/etc/apt/sources.list
。
404或未找到错误消息是HTTP标准响应代码,指示客户端能够与服务器通信,但是服务器找不到请求的内容。
当用户尝试跟踪断开或无效的链接时,网站托管服务器通常会生成“ 404-未找到页面”网页。
Ubuntu遵循两种不同的发行周期:
正常的Ubuntu版本支持9个月。LTS版本支持5年。
过去的发行版可能具有不同的支持时间表(例如,过去的正常发行版(13.04之前)被支持18个月,而过去的LTS发行版(12.04之前)在台式机上被支持3年,在服务器上被支持5年。
停产:特定版本的支持期结束后;它们被称为报废(EOL),并且该发行版的所有更新和程序包存储库都已转移到其他服务器,这在运行时导致404错误sudo apt-get update
。您可以通过转到此页面来确认您的版本是否已终止。如果在“寿命终止(EOL)”表下提到了您的Ubuntu版本,则该版本不再受支持,您应尝试升级到较新的受支持版本。但是,如果您希望继续使用此不受支持的版本,则必须进行必要的修改/etc/apt/sources.list
以指向old-releases
Ubuntu服务器。
打开您的终端:
Applications
→交通Accessories
→交通Terminal
; 要么Terminal
。运行以下命令进入root shell:
sudo -i
输入您的用户密码,然后按Enter。提示将更改,并指示现在已经有root用户登录。在这里运行以下命令:
gedit /etc/apt/sources.list
该文件将在新的Gedit窗口中打开。找到不以开头的第一行#
。假设您正在运行Karmic Koala(Ubuntu 9.10):应该类似于以下行:
deb <siteurl> karmic main restricted
<siteurl>
您首选的服务器http://gb.archive.ubuntu.com/ubuntu
在哪里- 例如您的服务器。
按Ctrl+ H替换<siteurl>
为http://old-releases.ubuntu.com/ubuntu
。
http://gb.archive.ubuntu.com/ubuntu
即;<siteurl>
http://old-releases.ubuntu.com/ubuntu
和再来一次:
http://security.ubuntu.com/ubuntu
所有Ubuntu版本的确切网址-所用的当前服务器是什么)http://old-releases.ubuntu.com/ubuntu
保存文件并退出Gedit。
运行以下命令以脱离根shell:
logout
您会发现提示切换回以指示您的普通用户现在已登录。然后运行以下命令:
sudo apt-get update
妳去 这次没有404错误。现在,您可以为Ubuntu版本安装所有可用的软件包。您还可以运行sudo apt-get dist-upgrade
以安装尚未安装的任何Security / Bug修复程序更新,但不会从Ubuntu获得任何其他Security / Bug修复程序更新。
raring main restricted
,没有#的第一行是,没有任何deb。我按指定进行了更改,然后也替换了网址,但仍然得到404。
deb <siteurl>
,则很可能/etc/apt/sources.list
由于某种原因您的文件已损坏。请遵循以下给出的答案: 如何还原默认存储库?。这样可以/etc/apt/sources.list
为您恢复正确的状态,然后按照我的回答将服务器更改为指向旧版本的服务器。
简短的答案是将下一个apt存储库添加到“ 软件源”(或新版本中的“ 软件和更新” )中的第三方软件(或新版本中的“ 其他软件”)中:
deb http://old-releases.ubuntu.com/ubuntu code_name main restricted universe multiverse
长答案...
好吧,实际上我们将在不使用任何终端的情况下执行此操作。一次也没有。我保证只是GUI ;-)
首先,打开软件源(或较新版本的软件和更新)。不管您的Ubuntu年龄多大,肯定都有这样的东西。对于Ubuntu 9.04(Jaunty Jackalope),请查看下一张图片以查看位置:
之后软件源(或软件和更新)它是开放的,走在Ubuntu软件和更新选项卡,并取消everytiyng就像在接下来的图片。由于您的Ubuntu版本是End of Life,因此您不再需要这些东西:
在不关闭软件源(或软件和更新)的情况下,进入“ 第三方软件”(对于最新版本,此选项卡称为“ 其他软件”)选项卡,并添加新的apt存储库。在询问时完全插入下一行:
deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse
如果您的Ubuntu版本不是9.04,请在上一行jaunty
中用您的Ubuntu代码名替换(例如,如果您有Ubuntu 9.10,请替换为karmic
,依此类推):
现在,当您关闭软件源(或软件和更新)时,将要求您重新加载有关可用软件的信息。只要确保您的互联网连接正常即可:
现在,您几乎可以随意下载任何内容。对于9.04,您可以使用Synaptic软件包管理器。对于最新版本,有Ubuntu软件中心。
例如,要使用Synaptic软件包管理器在Ubuntu 9.04中安装VLC,请按照以下图片中的说明进行操作:
如果要将Ubuntu更新到新版本,只需进入系统 > 更新管理器:
我从Ubuntu 9.04(Jaunty Jackalope)的实时会话中测试了此方法,从这些图片中可以看到它的工作原理。如果您正在Ubuntu的已安装会话中,有时会要求您输入root或admin密码。询问时只需插入您的个人用户密码。
我到达这里是因为我无法将系统从15.10(EOL)升级到16.04。但是没有一个答案对我有用...即使做了这里建议的一切,我仍然从sudo do-release-upgrade
烦人的回答中得到:
Checking for a new Ubuntu release
No new release found
而且我在跑步上没有成功update-manager
; 它不断抛出我无法解决的异常。我怀疑15.10安装中有损坏,但最重要的是内置升级失败了。
因此,我寻找了一种非内置方法,并且确实可以从这个答案中找到它。
这是为我工作的解决方案:
tar -xzf
或使用GUI)。找到与发行版同名的可执行文件(在我的情况下xenial
)。使用以下命令运行它sudo
:
sudo ./xenial &
批准升级,然后等待下载完成-有成千上万的文件,并且可能超过1G。继续安装升级...
(在执行升级后很久才编辑的。。。成功了,我忘了更新)
等待它完成,如果有询问,请批准...我不记得确切的细节了
重新启动后,新版本将成功运行,并且所有更新都可以正常获取。
要重新apt-get
工作,请将软件源更改为旧版本存储库。
gksudo gedit /etc/apt/sources.list
删除其中的任何内容,然后粘贴以下内容:
# Required
deb http://old-releases.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse
# Optional
#deb http://old-releases.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
就这样。
尽管fossfreedom的回答在描述和解决问题方面做得很好,但是我发现了一个变体解决方案,我认为它更简单,也更优雅。
诀窍是添加http://old-releases.ubuntu.com/ubuntu/
为镜像,然后告诉Software Sources切换到该镜像。
为此,请备份并编辑/usr/share/python-apt/templates/Ubuntu.mirrors
。为旧版本的服务器选择一个伪造的位置(例如#LOC:US
),并在其下添加以下行:
#LOC:US
http://old-releases.ubuntu.com/ubuntu/
现在打开系统的“软件源”对话框,然后手动选择old-releases.ubuntu.com
它,就像它是您的区域镜像一样。您应该在上一步选择的伪造位置下找到它。
下次您通过Synaptic或Update Manager重新加载软件包信息时,应该会看到它成功检索了更新的软件包信息。
您可以在“旧发行版”服务器http://old-releases.ubuntu.com/ubuntu/dists/下找到存储库
关于如何编辑/etc/apt/sources.list
https://help.ubuntu.com/community/EOLUpgrades
有一个极端的情况-apt-get声称16.04 LTS不存在 -旧软件包(在我的情况下为Vivid)不在“旧发行版”服务器上。但是apt-get只能找到内核和Google更新。
我不确定我到底是什么问题,因为我盲目地遵循了可接受的答案sed
命令(从来都不是明智之举)。
这不起作用,因为Vivid不在“旧版本”存档中,但仍在gb.archive.ubuntu.com
镜像中。
在这种特定情况下,解决方案如下:
sudo -i
edit /etc/apt/sources.list
仔细检查所有来源,发现其中一个来源是旧的,是错误的,并且未能正确更新(或其他内容)。或者像我一样,搜索从替换old-releases.ubuntu.com
为gb.archive.ubuntu.com
。然后,当我开始阅读时,它毫无问题地升级到了下一个版本。
所以:
gb.archive.unbuntu.com
镜面有一个更老版本的集合的。这里的要点是,尽管这里的大多数答案在某些情况下可能适用,/etc/apt/sources.list
但在为“旧版本”档案删除之前,一定要确保您是正确的。
您只需将浏览器选项卡指向存档和问题,然后在文件夹列表中查找您的版本名称,就可以确定哪个存档或镜像具有所需的版本。无论您使用哪个版本,都需要使用源。
http://old-releases.ubuntu.com/ubuntu/
到http://us.archive.ubuntu.com/ubuntu/
(或您自己的相应的两个字母的缩写县开头的代码)从17.10开始(基本上与返回字母的开头同步)。