从 LTS 升级到下一个时,为什么“找不到新版本”?

BDo*_*ran 260 release-management

我正在按照Ubuntu 网站上升级说明进行操作,但是在启动升级工具时,我得到了以下响应:

Checking for a new ubuntu release
No new release found
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?有解决方法吗?

Jor*_*tro 250

根据 Ubuntu 工程基金会团队经理 Steve Langasek 的说法:

默认情况下,LTS 版本之间的升级在计划于 7 月发布的第一个点版本 14.04.1 之前不会启用。建议大多数 LTS 用户等到那时再升级到 14.04。

如果您选择在此之前升级,您可以将-d选项传递给升级工具,运行do-release-upgrade -dupdate-manager -d,以从 vanilla 12.04 升级到 14.04。(-d代表开发。)

这个问题解释了等待提示的理由:

  • 那么,为什么在 .1 以 iso 形式发布几天后,do-release-upgrade(没有 -d)仍然说“没有找到新版本”?(我的 /etc/update-manager/release-upgrades 说“Prompt=lts”) (14认同)
  • 通过对代码的检查,似乎“正常”版本默认使用 URL http://changelogs.ubuntu.com/meta-release,其中列出了 14.04,而 LTS 版本使用 URL http://changelogs.ubuntu.com /meta-release-lts 根本没有列出它。我认为他们还没有更新元信息。 (9认同)
  • 这似乎是一个发布疏忽,你能提交一个错误并抄送我吗?电子邮件在我的个人资料中,谢谢! (3认同)
  • @JorgeCastro 这确实是发布疏忽吗,不知道什么时候会修复?是否提交了错误,我可以在哪里关注它?(我搜索过,没找到。我也想从 12.04 LTS 切换到 14.04.1 LTS,我只想通过更新管理器来做。) (2认同)

k0p*_*kus 105

如果无法访问 GUI 并希望在终端上进行更新:

  1. 编辑文件

    /etc/update-manager/release-upgrades
    
    Run Code Online (Sandbox Code Playgroud)

    forPrompt匹配normallts。(请参阅下面适合您情况的列表,请注意,您只能将 LTS 升级到另一个 LTS 版本):

    [DEFAULT]
    Prompt=normal
    
    Run Code Online (Sandbox Code Playgroud)
  2. 测试找到正确版本,运行

    do-release-upgrade -c
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果显示正确版本,请升级:

    sudo do-release-upgrade
    
    Run Code Online (Sandbox Code Playgroud)

    如果您想升级到开发状态(例如,如果您想在正式发布之前从 18.10 升级到 19.04),该-d标志很有帮助:

    sudo do-release-upgrade -d
    
    Run Code Online (Sandbox Code Playgroud)

这样我就可以将 12.04 升级到 12.10。

可用的Prompt选项是:

  • 从不 - 从不检查新版本。
  • 正常 - 检查是否有新版本可用。如果发现多个新版本,则版本升级程序将尝试升级到当前运行的版本的后继版本。
  • lts - 检查是否有新的 LTS 版本可用。升级程序将尝试升级到当前运行的 LTS 版本之后可用的第一个 LTS 版本。请注意,如果当前运行的版本本身不是 LTS 版本,则不应使用此选项,因为在这种情况下,升级程序将无法确定是否有更新的版本可用。

  • 我有一个类似的问题。我只是从 Prompt=normal 更改为 Prompt=lts,它对我来说效果很好。 (3认同)

小智 20

sudo do-release-upgrade -d 
Run Code Online (Sandbox Code Playgroud)

注意末尾的 -d;从man页面:

  -d, --devel-release
      If using the latest supported release, upgrade to the development release
Run Code Online (Sandbox Code Playgroud)

这甚至适用于Prompt=ltsin /etc/update-manager/release-upgrades


Dus*_*olf 5

如果您遇到此问题并且不是 18.04.1 的问题,或者切换到 lts 或非 lts 更新没有任何改变,请尝试以下操作(很难找到步骤)。

打开终端并export DEBUG_UPDATE_MANAGER=truedo-release-upgrade -c命令之前键入:以查看哪里出了问题。

如果您遇到与我相同的问题,您会看到:

result of meta-release download: '<urlopen error timed out>'
NO self.metarelease_information
No new release found.
Run Code Online (Sandbox Code Playgroud)

您可能面临的问题是您为 apt 配置了一个不再相关的代理。由于历史原因(错误 #446552),更新程序会在几个不合理的地方寻找代理设置。除了系统范围的设置之外,您还应该检查 bash 环境变量、gconfgnome 代理设置,/etc/apt/apt.conf在我的情况下/root/.synaptic/synaptic.conf.

后者提醒您 GUI 中不再有工作菜单,删除代理设置的唯一方法是编辑文件。您也可以只删除该文件,这也有效。