ubuntu彻底移除snap

问题描述

彻底删除ubuntu中的snap

解决方案

1. 删除 Snap App

删掉所有的已经安装的 Snap 软件,脚本如下:

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

:多次执行,直到出现No snaps are installed yet

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 工具

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 安装

1
2
3
4
5
sudo vim /etc/apt/preferences.d/nosnap.pref
# 插入以下
Package: snapd
Pin: release a=*
Pin-Priority: -10

6. 禁止 snap Firefox 更新

1
2
3
4
5
sudo vim /etc/apt/preferences.d/no-firefox.pref
# 插入以下
Package: firefox
Pin: release a=*
Pin-Priority: -10

7. 安装软件商店和 Firefox

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sudo apt install gnome-software
# 确认没有 snapd 在按 y

# 添加 Firefox 官方 PPA(Personal Package Archives)仓库
sudo add-apt-repository ppa:mozillateam/ppa

# 修改优先级
sudo vim /etc/apt/preferences.d/mozillateam-firefox.pref

Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

# 安装 Firefox
sudo apt update
apt list firefox # 查看一下
sudo apt install firefox # 或者ESR版本 sudo apt install firefox-esr

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