Ubuntu 18.04.6执行do-release-upgrade失败,更新时出现ESM源401未授权错误
Ubuntu 18.04.6执行do-release-upgrade失败,更新时出现ESM源401未授权错误
我之前碰到过一模一样的状况!当Ubuntu 18.04的常规支持周期结束后,部分安全更新被转移到了ESM(Extended Security Maintenance)源,但如果你没有Ubuntu Advantage订阅,系统自动尝试访问这些源就会触发401未授权错误,直接卡住更新流程,导致无法执行版本升级。
下面是亲测有效的解决步骤:
1. 先备份源配置(防万一)
首先备份当前的apt源配置目录,避免操作失误导致问题:
sudo cp -r /etc/apt/sources.list.d/ /etc/apt/sources.list.d.bak
2. 禁用ESM相关的源文件
方法一:处理sources.list.d目录下的ESM源文件
先找出所有包含ESM源的配置文件:
grep -r "esm.ubuntu.com" /etc/apt/sources.list.d/
然后把这些文件重命名,让apt不再读取它们:
sudo rename 's/\.list$/.list.disabled/' /etc/apt/sources.list.d/*esm*.list
方法二:处理主sources.list文件(如果ESM源在主文件里)
如果检查发现ESM源配置在主/etc/apt/sources.list文件中,用编辑器打开并注释掉相关行:
sudo nano /etc/apt/sources.list
找到所有包含esm.ubuntu.com的行,在行首添加#符号注释掉,然后按Ctrl+O保存,Ctrl+X退出编辑器。
3. 重新执行系统更新
现在可以正常执行更新和升级了,不会再出现ESM源的401错误:
sudo apt update && sudo apt upgrade -y
如果之前有未完成的包,也可以加上--fix-missing参数修复:
sudo apt update && sudo apt upgrade -y --fix-missing
4. 执行版本升级
当所有包都更新完成后,就可以顺利执行版本升级了:
sudo do-release-upgrade
补充说明
这个问题的核心原因是Ubuntu 18.04的标准支持到期后,官方将部分安全更新迁移到了需要订阅的ESM源,而系统默认会自动启用这些源。如果你没有订阅,就需要暂时禁用它们来完成版本升级流程,升级到新版本后(比如20.04或更高),新系统的源配置会自动适配对应版本的支持周期。
备注:内容来源于stack exchange,提问作者Dan F
相关产品推荐
相关产品推荐

