如何从 Ubuntu 中删除快照存储?

qua*_*ato 114 software-uninstall snap

如何删除快照?apt 假装它不在那里,但我仍然可以用它调用命令。

试图 rm 它说“只读文件系统”

root@tunnel:/# apt remove snap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'snap' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@tunnel:/# snap whoami
email: -
Run Code Online (Sandbox Code Playgroud)

dob*_*bey 138

包没有被调用snap,而是被调用snapd

你会想做

sudo apt autoremove --purge snapd
Run Code Online (Sandbox Code Playgroud)

  • @Ruslan 如果保留配置,在这种情况下,apparmor 会在启动时崩溃。 (27认同)
  • 为什么要使用“--purge”?OP 没有说删除也必须删除配置。 (4认同)
  • @pietro 这不是为了删除单个快照,而是从系统中删除所有快照及其支持。如果要删除单个快照,则需要使用 `snap remove` 来代替。 (4认同)
  • 删除元包不会阻止更新它最初安装的包,不。 (2认同)

Ste*_*sen 96

特尔;博士:

sudo rm -rf /var/cache/snapd/

sudo apt autoremove --purge snapd gnome-software-plugin-snap

rm -fr ~/snap
Run Code Online (Sandbox Code Playgroud)

这将彻底删除snapsnapd所有安装卡扣包他们的数据,并且不会再提出在软件商店卡包。

您的mount,df并且cat /proc/partitions会感谢您的输出;)

更新:

成功卸载后snapd,请确保它不会再次安装:

sudo apt-mark hold snapd
Run Code Online (Sandbox Code Playgroud)

可以选择通过尝试安装 来测试块是否工作chromium-browser,这(在撰写本文时)突然依赖于snapd并且会在安装时将刚刚卸载的所有内容拖回系统:

sudo apt-get install chromium-browser
Run Code Online (Sandbox Code Playgroud)

安装应该会失败。

  • 我的 mount、df 和 cat /proc/partitions 的输出谢谢你:) (11认同)
  • 也许在您的情况下,您需要在删除 snapd 本身之前优雅地卸载所有快照 - 而不是像我那样粗暴地将其撕掉。`sudo snap list`、一个循环和 `sudo snap remove $package` 的组合应该可以做到,但我没有安装 snap,所以不幸的是我无法更具体地说明这 =\ (4认同)
  • 我的FAT刚刚开始节食。 (3认同)
  • 就我而言,不需要“sudo rm -rf /var/cache/snapd/”,因为“--purge”确实清理了该目录 (2认同)

小智 12

我不确定您是否特别要求这样做,但是如果您只想删除软件中的显示快照包(gnome-software;正如我想要的那样),您可以使用命令卸载 snap 插件

sudo apt-get remove --purge gnome-software-plugin-snap
Run Code Online (Sandbox Code Playgroud)

我不知道是否--purge有必要,但它工作正常 - 软件现在不显示来自 Snap Store 的软件包,但我仍然可以通过命令行安装它们snap install [something]


use*_*671 5

我刚刚安装了一个服务器,显然它也预装了 snap,除了没用之外,还阻止了设备的关闭。

这篇非常好的博客文章有清理系统的说明。它基本上说:

snap list
sudo snap remove each_item # (by dependency order)
sudo umount /snap/core/xxxx # On 20.04, on 20.10 /var/snap
sudo apt purge snapd
Run Code Online (Sandbox Code Playgroud)

清除各种文件/home/*/snap/usr/lib/snap等等

rm -rf ~/snap
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
Run Code Online (Sandbox Code Playgroud)

在服务器的情况下,唯一的快照是lxd(Canonical 正在推动作为 docker 的替代品)。

恕我直言,这有点 Canonical 和用户之间的利益冲突。用户应该能够选择加入他们需要的任何东西,而不是被迫以艰难的方式卸载东西。

无论如何,至少目前这是可逆的。您可以删除特定的软件包和 snap 守护程序,并在需要时稍后安装。