Comment supprimer un instantané btrfs?

8

Je suis nouveau sur btrfs et j'essaie de supprimer certains instantanés que j'ai faits il y a quelques mois. Ils prennent environ 20 Go d'espace, et j'ai besoin de cet espace.

Cela semble énumérer les instantanés:

↪ 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

Comment les supprimer? Quand j'essaye la chose évidente, j'obtiens une erreur:

↪ 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

Je me sens un peu perdu et Google ne révèle aucune aide réelle. Je suis heureux de publier plus d'informations si cela peut vous aider, mais pour l'instant, je ne sais pas comment procéder.

mlissner
la source

Réponses:

9

De la sortie, je suppose que le sous-volume dont vous avez des instantanés est en fait un répertoire privé ecryptfs. Si c'est correct, pouvez-vous essayer de démonter le répertoire privé, puis essayez de supprimer les instantanés?

Le message d'erreur indique que le périphérique est en cours d'utilisation. En supposant que vous n'utilisez pas ce répertoire en tant que répertoire de travail en cours et qu'aucun autre processus n'utilise activement les données de l'instantané, ce qui laisse la couche de chiffrement à craindre.

EDIT: mon hypothèse initiale était que vous n'aviez qu'un dossier privé chiffré. D'après vos commentaires, je suppose que toute votre maison est cryptée. Donc, si nous voulons manipuler cela, nous avons besoin que votre maison soit inactive. Pour résoudre ce problème de manière pratique, vous pouvez essayer les solutions suivantes:

A. Ajoutez un autre utilisateur au système en lui donnant des droits administratifs (c'est-à-dire le droit d'utiliser sudo). Instructions sur la façon de procéder dans Ubuntu: ajoutez un utilisateur , puis donnez-lui les droits administratifs

Connectez-vous avec le nouvel utilisateur créé. Essayez maintenant de répertorier et de détruire les instantanés. Assurez-vous que l'utilisateur d'origine n'est pas connecté, car cela déclenchera le déchiffrement (et donc l'utilisation) de votre répertoire personnel.

C. Supprimez l'utilisateur créé à la première étape, à moins que vous ne voyiez la nécessité de le conserver.

Oh, et, s'il vous plaît assurez - vous que vous avez une sauvegarde des systèmes de fichiers que vous manipulez. Une erreur est vite commise.

Vincent De Baere
la source
Ça a du sens. Je n'ai cependant rien fait d'explicite pour monter le répertoire crypté. Savez-vous comment le démonter?
mlissner
Essayez d'utiliser ecryptfs-umount-private.
Vincent De Baere
OK, j'ai essayé de le faire ecryptfs-umount-private --help, et plutôt que de me donner de l'aide, il a rapidement démonté mon répertoire personnel, une chose terrifiante qui plantait rapidement tout. J'ai réussi à le faire remonter, mais cela me semble très mal, car je n'ai pas eu à faire quelque chose comme ça pour faire les instantanés. J'aimerais une explication de la raison pour laquelle cela est nécessaire maintenant, car ce n'était pas le cas à l'époque, ainsi que de la façon de le faire sans que tout mon système ne s'effondre.
mlissner
La sortie de la liste des sous-volumes btrfs montre un chemin d'accès incluant un répertoire caché (.ecryptfs). Ce répertoire contient des données chiffrées. Je suppose que vous choisissez en quelque sorte de crypter votre répertoire personnel lors de l'installation du système d'exploitation. J'édite ma réponse avec un moyen possible de contourner cela.
Vincent De Baere
Malheureusement, le processus ci-dessus ne fonctionne pas. Lorsque l'utilisateur n'est pas connecté, le chemin d'accès au répertoire ne semble pas exister. On dirait que le cryptage + btrfs est super difficile à utiliser.
mlissner