文章

Ubuntu 22.04 LTS 中移除 Snap

1, 删掉所有的已经安装的 Snap 软件

snap list 用于查询已安装的 snap 软件,使用下面的命令删除全部的 snap 软件:

1
2
3
for p in $(snap list | awk '{print $1}'); do
  sudo snap remove $p
done

一般需要重复执行几次, 提示如下则正确执行:

1
2
3
snap "Name" is not installed
core20 removed
snapd removed

再次执行, 提示如下, 表明已经删除干净:

1
No snaps are installed yet. Try 'snap install hello-world'.

2, 删除 Snap 的 Core 文件

1
2
3
4
5
6
sudo systemctl stop snapd
sudo systemctl disable --now snapd.socket

for m in /snap/core/*; do
   sudo umount $m
done

3, 删除 Snap 的管理工具

1
sudo apt autoremove --purge snapd

4, 删除 Snap 的目录

1
2
3
4
5
rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd

5, 配置 apt 参数, 禁止 apt 安装 Snapd

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOL

Pin-Priority -10的作用是阻止 Snap 软件包的安装

Pin: release 还有其他的缩写:

1
2
3
4
5
a -> Archive
c -> Component
o -> Origin
l -> Label
n -> Architecture

禁用 snap 版 FireFox 的更新:

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/no-firefox.pref" << EOL
Package: firefox
Pin: release a=*
Pin-Priority: -10
EOL

6, 安装商店

可以安装 gnome 商店, 也可以安装星火商店

sudo apt install gnome-software

另外 FireFox 官方已经提供了 deb 格式的安装包, 直接在官网下载就可以, 也可以添加 Firefox 官方的 PPA (Personal Package Archives) 仓库:

1
sudo add-apt-repository ppa:mozillateam/ppa

将 Firefox 官方 PPA 仓库中的 firefox 设为高优先级:

1
2
3
4
5
sudo sh -c "cat > /etc/apt/preferences.d/mozillateam-firefox.pref" << EOL
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
EOL

安装:

1
2
3
4
5
sudo apt update
apt list firefox  # 现在已经不是 Snap firefox
sudo apt install firefox
# 或者 Firefox ESR
sudo apt install firefox-esr

7, 删除多余的软件:

1
2
3
4
sudo apt remove gnome-mahjongg # 对对碰
sudo apt remove aisleriot # 纸牌接龙
sudo apt remove gnome-mines # 扫雷
sudo apt remove gnome-sudoku # 数独

附录: 恢复Snap

只需要删除配置文件, 就可以重新使用snap了

1
2
3
4
5
6
sudo rm /etc/apt/preferences.d/no-snap.pref
sudo rm /etc/apt/preferences.d/no-firefox.pref
sudo rm /etc/apt/preferences.d/mozillateam-firefox.pref
sudo apt update
sudo snap install snap-store
sudo apt install firefox
本文由作者按照 CC BY 4.0 进行授权