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."
Qu'est-ce que cela signifie et comment puis-je le supprimer ?
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."
Qu'est-ce que cela signifie et comment puis-je le supprimer ?
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
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.
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
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.
Ceci est maintenant déplacé vers : "/System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass", et fonctionne autrement comme annoncé.
Dans OS X 10.10.5, il s'agit maintenant de /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass
.
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
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.
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 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.