Bootstrap

卸载snap docker一直卡住:Save data of snap “docker“ in automatic snapshot set #3

在卸载 Snap 安装的 Docker 时卡住,通常是因为 Snap 在执行卸载时会先尝试保存一些快照(自动或手动创建的),并且该过程可能因某些原因而卡住。为了解决这个问题,你可以按照以下步骤强制删除 Snap 安装的 Docker,并清除相关的文件。

1. 强制停止 Snap 服务

首先,尝试停止 Snap 服务,以避免它在卸载过程中持续进行快照操作:

sudo systemctl stop snapd

或者,如果 snapd 服务没有完全停止,可以尝试强制停止 Snap 服务:

sudo killall snapd

2. 删除 Docker Snap 快照

Snap 在卸载时会创建快照,你可以通过删除 Docker 的快照来强制清除 Docker:

sudo snap remove --purge docker

使用 --purge 参数将完全删除 Snap 中的 Docker 以及相关的快照数据。

3. 删除 Snap 数据和配置

在卸载过程中,Snap 可能会留下配置文件和数据。如果 Docker 被卸载了,但你仍然看到快照或 Docker 数据夹在 /var/snap/docker,你可以手动删除它们:

sudo rm -rf /var/snap/docker/

4. 删除 Snap 包的所有文件

如果 snap remove 命令卡住或者你无法正常删除 Docker,可以手动删除与 Docker 相关的 Snap 包文件:

sudo rm -rf /var/lib/snapd/snaps/docker*

这将删除 Docker 的所有 Snap 包文件。

5. 清理 Snap 安装的所有文件

有时 Snap 的配置文件和目录在卸载后仍然存在,可以通过以下命令手动清理它们:

sudo rm -rf /var/snap/
sudo rm -rf /var/lib/snapd/

这些目录包含了 Snap 的所有配置和缓存数据。

6. 重新启动系统

如果上述方法没有完全解决问题,可以尝试重新启动系统,然后再试卸载操作:

sudo reboot

7. 卸载 Snap 完全

如果你希望彻底卸载 Snap 以及所有相关的包,可以使用以下命令:

sudo apt-get purge snapd

这将完全删除 Snapd 包及其所有依赖关系。然后,你可以重新安装 Docker(如果需要)。


如果以上步骤没有解决问题,可以尝试查看日志文件,找出具体卡住的原因:

journalctl -xe | grep snapd

这将帮助你分析 Snap 在卸载 Docker 时遇到的问题。

;