Ubuntu 22.04 禁用(彻底移除)Snap

什么是Snaps

Snaps 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu 16.04 LTS(Long Term Support,长期支持版)时引入的一种容器化的软件包格式。自 Ubuntu 16.04 LTS 起,Ubuntu 操作系统可以同时支持 Snap 及 Debian 这两种格式的安装包。

Snap 虽然有一定的优点(请自行搜索),但是不足之处更多。Snap 软件包体积庞大,snapd 进程会导致系统重启等待,并且可能导致卡顿,禁用为佳。

特别是服务器版用不上这种软件包,默认是安装的,必须彻底删除。

Ubuntu 22.04 桌面版中两个关键的程序:软件商店和 Firefox 使用了 Snap 软件包,卡顿明显。

问题

使用 ubuntu 自带的磁盘分析器,我们发现 snap 占用了很大的内存。

解决

首先查看下 snap 占用的内存

sudo du -sh /var/lib/snapd

cd /var/lib/snapd/snaps

snap list --all

删除 Snap 的方法

已经确认 snapd 是无法禁用的,只能强制删除。以下操作无需停止 snapd 服务。

(1)删掉所有的已经安装的 Snap 软件。

snap list 用于查看已经安装的 Snap 软件,通过脚本全部删除:

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

一般需要执行两次(桌面版三次),提示如下则正确执行:

snap "Name" is not installed
core20 removed
snapd removed

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

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

(2)删除 Snap 的 Core 文件。

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 的目录。

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。

正确配置(参看 apt_preferences):

sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOL
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOL
a -> Archive
c -> Component
o -> Origin
l -> Label
n -> Architecture

验证效果:可以查询到该包,但是无法安装。

apt list snapd


 

sudo apt install snapd

同时禁用 snap Firefox 的更新(Server 版也可以配置):

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

现在服务器版安装桌面环境也没有 Snap!

参考:Ubuntu 22.04 禁用(彻底移除)Snap - sysin | 软件与技术分享 | SYStem INside

相关推荐

  1. ubuntusnap

    2023-12-22 07:02:03       28 阅读
  2. Ubuntu netplan

    2023-12-22 07:02:03       9 阅读
  3. [ubuntu]add-apt-repository 添加以及

    2023-12-22 07:02:03       29 阅读
  4. 元素

    2023-12-22 07:02:03       31 阅读
  5. 27. 元素

    2023-12-22 07:02:03       39 阅读
  6. 27.元素

    2023-12-22 07:02:03       40 阅读
  7. conda环境

    2023-12-22 07:02:03       38 阅读
  8. 元素(简单)

    2023-12-22 07:02:03       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 07:02:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 07:02:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 07:02:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 07:02:03       20 阅读

热门阅读

  1. vue3+vite+ts父子组件之间的传值

    2023-12-22 07:02:03       46 阅读
  2. Matlab数值计算常用命令

    2023-12-22 07:02:03       41 阅读
  3. 第九章 数据可视化—pyecharts

    2023-12-22 07:02:03       40 阅读
  4. python 神经网络归纳

    2023-12-22 07:02:03       44 阅读
  5. 2312llvm,04后端上

    2023-12-22 07:02:03       41 阅读
  6. 神经网络:数据预处理知识点

    2023-12-22 07:02:03       33 阅读
  7. 202312实战面试

    2023-12-22 07:02:03       40 阅读
  8. 人工智能 RL 算法边缘服务器

    2023-12-22 07:02:03       26 阅读
  9. 谷歌Gemini中文疑似套壳百度文心一言

    2023-12-22 07:02:03       39 阅读