我在 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
一个恢复的应用程序的示例),您可以通过发出以下命令创建一个文件:snapd
apt
no-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