Ubuntu 22.04 禁用(彻底移除)Snap
时间:2024-04-19 18:45:42 来源:网络cs 作者:付梓 栏目:卖家故事 阅读:
什么是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 $pdone
一般需要执行两次(桌面版三次),提示如下则正确执行:
snap "Name" is not installedcore20 removedsnapd removed
再次执行,提示如下,表明已经删除干净:
No snaps are installed yet. Try 'snap install hello-world'.
(2)删除 Snap 的 Core 文件。
sudo systemctl stop snapdsudo systemctl disable --now snapd.socketfor m in /snap/core/*; do sudo umount $mdone
(3)删除 Snap 的管理工具。
sudo apt autoremove --purge snapd
(4)删除 Snap 的目录。
rm -rf ~/snapsudo rm -rf /snapsudo rm -rf /var/snapsudo rm -rf /var/lib/snapdsudo rm -rf /var/cache/snapd
(5)配置 APT 参数:禁止 apt 安装 snapd。
正确配置(参看 apt_preferences):
sudo sh -c "cat > /etc/apt/preferences.d/no-snapd.pref" << EOLPackage: snapdPin: release a=*Pin-Priority: -10EOL
a -> Archivec -> Componento -> Originl -> Labeln -> Architecture
验证效果:可以查询到该包,但是无法安装。
apt list snapd
sudo apt install snapd
同时禁用 snap Firefox 的更新(Server 版也可以配置):
sudo sh -c "cat > /etc/apt/preferences.d/no-firefox.pref" << EOLPackage: firefoxPin: release a=*Pin-Priority: -10EOL
现在服务器版安装桌面环境也没有 Snap!
参考:Ubuntu 22.04 禁用(彻底移除)Snap - sysin | 软件与技术分享 | SYStem INside
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/gushi/2024-04-19/160439.html,文章来源:网络cs,作者:付梓,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!