Wie lösche ich einen btrfs-Snapshot?

8

Ich bin neu bei btrfs und versuche, einige Schnappschüsse zu löschen, die ich vor einigen Monaten gemacht habe. Sie nehmen ungefähr 20 GB Speicherplatz ein, und ich brauche diesen Speicherplatz zurück.

Dies scheint die Schnappschüsse aufzulisten:

↪ 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

Wie lösche ich sie? Wenn ich das Offensichtliche versuche, erhalte ich eine Fehlermeldung:

↪ 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

Ich fühle mich ein bisschen verloren und Googeln zeigt keine wirkliche Hilfe. Ich freue mich, weitere Informationen zu veröffentlichen, wenn dies hilfreich ist, aber im Moment bin ich verblüfft, wie ich vorgehen soll.

mlissner
quelle

Antworten:

9

Aus der Ausgabe schätze ich, dass das Subvolumen, von dem Sie Snapshots haben, tatsächlich ein privates Verzeichnis von ecryptfs ist. Wenn dies korrekt ist, können Sie versuchen, die Bereitstellung des privaten Verzeichnisses aufzuheben und dann die Snapshots zu löschen?

Die Fehlermeldung besagt, dass das Gerät verwendet wird. Angenommen, Sie verwenden dieses Verzeichnis nicht als aktuelles Arbeitsverzeichnis und kein anderer Prozess verwendet aktiv die Daten im Snapshot, sodass sich die Verschlüsselungsschicht Sorgen machen muss.

BEARBEITEN: Meine ursprüngliche Annahme war, dass Sie nur einen privaten Ordner verschlüsselt hatten. Aus Ihren Kommentaren geht hervor, dass Ihr gesamtes Haus verschlüsselt ist. Wenn wir das also manipulieren wollen, muss Ihr Zuhause inaktiv sein. Um dies bequem zu beheben, können Sie Folgendes versuchen:

A. Fügen Sie dem System einen weiteren Benutzer hinzu, der diesem anderen Benutzer Administratorrechte erteilt (dh das Recht, sudo zu verwenden). Anweisungen dazu in Ubuntu: Fügen Sie einen Benutzer hinzu und erteilen Sie dem Benutzer Administratorrechte

B. Melden Sie sich mit dem neu erstellten Benutzer an. Versuchen Sie nun, die Schnappschüsse aufzulisten und zu zerstören. Stellen Sie sicher, dass der ursprüngliche Benutzer nicht angemeldet ist, da dies die Entschlüsselung (und damit die Verwendung) Ihres Home-Verzeichnisses auslöst.

C. Entfernen Sie den im ersten Schritt erstellten Benutzer, es sei denn, Sie müssen ihn beibehalten.

Stellen Sie sicher, dass Sie eine Sicherungskopie der von Ihnen manipulierten Dateisysteme haben. Ein Fehler wird schnell gemacht.

Vincent De Baere
quelle
Das macht Sinn. Ich habe jedoch nichts explizites getan, um das verschlüsselte Verzeichnis bereitzustellen. Wissen Sie, wie man es abmontiert?
mlissner
Versuchen Sie es mit ecryptfs-umount-private.
Vincent De Baere
OK, ich habe es versucht ecryptfs-umount-private --help, und anstatt mir Hilfedokumente zu geben, wurde mein Home-Verzeichnis schnell umgehängt, eine schreckliche Sache, die schnell alles zum Absturz brachte. Ich habe es geschafft, es wieder zu montieren, aber das fühlt sich sehr falsch an, da ich so etwas nicht tun musste, um die Schnappschüsse zu machen. Ich würde gerne erklären, warum dies jetzt notwendig ist, da es damals nicht so war, und wie man das macht, ohne dass mein gesamtes System auseinander fällt.
mlissner
Die Ausgabe der Subvolumenliste btrfs zeigt einen Pfad mit einem versteckten Verzeichnis (.ecryptfs). Dieses Verzeichnis enthält Daten, die verschlüsselt sind. Ich vermute, dass Sie sich während der Installation des Betriebssystems dafür entscheiden, Ihr Home-Verzeichnis zu verschlüsseln. Ich bearbeite meine Antwort mit einem möglichen Weg, um dies zu umgehen.
Vincent De Baere
Leider funktioniert der oben beschriebene Vorgang nicht. Wenn der Benutzer nicht angemeldet ist, scheint der Pfad zum Verzeichnis nicht zu existieren. Es sieht so aus, als ob Verschlüsselung + btrfs sehr schwer zu bedienen sind.
mlissner