修复[Ubuntu 22.04起仅提供snap版firefox]

您所在的位置:网站首页 ubuntu卸载snap商店 修复[Ubuntu 22.04起仅提供snap版firefox]

修复[Ubuntu 22.04起仅提供snap版firefox]

#修复[Ubuntu 22.04起仅提供snap版firefox]| 来源: 网络整理| 查看: 265

Canonical在snap的路上渐行渐远,2021年谋划将firefox从apt体系切换到snap体系,22.04开始,不再提供apt可用的firefox deb包。不说snap版的一些小问题,snap本身给中国用户带来了很多不便。我们使用apt的时候,一般会配置使用国内下载镜像,而snapcraft是个私有的软件商店,没有镜像可用,也没有国内CDN,因此下载任何东西都成了龟速,网速仿佛从2022年倒退回了2008年。

对我们来说,此次强制迁移是个bug,这需要修复。目标很明确,在22.04上维持之前的firefox安装更新体验。

使用官方打包的PPA,此路不通,apt是能用了,但国内没有镜像,下载依然很慢。从Mozilla官网下载,依然龟速,更新依然不够方便,还不如PPA。使用别的发行版打的deb包,写个脚步倒是能自动了,但体验还是不如APT管理。使用别的发行版的APT源,作为Ubuntu的补充,体验上跟之前没有差别。

有两个选项,

Ubuntu的上游DebianUbuntu的下游Linuxmint

经过比较,锁定Linuxmint,因为

它从Ubuntu的LTS出发,做了少量定制它直接使用Ubuntu的APT源,兼容性肯定OK官方看不惯Canonical强推snap的策略,默认禁用了snap

第零步,卸载snap管理的软件,并卸载snap自身,最后删除snap相关目录,此处不赘述。

第一步,先修改APT源,加入Linuxmint的仓库(最后一行)

deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.bfsu.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.bfsu.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.bfsu.edu.cn/ubuntu/ jammy-security main restricted universe multiverse deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb-src https://mirrors.bfsu.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb [signed-by=/usr/share/keyrings/linuxmint-keyring-bin.gpg] https://mirrors.bfsu.edu.cn/linuxmint/ vanessa main upstream import backport

第二步,加入Linuxmint仓库的KEY

gpg --homedir /tmp --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2 gpg --homedir /tmp --export A6616109451BBBF2 | sudo tee /usr/share/keyrings/linuxmint-keyring-bin.gpg

此时,已经可以正常更新和安装 Linuxmint 仓库里的 firefox 了。但不完美,除了firefox之外还会安装一些别的东西,比如ubuntu-system-adjustments,它会对系统做一些调整(包括禁用snap),而我们只想引入firefox,不希望带来侵入性。所以自然而然的,需要欺骗系统,让它以为已经有了全部依赖,不再安装额外的包。

方法也很简单,使用 equivs-build 自己打一个假的deb包,告诉系统,我啥都有,control文件如下

Section: admin Priority: optional Standards-Version: 1.0 Package: fakemint Version: 1.0.2 Maintainer: jammy Essential: yes Provides: ubuntu-system-adjustments (= 2022.08.08) Description: cheat package for firefox

这还不够,我们还要去除掉Linuxmint加入的一些系统性的包,创建一个配置文件

Package: snapd Pin: release a=* Pin-Priority: -10 Package: * Pin: release o=linuxmint Pin-Priority: -1 Package: firefox Pin: release o=linuxmint Pin-Priority: 900

保存为 /etc/apt/preferences.d/99-linuxmint-repository

这个配置的作用有3个,

禁止安装snapd禁止Linuxmint的所有包允许Linuxmint的firefox包

做完以上工作,便可以像之前一样使用APT安装和更新firefox了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3