Как удалить снимок btrfs?

8

Я новичок в btrfs и пытаюсь удалить несколько снимков, которые сделал несколько месяцев назад. Они занимают около 20 ГБ места, и мне нужно это место обратно.

Это похоже на список снимков:

↪ 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

Я чувствую себя немного потерянным, и Google не показывает никакой реальной помощи. Я рад опубликовать больше информации, если это поможет, но сейчас я озадачен, как поступить.

mlissner
источник

Ответы:

9

Исходя из вывода, я предполагаю, что подобъем, у которого есть снимки, на самом деле является личным каталогом ecryptfs. Если это правильно, вы можете попробовать размонтировать личный каталог, а затем попытаться удалить снимки?

В сообщении об ошибке указывается, что устройство используется. Предполагая, что вы не используете этот каталог в качестве текущего рабочего каталога, и никакой другой процесс активно не использует данные в снимке, что оставляет уровень шифрования для беспокойства.

РЕДАКТИРОВАТЬ: мое первоначальное предположение было, что у вас была только зашифрованная личная папка. Из ваших комментариев, я думаю, что весь ваш дом зашифрован. Поэтому, если мы хотим манипулировать этим, нам нужно, чтобы ваш дом был неактивным. Для удобного способа справиться с этим вы можете попробовать следующее:

A. Добавьте в систему другого пользователя, предоставив этому другому пользователю административные права (то есть право использовать sudo). Инструкции о том, как сделать это в Ubuntu: добавьте пользователя , затем предоставьте пользователю права администратора.

Б. Войдите в систему с вновь созданным пользователем. Теперь попробуйте перечислить и уничтожить снимки. Убедитесь, что исходный пользователь не вошел в систему, так как это вызовет расшифровку (и, следовательно, использование) вашего домашнего каталога.

C. Удалите пользователя, созданного на первом шаге, если вы не видите необходимости держать его рядом.

О, и, пожалуйста, убедитесь, что у вас есть резервная копия файловых систем, которыми вы управляете. Ошибка сделана быстро.

Винсент де Баер
источник
В этом есть смысл. Я не делал ничего явного для монтирования зашифрованного каталога. Вы знаете, как его размонтировать?
mlissner
Попробуйте использовать ecryptfs-umount-private.
Винсент Де Баер
Хорошо, я попытался сделать ecryptfs-umount-private --help, и вместо того, чтобы дать мне справочные документы, он быстро поднял мой домашний каталог, ужасная вещь, которая быстро все рухнула. Мне удалось перемонтировать его, но это кажется очень неправильным, поскольку мне не нужно было делать ничего подобного, чтобы делать снимки. Мне бы хотелось объяснить, почему это необходимо сейчас, поскольку этого не было тогда, а также как это сделать без того, чтобы вся моя система начала разваливаться.
mlissner
Вывод списка подобъемов btrfs показывает путь, включая скрытый каталог (.ecryptfs). Этот каталог содержит данные, которые зашифрованы. Я предполагаю, что вы как-то решили зашифровать свой домашний каталог во время установки ОС. Я редактирую свой ответ с возможным путем обойти это.
Винсент Де Баер
К сожалению, вышеуказанный процесс не работает. Когда пользователь не вошел в систему, кажется, что путь к каталогу не существует. Похоже, шифрование + btrfs очень сложно использовать.
mlissner