我可以从 Ubuntu 20.04 中完全删除 snappy 软件包而不影响系统吗?

我可以从 Ubuntu 20.04 中完全删除 snappy 软件包而不影响系统吗?

我在 hp-notebook 上使用 ubuntu 20.04 LTS(i5-6th gen、8GB RAM、1GB AMD Radeon 显卡)。snapd.services 导致我的电脑启动缓慢(用户空间中大约需要 1 分 15 秒)。此外,从登录屏幕到桌面大约需要 15 秒。

有没有办法可以完全删除所有 snap、snappy 包管理器和 snap 文件以及缓存而不破坏任何其他包?

答案1

我目前正在真实环境和虚拟机中运行 Ubuntu 20.04 LTS,并snapd按照以下步骤删除了 snap:

# stop snapd services
sudo systemctl stop snapd && sudo systemctl disable snapd
# purge snapd
sudo apt purge snapd
# remove no longer needed folders
rm -rf ~/snap
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd

然后,为了避免其他应用程序重新安装它(即使通过安装,这也是chromium-browser一个恢复的应用程序的示例),您可以通过发出以下命令创建一个文件:snapdaptno-snap.pref

sudo -H gedit /etc/apt/preferences.d/no-snap.pref

然后复制下面的内容进去:

# To install snapd, specify its version with 'apt install snapd=VERSION'
# where VERSION is the version of the snapd package you want to install.
Package: snapd
Pin: release a=*
Pin-Priority: -10

snapd如果您输入,上述文件将阻止您安装sudo apt install snapd,但如果您运行,则允许您安装它sudo apt install snapd=2.45.1+20.04.2(命令中的版本仅为示例)。


原始答案(2020/06/19):我目前正在真实环境和虚拟机中运行 Ubuntu 20.04,并按照本文删除了 snap:https://www.kevin-custer.com/blog/disabling-snaps-in-ubuntu-20-04/

按照这些步骤操作后我从来没有遇到过任何问题。

请注意,如果在删除某些 snap 包时收到一些错误,请尝试删除另一个包,然后再返回到给您带来麻烦的包:snap 包可能有一些依赖关系,并且您不能在删除一个包之前删除另一个包。

此外,在命令sudo umount /snap/core/xxxx运行之前sudo systemctl stop snapd

答案2

您应该能够按照正常程序删除所有 snap 包:

sudo snap remove package-name

更多信息请点击这里:Ubuntu 16.04 中的 Snap

删除所有软件包后,您可以删除 snap 守护进程:

sudo apt purge snapd; rm -rf ~/snap

这应该可以完全消除卡顿,并且不会破坏任何其他东西。

答案3

按照 Arthur 给出的答案删除 snap 包,但我建议不要完全删除守护进程,而是禁用它,这样它就不会在启动时运行:

sudo systemctl disable snapd

检查是否已禁用:

sudo systemctl is-enabled snapd

稍后重新启用:

sudo systemctl enable snapd

相关内容