前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修复 Ubuntu 无法进行版本更新的错误

修复 Ubuntu 无法进行版本更新的错误

作者头像
beginor
发布2021-01-12 14:33:02
6.8K0
发布2021-01-12 14:33:02
举报
文章被收录于专栏:张志敏的技术专栏

修复 Ubuntu 无法进行版本更新的错误

将 Ubuntu 服务器从 18.04 升级到 20.04 , 在执行 do-release-upgrade 时提示无法检查新版本, 完整的错误信息如下:

代码语言:javascript
复制
Checking for a new Ubuntu release
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.

于是先用 ping 命令测试网络连接性:

代码语言:javascript
复制
ping -c 4 changelogs.ubuntu.com

PING changelogs.ubuntu.com (91.189.88.185) 56(84) bytes of data.
64 bytes from 91.189.88.185 (91.189.88.185): icmp_seq=1 ttl=46 time=235 ms
64 bytes from 91.189.88.185 (91.189.88.185): icmp_seq=2 ttl=46 time=237 ms
64 bytes from 91.189.88.185 (91.189.88.185): icmp_seq=3 ttl=46 time=235 ms
64 bytes from 91.189.88.185 (91.189.88.185): icmp_seq=4 ttl=46 time=235 ms

--- changelogs.ubuntu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 234.613/235.262/237.087/1.054 ms

可以 ping 通, 网络是没问题的。 用 curl 测试一下 https://changelogs.ubuntu.com/meta-release-lts , 看是不是 Ubuntu 的 changelogs 服务器问题

代码语言:javascript
复制
curl https://changelogs.ubuntu.com/meta-release-lts

Dist: dapper
Name: Dapper Drake
Version: 6.06 LTS
Date: Thu, 01 Jun 2006 9:00:00 UTC
Supported: 0
Description: This is the Dapper Drake release
Release-File: http://old-releases.ubuntu.com/ubuntu/dists/dapper/Release
ReleaseNotes: http://changelogs.ubuntu.com/EOLReleaseAnnouncement
UpgradeTool: http://old-releases.ubuntu.com/ubuntu/dists/dapper/main/dist-upgrader-all/current/dapper.tar.gz
UpgradeToolSignature: http://old-releases.ubuntu.com/ubuntu/dists/dapper/main/dist-upgrader-all/current/dapper.tar.gz.gpg

可以用 curl 获取到内容, changelogs 服务器看来也是没问题的。

因为是用 https 访问 changelogs 服务器, 突然想到会不会是因为 https 证书没有同步的导致的呢? 于是再尝试刷新一下服务器上的证书:

代码语言:javascript
复制
sudo update-ca-certificates --verbose --fresh
export SSL_CERT_DIR=/etc/ssl/certs

刷新完 https 证书之后, 再次运行 do-release-upgrade , 还是提示同样的错误。

经过一番搜索, 发现修改 MetaRelease.py 文件可以忽略证书的错误

代码语言:javascript
复制
sudo nano /usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py

修改内容如下:

代码语言:javascript
复制
from __future__ import absolute_import, print_function

+ import ssl
+ ssl._create_default_https_context = ssl._create_unverified_context

import apt
import apt_pkg

保存修改过后的 MetaRelease.py , 再次运行 do-release-upgrade , 终于可以进行更新了。

Docker 中的 PostgreSQL 崩溃恢复记录

没有了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修复 Ubuntu 无法进行版本更新的错误
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档