当前位置: 首页>>技术教程>>正文


如何安装软件或从旧版不受支持的版本进行升级?

,

问题描述

最近我在旧机器上安装了旧版本的Ubuntu。每当我尝试安装任何软件时,都会收到错误消息,指出找不到该软件:

$ sudo apt-get install vlc
Reading package lists... Done               
Building dependency tree       
Reading state information... Done    
E: Couldn't find package vlc

最佳解决办法

不支持旧版本的存储库(如11.04,11.10和13.04)将被移至存档服务器。 http://old-releases.ubuntu.com提供存储库。

原因是它现在已经失去支持,不再接收更新和安全补丁。

我会敦促你考虑一个支持的发行版。如果您的计算机在内存或处理器方面太旧,那么您应该考虑使用Lubuntu或Xubuntu等发行版。

如果要继续使用过期版本,请编辑/etc/apt/sources.list并将archive.ubuntu.comsecurity.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

有时候,创建系统备份并重新安装支持版本可能会更快。

来源:Can I keep using Ubuntu 9.04 if it’s outdated?


要升级到新版本:

执行上述步骤切换到old-releases镜像后,更新Update Manager,然后执行do-release-upgrade

sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade

另见EOLUpgrades – Community Help Wiki

次佳解决办法

What are 404 errors

The 404 or Not Found error message is a HTTP standard response code indicating that the client was able to communicate with the server, but the server could not find what was requested.

The web site hosting server will typically generate “404 – Page Not Found” web page, when users attempts to follow a broken or dead link.

为什么我们面临404错误

Ubuntu遵循两种不同的release cycles的方法:

Normal Ubuntu releases are supported for 9 months. LTS releases are supported for 5 years.

Past releases may have different support schedules (for example, normal releases (before 13.04) used to be supported for 18 months, while LTS releases (before 12.04) used to be supported for 3 years on the desktop and 5 years on the server).

EOL:一旦特定发布的支持期结束,它们被称为End Of Life (EOL),并且该版本的所有更新和软件包存储库都被传输到不同的服务器,在运行sudo apt-get update时会导致404错误。您可以通过转到this page来确认您的版本是否已成为EOL。如果您的Ubuntu版本在“End of Life(EOL)”表中提到,则不再支持该版本,您应该尝试升级到newer supported release。但是,如果您希望继续使用此不受支持的版本,则必须在/etc/apt/sources.list中进行必要的修改以指向Ubuntu的old-releases服务器。

进行必要修改的步骤

  1. 打开终端:

    • Ctrl + Alt + T;要么

    • 如果你有Gnome:ApplicationsAccessoriesTerminal;要么

    • 如果您有Unity:请按Super(Left CtrlLeft Alt之间的键)并查询Terminal

  2. 运行以下命令进入root shell:

    sudo -i
    

    输入您的用户密码并按Enter。提示符会发生变化,并会指示root用户现在已登录。此处运行以下命令:

    gedit /etc/apt/sources.list
    
  3. 该文件将在新的Gedit窗口中打开。找到不以#开头的第一行。假设你正在运行Karmic Koala(Ubuntu 9.10):它应该像下面这行:

    deb <siteurl> karmic main restricted
    

    其中,<siteurl>是您的首选服务器 – http://gb.archive.ubuntu.com/ubuntu(例如)。

  4. Ctrl + H<siteurl>替换为http://old-releases.ubuntu.com/ubuntu

    • 搜索:http://gb.archive.ubuntu.com/ubuntu ie; <siteurl>

    • 替换为:http://old-releases.ubuntu.com/ubuntu

    • Replace All

  5. 再来一次:

    • 搜索:http://security.ubuntu.com/ubuntu(这是所有Ubuntu发行版的确切网址 – “无论您使用的是当前服务器)

    • 替换为:http://old-releases.ubuntu.com/ubuntu

    • Replace All

  6. 保存你的文件并退出Gedit。

  7. 运行以下命令退出根shell:

    logout
    

    您会发现提示符会切换回来,以指示您的普通用户现在已登录。然后运行以下命令:

    sudo apt-get update
    

你走了。这次没有404错误。您现在可以安装Ubuntu Release的所有可用软件包。您还可以运行sudo apt-get dist-upgrade以安装尚未安装的任何安全/Bug-fix更新,但不会从Ubuntu获得任何进一步的安全/Bug-fix更新。

第三种解决办法

简短的答案是将下一个apt库添加到软件源(或更新版本中的软件和更新)中的Third-Party软件(或更新版本的其他软件)中:

