执行apt update/upgrade时访问https://esm.ubuntu.com/infra/ubuntu出现401未授权错误的解决咨询
执行apt update/upgrade时访问https://esm.ubuntu.com/infra/ubuntu出现401未授权错误的解决咨询
嗨,我来帮你搞定这个问题!你的理解完全没错——ESM(Extended Security Maintenance)确实是Ubuntu的付费订阅服务,主要给过了标准支持周期的系统提供安全更新。而AWS Lightsail的Ubuntu实例有时候会默认配置了ESM的源,哪怕你根本没主动订阅过,这就导致了这个401未授权的报错。
下面给你几个实用的解决步骤:
先找出所有包含ESM源的配置文件
执行这条命令,它会帮你定位系统里所有关联ESM源的文件:grep -r "esm.ubuntu.com" /etc/apt/sources.list /etc/apt/sources.list.d/禁用ESM相关的源
你有两种方式可以处理:- 手动注释法:
打开刚才找到的配置文件(比如常见的/etc/apt/sources.list.d/ubuntu-esm-infra.list),用nano编辑器就行:
在每一行开头加上sudo nano /etc/apt/sources.list.d/ubuntu-esm-infra.list#,把这些ESM源的行注释掉,然后按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。 - 批量命令法:
如果你不想手动一个个改,直接用这条命令批量注释所有ESM源的行:sudo sed -i '/esm.ubuntu.com/s/^/#/' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
- 手动注释法:
验证修复效果
现在再执行你原来的命令:sudo apt update sudo apt upgrade这时候应该就不会再出现那个401未授权的错误了。
补充一句:如果之后你需要ESM的付费支持,可以去AWS控制台或者Ubuntu官方那边办理订阅,但如果只是用Ubuntu标准的免费更新源,上面的方法就完全够用啦。Lightsail默认带ESM源其实是AWS和Canonical的合作配置,但普通未订阅用户访问就会报错,关掉这些源就解决问题了。
备注:内容来源于stack exchange,提问作者qkhanhpro
相关产品推荐
相关产品推荐

