Ubuntu 13.10 64 服务器,在从 13.04 升级到 13.10 后,尝试从 13.10 升级到 14.04。我在下载 14.04 的软件包列表时遇到了短暂的网络故障,导致下载过程停止,尝试重新启动下载过程时出现以下问题
root@server:~# do-release-upgrade -d
Checking for a new Ubuntu release
Get:1 Upgrade tool signature [198 B]
Get:2 Upgrade tool [1,148 kB]
Fetched 1,148 kB in 0s (0 B/s)
authenticate 'trusty.tar.gz' against 'trusty.tar.gz.gpg'
gpg exited 2
Debug information:
gpg: fatal: can't open fd 6 for status output: Bad file descriptor
secmem usage: 0/0 bytes in 0/0 blocks of pool 0/0
Authentication failed
Authenticating the upgrade failed. There may be a problem with the network or with the server.
我如何重新启动 do-release-upgrade 过程?
Apt-get 已完全更新、升级、dist-upgrade。
更新:
root@server:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
答案1
这个答案几乎偏离了主题,但却是我一直想知道的事情。
每次我升级 Debian 或其衍生版本(例如 Ubuntu 或 Mint)时,我都会这样做
sed -i -e 's/olddistroname/newdistroname/g' /etc/apt/sources.list
apt-get update && apt-get dist-upgrade
reboot
然后我享受我刚刚发布的新发行版。
我一直觉得这个办法管用。所有这些do-release-upgrade
喧嚣让我变得非常困惑、愤怒、老态龙钟。
所以我的子问题是:do-release-upgrade
如果这些样式的命令根本不起作用,那么它们有什么好处呢?经过验证的有效方法有什么问题?(apt-get 与 aptitude 是另一场我正试图消化的斗争)
答案2
就我而言,同样的错误是由我的版本 (13.04) 的存储库不可用引起的(如错误输出所示)。这又是由于 13.04 不再受支持。(您可以通过失败轻松注意到这一点apt-get update
。)似乎在这种情况下,您不得不do-release-upgrade
添加一些提供新软件包的存储库(例如,只需在 /etc/apt/sources.list 中用新版本名称替换旧版本),然后apt-get update && apt-get dist-upgrade
按照 Janne 的建议进行操作。(当然,这种方式也可以验证软件包签名。)
答案3
首先sudo dpkg --configure -a
清理你破坏的任何东西,然后sudo apt-get update
更新你的源,然后重试。请记住sudo do-release-upgrade -d
应谨慎使用,并且绝对不应在生产环境中使用。
编辑:
根据升级文档你可以直接从 Ubuntu 13.10 (“Saucy Salamander”) 升级到 Ubuntu 14.04 (“Trusty Tahr”),无需选择此-d
选项。你应该可以通过执行以下命令来解决这个问题sudo do-release-upgrade
答案4
在终端中运行以下命令:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32
这将从 Ubuntu GPG 密钥服务器下载丢失的 GPG 密钥(如原始错误消息中所述)。