升级Ubuntu 18.04LTS至22.04LTS后无法重新安装Firefox(Snap或APT方式)
升级Ubuntu 18.04LTS至22.04LTS后无法重新安装Firefox(Snap或APT方式)
看起来你的核心问题是代理环境下的TLS握手失败——不管是APT访问Mozillateam PPA,还是Snap连接Snapcraft服务器,都因为这个错误卡壳了。我来一步步帮你解决,优先搞定你想要的APT版本Firefox:
一、先解决APT安装Firefox的问题
1. 检查并修复APT代理配置
你的错误提示Could not handshake: An unexpected TLS packet was received,大概率是因为APT的HTTPS代理没配置对(只配了HTTP代理,没配HTTPS的)。
打开APT的代理配置文件:
sudo nano /etc/apt/apt.conf
确保文件里同时包含HTTP和HTTPS的代理设置(注意HTTPS代理也用http://开头,因为是通过HTTP代理隧道传输HTTPS流量):
Acquire::http::Proxy "http://你的代理地址:端口/"; Acquire::https::Proxy "http://你的代理地址:端口/";
如果代理需要账号密码,改成:
Acquire::http::Proxy "http://用户名:密码@你的代理地址:端口/"; Acquire::https::Proxy "http://用户名:密码@你的代理地址:端口/";
保存退出后,清理APT缓存:
sudo apt clean
2. 重新配置Mozillateam PPA
之前的PPA可能因为代理问题没正确添加,先移除再重新添加:
sudo add-apt-repository --remove ppa:mozillateam/ppa sudo add-apt-repository ppa:mozillateam/ppa
然后更新APT源:
sudo apt update
如果代理配置正确,这次应该能成功获取PPA的索引文件了。
3. 安装APT版Firefox并阻止Snap替换
Ubuntu 22.04默认会强制用Snap版Firefox,所以需要设置APT优先级,确保Mozillateam PPA的包优先级更高:
创建优先级配置文件:
sudo nano /etc/apt/preferences.d/mozillateam-firefox
写入以下内容:
Package: firefox* Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001
保存后,执行安装:
sudo apt install firefox
这样就能安装到APT版本的Firefox,而且不会被Snap自动替换。
二、如果之后想尝试Snap版Firefox(可选)
Snap的代理配置和APT是分开的,需要单独设置:
sudo snap set system proxy.http="http://你的代理地址:端口" sudo snap set system proxy.https="http://你的代理地址:端口"
如果需要账号密码:
sudo snap set system proxy.http="http://用户名:密码@你的代理地址:端口" sudo snap set system proxy.https="http://用户名:密码@你的代理地址:端口"
设置完后重启Snap服务:
sudo systemctl restart snapd
再尝试安装:
sudo snap install firefox
额外排查点
如果以上操作还是失败,可能是代理使用了自签名证书,导致系统不认可:
- 把代理的证书文件复制到系统信任目录:
sudo cp /path/to/代理证书.crt /usr/local/share/ca-certificates/
- 更新系统证书缓存:
sudo update-ca-certificates
之后再重新尝试APT或Snap的操作。
备注:内容来源于stack exchange,提问作者Erwan




