分发升级问题“未找到新版本”

fef*_*efe 21 upgrade 11.04

我正在使用 Ubuntu 11.04。更新管理器曾经发现新版本“oneiric”,当我使用 ssh 登录时仍然显示此屏幕:

Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-14-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

New release 'oneiric' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Wed Apr 25 16:22:48 2012 from ***
Run Code Online (Sandbox Code Playgroud)

但是我当时没有升级,也没有更改我的 apt 源。现在我无法升级到“oneiric”。do-relase-upgrade显示:

$ sudo do-release-upgrade
Checking for a new ubuntu release
No new release found
$
Run Code Online (Sandbox Code Playgroud)

apt-get dist-upgrade显示:

$ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$
Run Code Online (Sandbox Code Playgroud)

我可以成功更新我的所有软件包。


source.list 的文件内容:

$ cat /etc/apt/sources.list
## See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty main universe restricted multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty main universe restricted multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-security universe main multiverse restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-security universe main multiverse restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-updates universe main multiverse restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-updates universe main multiverse restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-backports universe main multiverse restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ natty-backports universe main multiverse restricted


# deb http://ubuntu.dormforce.net/ubuntu/ lucid main universe restricted multiverse
# deb-src http://ubuntu.dormforce.net/ubuntu/ lucid main universe restricted multiverse
# deb http://ubuntu.dormforce.net/ubuntu/ lucid-security universe main multiverse restricted
# deb-src http://ubuntu.dormforce.net/ubuntu/ lucid-security universe main multiverse restricted
# deb http://ubuntu.dormforce.net/ubuntu/ lucid-updates universe main multiverse restricted
# deb-src http://ubuntu.dormforce.net/ubuntu/ lucid-updates universe main multiverse restricted

# CDROMs are managed through the apt-cdrom tool.
# deb http://archive.canonical.com lucid partner
# deb http://archive.canonical.com lucid-security partner
# deb http://archive.canonical.com lucid-updates partner
# deb-src http://archive.canonical.com lucid partner
# deb-src http://archive.canonical.com lucid-security partner
# deb-src http://archive.canonical.com lucid-updates partner


#medibuntu repo
# deb http://packages.medibuntu.org/ lucid free non-free
# deb-src http://packages.medibuntu.org/ lucid free non-free

# deb http://extras.ubuntu.com/ubuntu maverick main #Third party developers repository
deb http://mirrors.sohu.com/ubuntu/ natty main restricted multiverse universe
deb-src http://mirrors.sohu.com/ubuntu/ natty main universe restricted multiverse #Added by software-properties
deb http://security.ubuntu.com/ubuntu/ natty-security universe main multiverse restricted
deb-src http://mirrors.sohu.com/ubuntu/ natty-security universe main multiverse restricted
deb http://mirrors.sohu.com/ubuntu/ natty-updates universe main multiverse restricted
deb-src http://mirrors.sohu.com/ubuntu/ natty-updates universe main multiverse restricted
Run Code Online (Sandbox Code Playgroud)

/etc/update-manager/meta-release 的文件内容:

$ cat /etc/update-manager/meta-release
# default location for the meta-release file

[METARELEASE]
URI = http://changelogs.ubuntu.com/meta-release
URI_LTS = http://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed
Run Code Online (Sandbox Code Playgroud)

这可能是什么问题?

小智 28

查看 /etc/update-manager/release-upgrades

Prompt=lts
Run Code Online (Sandbox Code Playgroud)

如果您当前使用的版本不是LTS版本,则会导致升级失败。

解决方案:

更改Prompt=ltsPrompt=normal并保存更改

执行所需的升级,直到安装 LTS 版本。

然后改回 Prompt=lts

完毕。


小智 15

要从服务器或系统上的 Ubuntu 11.10 或 Ubuntu 10.04 LTS 升级:update-manager-core如果尚未安装,请安装该软件包;使用命令启动升级工具sudo do-release-upgrade -d;并按照屏幕上的说明进行操作。请注意,服务器升级现在更加强大,将利用 GNU 屏幕并在出现连接断开等问题时自动重新连接。

  • 这在这里工作正常,但是在尝试升级到另一个稳定版本时,您不应该*使用`-d`。如果可以从当前版本升级到开发版本,`-d` 将升级到开发版本,这在生产环境中是非常不受欢迎的。只需去掉 `-d` 标志即可正常升级。 (8认同)
  • 请注意,当 `/etc/update-manager/release-upgrades` 包含 `Prompt=lts` 时,`sudo do-release-update -d` 可用于升级到稳定的非 lts 版本。我目前处于精确状态,已配置为仅升级到下一个 lts ,但 `sudo do-release-update -d` 将升级到 quantal(在撰写本文时早已稳定) (2认同)

小智 7

一种可能的原因是发布可用的图章文件不正确地挂起。以下解决了这个问题:

sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-available
Run Code Online (Sandbox Code Playgroud)

这个文件可以安全删除,因为它会在下次运行 motd 脚本时重新生成(如果合适的话)。


原因:在我使用 apt-get distupgrade 完成了部分完成的版本升级之后,我在 13.04 中出现了这个问题。如果图章文件/var/lib/ubuntu-release-upgrader/release-upgrade-available存在并且有新版本可用的消息,它会在每次登录时通过 motd 脚本显示:/etc/update-motd.d/91-release-upgrade/usr/lib/ubuntu-release-upgrader/release-upgrade-motd如果图章为空,则调用更新图章。有关为什么会出现这种情况的更多信息,请参阅这些文件。

  • 在 12.04 中,过时的更新文件位于 `/var/lib/update-notifier/`(不是 `ubuntu-release-upgrader/`),但其他所有内容仍然适用。 (2认同)