我是 btrfs 新手,我想删除几个月前制作的一些快照。它们占用了大约 20GB 的空间,我需要恢复这些空间。
这似乎列出了快照:
↪ sudo btrfs subvolume list /
ID 257 gen 82021 top level 5 path @
ID 258 gen 82021 top level 5 path @home
ID 263 gen 81983 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-04-29
ID 364 gen 81986 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-04
ID 376 gen 81996 top level 5 path @home/.ecryptfs/mlissner/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxu4dgX.2jUELJL22wpV94oU--/ECRYPTFS_FNEK_ENCRYPTED.FWa8iOdaTukmNEROkGj4b5OZHZ0bKOqrvAQxHunTlBS-30iHyukjeY9-EE--/root_post_install_2014-05-14
我该如何删除它们?当我尝试这个显而易见的方法时,出现了错误:
↪ sudo btrfs subvolume delete root_post_install_2014-04-29
Delete subvolume '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29'
ERROR: cannot delete '/home/mlissner/.btrfs/snapshots/root_post_install_2014-04-29' - Device or resource busy
我有点迷茫,谷歌搜索也没有找到任何真正的帮助。如果有帮助的话,我很乐意发布更多信息,但目前,我不知道该怎么做。
答案1
从输出来看,我猜测您有快照的子卷实际上是 ecryptfs 私有目录。如果正确,您可以尝试卸载私有目录,然后尝试删除快照吗?
错误消息表明该设备正在使用中。假设您没有将该目录用作当前工作目录,并且没有其他进程正在积极使用快照中的数据,那么就不用担心加密层了。
编辑:我最初的假设是您只有一个私人文件夹被加密。从您的评论来看,我猜您的整个家都已加密。因此,如果我们想操纵它,我们需要您的家处于非活动状态。为了方便地处理此问题,您可以尝试以下方法:
A. 将另一个用户添加到系统并赋予该用户管理权限(即使用 sudo 的权限)。在 Ubuntu 中执行此操作的说明:添加用户, 然后赋予用户管理权限
B. 使用新创建的用户登录。现在尝试列出并销毁快照。确保原始用户未登录,因为这将触发您的主目录的解密(从而触发使用)。
C. 删除第一步中创建的用户,除非您认为有必要保留该用户。
哦,还有,请确保你有一个备份您所操作的文件系统。很快就会犯错误。
答案2
我无法找到有效的答案,但当我对这个问题有了更好的理解后,我在 askubuntu 上发布了一个新问题。我最终在那里找到了解决方案:
https://askubuntu.com/questions/513534/cannot-delete-encrypted-btrfs-snapshot/513547#513547