deb http://old-releases.ubuntu.com/ubuntu code_name main restricted universe multiverse

长的答案…

GUI方法

那么,实际上我们会这样做,而不使用任何terminal。一次也没有。只是图形用户界面,我保证;-)

首先,打开软件源(或更新版本的软件和更新)。无论你的Ubuntu多大年纪都不重要,肯定有这样的事情。对于Ubuntu 9.04(Jaunty Jackalope)请看下图:查看位置:

release-management,ubuntu

在软件源(或软件和更新)被打开之后,进入Ubuntu软件和更新选项卡,并取消选择每个选项,如下图所示。由于你的Ubuntu版本是End of Life,你不需要这些东西了:

release-management,ubuntu


release-management,ubuntu

在不关闭软件源(或软件和更新)的情况下,进入Third-Party软件(对于最新版本,此标签名为其他软件)选项卡并添加新的apt存储库。当你被问到时插入到下一行:

deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse

如果您的Ubuntu版本不是9.04,则将上面的行jaunty替换为您的Ubuntu代号(例如,如果您有Ubuntu 9.10,则替换为karmic等):

release-management,ubuntu

现在,当您关闭软件资源(或软件和更新)时,系统会要求您重新载入有关可用软件的信息。只要确保你有一个可用的互联网连接:

release-management,ubuntu


release-management,ubuntu

现在你几乎可以自由下载任何你想要的东西。对于9.04,您可以使用新立得软件包管理器。对于最新版本的Ubuntu软件中心。

例如,要使用Synaptic Package Manager在Ubuntu 9.04中安装VLC,请按照以下图片中的说明进行操作:

release-management,ubuntu


release-management,ubuntu


release-management,ubuntu


release-management,ubuntu


release-management,ubuntu


release-management,ubuntu


release-management,ubuntu

如果您想将Ubuntu更新到新版本,只需转到System>更新管理器:

release-management,ubuntu


release-management,ubuntu

我从Ubuntu 9.04(Jaunty Jackalope)的实时会话中测试了这种方法,正如你可以从这些图片中看到的那样。如果您正在安装Ubuntu会话,您有时会被要求输入root或admin密码。询问时只需插入个人用户密码。

第四种办法

要让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/添加为镜像,然后告诉软件源切换到该镜像。

为此,请备份和编辑/usr/share/python-apt/templates/Ubuntu.mirrors。为old-releases服务器(例如#LOC:US)选择一个假的位置,并在其下添加以下行:

#LOC:US
http://old-releases.ubuntu.com/ubuntu/

现在打开系统的软件源对话框,并手动选择old-releases.ubuntu.com,就像它是您的区域镜像一样。您应该在上一步中选择的虚假位置下找到它。

当您下一次通过新立得或更新管理器重新加载包信息时,您应该看到它成功检索更新的包信息。

第六种办法

因为我无法将系统从15.10(EOL)升级到16.04,所以我到了这里。但是没有一个答案对我有效……即使在做了这里所建议的所有事情之后,我仍然从sudo do-release-upgrade那里得到了令人讨厌的回应….

Checking for a new Ubuntu release  
No new release found

而我在运行update-manager方面没有成功 – 它一直抛出我无法解决的异常。我怀疑我的15.10安装中有东西损坏,但底线是内置升级失败。

所以我寻找了non-内置方法,果然我发现它看着this answer

这是为我工作的解决方案:

  1. 打开http://changelogs.ubuntu.com/meta-release

  2. 找到您要升级到的版本。就我而言,它是Xenial Xerus(16.04长期支持)。

  3. 找到UpgradeTool URL。对于xenial,它是this one。从该URL下载tarball到一个空文件夹并打开它(tar -xzf或使用GUI)。

  4. 找到与分发名称相同的可执行文件(在我的情况下为xenial)。用sudo运行它:sudo ./xenial &

  5. 批准升级并等待下载完成 – 有数千个文件,可能超过1 GB。继续安装升级…

(在我执行升级后很长时间编辑过…它成功了,我忘记了更新)6.等到它完成时,如果询问是否批准……我不记得确切的详细信息7.重新启动后,新版本成功运行,所有更新都可以正常提取。

第七种办法

看来Karmic存储库是no longer available

由于它们是针对以前版本的Ubuntu,因此可以考虑从源列表中删除它们。查看step-by-step的this help page

第八种办法

您可以在”old-releases”服务器http://old-releases.ubuntu.com/ubuntu/dists/下找到存储库

关于如何编辑/etc/apt/sources.list https://help.ubuntu.com/community/EOLUpgrades

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/78.html,未经允许,请勿转载。