btrfsスナップショットを削除する方法?


8

私は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

私は少し迷子になっていて、グーグルは本当の助けを明らかにしていません。参考になればもっと情報を掲載できてうれしいですが、今のところ、どうすればよいかわからなくなってしまいました。

回答:


9

出力から、スナップショットがあるサブボリュームは実際にはecryptfsプライベートディレクトリであると推測しています。それが正しい場合は、プライベートディレクトリのマウントを解除してから、スナップショットを削除してみてください。

エラーメッセージは、デバイスが使用中であることを示しています。そのディレクトリを現在の作業ディレクトリとして使用しておらず、スナップショットのデータをアクティブに使用している他のプロセスがないと仮定すると、暗号化レイヤーは心配する必要があります。

編集:私の当初の想定では、プライベートフォルダーのみが暗号化されていました。あなたのコメントから、あなたの家全体が暗号化されていると思います。そのため、それを操作する場合は、家を非アクティブにする必要があります。これに対処する便利な方法として、以下を試すことができます。

A.システムに別のユーザーを追加して、そのユーザーに管理権限(つまり、sudoを使用する権利)を与えます。Ubuntuの中でこれを行う方法の説明:ユーザーを追加し、その後、ユーザーに管理者権限を与えます

B.新しく作成したユーザーでログオンします。次に、スナップショットを一覧表示して破棄します。元のユーザーがログインしていないことを確認してください。ログインすると、ホームディレクトリの復号化(つまり、使用)がトリガーされます。

C.保持する必要がない限り、最初のステップで作成したユーザーを削除します。

ああ、そして、あなたが操作するファイルシステムのバックアップがあることを確認してください。間違いはすぐに犯されます。


それは理にかなっている。暗号化されたディレクトリをマウントするために明示的に何もしませんでした。アンマウントする方法を知っていますか?
mlissner 2014

を使用してみてくださいecryptfs-umount-private
Vincent De Baere、2014

OK、私がやってみましたecryptfs-umount-private --help、むしろギブミーヘルプドキュメントよりも、それは迅速に私のホームディレクトリ、すぐにすべてをクラッシュしていました恐ろしい事をアンマウント。なんとか再マウントしましたが、スナップショットを作成するためにこのようなことをする必要がなかったので、これは非常に間違っていると感じています。これが必要ではなかったので、なぜこれが必要なのか、そしてシステム全体がバラバラになり始めずにこれを行う方法についての説明が欲しいです。
mlissner 2014

btrfsサブボリュームリストの出力には、隠しディレクトリ(.ecryptfs)を含むパスが表示されます。そのディレクトリには、暗号化されたデータが含まれています。私の推測では、OSのインストール時にホームディレクトリを暗号化することを選択したと思います。私はこれを回避するための可能な方法で私の答えを編集しています。
Vincent De Baere 2014

残念ながら、上記のプロセスは機能しません。ユーザーがログインしていない場合、ディレクトリへのパスが存在しないようです。暗号化+ btrfsは非常に使いにくいようです。
mlissner 2014

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.