Ubuntu 彻底移除 Snap 毒瘤

移除方法同样适用于WSL的Ubuntu。

  1. 停止开机自启的Snap服务。系统启动时,会自动启动Snap相关服务,我们先禁用掉这些服务。

    1
    2
    3
    sudo systemctl disable snapd.service
    sudo systemctl disable snapd.socket
    sudo systemctl disable snapd.seeded.service
  1. 查询并移除使用Snap安装的软件。按照先删除应用软件,再删除非应用软件的顺序进行删除。

    1
    2
    3
    4
    5
    6
    7
    8
    snap list

    # 例如
    sudo snap remove snap-store
    sudo snap remove firefox

    sudo snap remove core20
    sudo snap remove bare

    需要注意Ubuntu自带的Firefox也是通过snap安装的,移除Firefox前请提前安装好浏览器。

  2. 移除 Snap 本身。

    1
    2
    3
    4
    5
    6
    7
    sudo apt autoremove --purge snapd

    sudo rm -rf /snap
    sudo rm -rf /var/snap
    sudo rm -rf /var/lib/snapd
    sudo rm -rf /var/cache/snapd
    sudo rm -rf ~/snap
  3. 禁止重新自动安装Snap服务。

    • 新建 apt 配置文件

      1
      sudo vim /etc/apt/preferences.d/disable-snapd
    • 给文件添加如下内容

      1
      2
      3
      Package: snapd
      Pin: release a=*
      Pin-Priority: -10

      这段配置的作用是:将 snapd 包的优先级设置为 -10,表示 snapd 包将被视为不可安装。即使在软件包依赖中需要 snapd,APT 也不会安装它。

  4. 检查系统是否有启用snap源,有的话,请删除。

    1
    sudo rm -f /etc/apt/sources.list.d/snapd*.list
  5. 移除GNOME软件中心使用snap安装的插件。

    1
    sudo apt autoremove --purge gnome-software-plugin-snap
  6. 执行完确保系统更新是已经修改好了,也可以重启下。

    1
    2
    3
    4
    sudo apt autoremove
    sudo apt update

    sudo reboot

评论