我是 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
我感到有点失落,谷歌搜索并没有发现真正的帮助。如果有帮助,我很乐意发布更多信息,但现在,我对如何继续感到困惑。
从输出中,我猜测您拥有快照的子卷实际上是一个 ecryptfs 私有目录。如果正确,您可以尝试卸载私有目录然后尝试删除快照吗?
错误消息表明设备正在使用中。假设您没有将该目录用作当前工作目录,并且没有其他进程正在主动使用快照中的数据,那么加密层就不用担心了。
编辑:我最初的假设是你只有一个私人文件夹加密。根据您的评论,我猜您的整个家都是加密的。因此,如果我们想操纵它,我们需要您的家处于非活动状态。为了方便地处理这个问题,您可以尝试以下方法:
A. 向系统添加另一个用户,赋予该用户管理权限(即使用 sudo 的权限)。如何在 Ubuntu 中执行此操作的说明:添加用户,然后授予用户管理权限
B. 使用新创建的用户登录。现在尝试列出并销毁快照。确保原始用户未登录,因为这将触发您的主目录的解密(以及使用)。
C. 删除在第一步中创建的用户,除非您认为需要保留它。
哦,而且,请确保您有您操作的文件系统的备份。错误很快就犯了。
我无法以有效的方式回答这个问题,但是一旦我更好地理解了这个问题,我就在 askubuntu 上发布了一个新问题。我最终能够在那里找到解决方案:
https://askubuntu.com/questions/513534/cannot-delete-encrypted-btrfs-snapshot/513547#513547