16 votes

Comment puis-je supprimer un fichier marqué comme élément de sauvegarde ?

J'essaie de supprimer un fichier, mais je reçois un message de la Corbeille disant :
"L'opération ne peut pas être terminée car les éléments de sauvegarde ne peuvent pas être modifiés."

The operation can’t be completed because backup items can’t be modified.

Qu'est-ce que cela signifie et comment puis-je le supprimer ?

35voto

Ryccardo Points 1556

La racine de la cause

Les sauvegardes Time Machine sont protégées au niveau du noyau -- lors d'un démarrage verbeux, il est possible de repérer dans le premier écran de texte une TMSafetyNet.kext en cours de chargement.

Cela garantit l'intégrité de vos sauvegardes. Les dispositions de contrôle d'accès sont appliquées via une extension du noyau située à l'adresse /System/Library/Extensions/TMSafetyNet.kext

Suppression dans Time Machine

Le programme officiel méthode de suppression d'éléments d'une sauvegarde spécifique ou de toutes les sauvegardes consiste à localiser l'élément dans la vue Time Machine "dans l'espace" et à sélectionner l'option de suppression appropriée dans le menu contextuel ou le bouton Action de la barre d'outils.

La possibilité de déplacer les sauvegardes vers la corbeille ajoutée dans Lion n'est pas seulement comparativement plus boguée, mais conçue pour fonctionner sur des instantanés entiers Il s'agit des dossiers nommés en fonction de l'heure de création de la sauvegarde, qui contiennent à leur tour un répertoire pour chaque volume inclus.

Suppression à partir de la ligne de commande (plus flexible, plus de contrôle)

Il existe un un programme d'aide (binaire en ligne de commande) à...

/System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass

...qui vous permet de fournir une commande et un argument pour complètement contourner les restrictions d'accès.

Dans Lion, vous courez :

sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass rm -rfv /Volumes/[disk]/Backups.backupdb/[path]

Dans Mountain Lion bypass s'est déplacé vers le Helpers répertoire :

sudo /System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass rm -rfv /Volumes/[disk]/Backups.backupdb/[path]

Dans OS X 10.10.5 (d'après un commentaire de David Anderson), il est maintenant à :

sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass rm -rfv /Volumes/[disk]/Backups.backupdb/[path]

Crédits :

[1] - Michael Rushanan sur la dérivation TMSafetyNet
[2] - Une brève explication du filet de sécurité de la machine à remonter le temps par Joel Cowgill.
[3] - Question similaire sur SuperUser

1 votes

Yay, ça a marché en effet ! Entrer dans Time Machine et supprimer le fichier à partir de là n'était pas une option puisque cette sauvegarde est liée à un autre utilisateur. Cependant, après avoir supprimé les fichiers *.exe à l'aide de votre solution, le Finder les affichait toujours comme présents. J'ai dû tuer le processus Finder pour que le contenu affiché se rafraîchisse.

1 votes

Ceci est maintenant déplacé vers : "/System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass", et fonctionne autrement comme annoncé.

3 votes

Dans OS X 10.10.5, il s'agit maintenant de /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers‌​/bypass .

3voto

MattiSG Points 2034

Selon ce fil de discussion chez Apple c'est un bug. Cela signifie qu'il sera, espérons-le, corrigé dans une prochaine mise à jour d'OS X.

Entre-temps, vous devez relancer le Finder, ce que vous pouvez faire soit en le quittant par la force (, ou par le menu), soit par des moyens moins violents en le quittant normalement, ce que vous devez d'abord faire activer par la commande suivante émise dans le Terminal :

defaults write com.apple.Finder QuitMenuItem 1

2 votes

Vous pouvez toujours faire killall Finder dans le terminal

2 votes

Cliquez en option sur l'icône du Dock du Finder et choisissez Relancer le Finder.

1voto

tngn Points 131

Le contournement se trouve dans /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/ dans High Sierra (OSX 10.13.3) sur mon iMac. Aussi si vous voulez la liste des fichiers supprimés avec -v, il faut rediriger vers un fichier car la liste verbeuse qui défile est impossible à lire dans Terminal.

0 votes

Comment cela fonctionne-t-il exactement ? désolé, je suis un noob.

0 votes

Fonctionne toujours dans Mojave, merci @tngn

0voto

Evan Kroske Points 1891

On dirait que le programme de dérivation n'existe pas à Big Sur. J'ai pu supprimer des fichiers de la sauvegarde après avoir renommé le dossier de sauvegarde de premier niveau de "Backups.backupdb" en "Backups.backupdb.tmp" :

mv Backups.backupdb{,.tmp}

J'ai aussi dû retirer l'ACL :

chmod -R -a 'group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown' Backups.backupdb.tmp

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X