68 votes

La mise à niveau de Catalina ne peut pas supprimer les éléments relocalisés

Après avoir effectué la mise à niveau vers MacOS Catalina, j'ai un dossier d'éléments relocalisés sur mon bureau. Dans ce dossier se trouve un PDF expliquant ce que sont ces éléments.

À l'intérieur du dossier se trouvent deux sous-dossiers - Configuration y Security . Ces dossiers contiennent des éléments qui se trouvaient dans des emplacements qui ne sont plus compatibles avec la nouvelle configuration de MacOS. Il vous est conseillé de revoir les éléments de ces répertoires et de prendre les mesures appropriées.

Le problème est qu'au sein de la Security/usr est un lien symbolique appelé X11 pointant vers /opt/X11 . Le site /opt/X11 n'existe pas et je ne peux pas supprimer le X11 lien avec soit unlink o rm (comme sudo et j'ai essayé après sudo su pour obtenir un shell Root) . Lorsque j'essaie de supprimer le fichier, je reçois le message "Opération non autorisée". Je peux déplacer le lien vers la corbeille, mais lorsque je le fais, la tentative de vider la corbeille aboutit à une erreur indiquant qu'elle ne peut pas être vidée car X11 est un fichier requis par MacOS. Alors, comment puis-je me débarrasser de ce lien ?

Mise à jour : J'ai également noté que xattr ne montre rien.

1 votes

Bonjour Tim, veuillez lire cet article : osxdaily.com/2018/10/09/… Bien qu'il soit concerté avec MacOS Mojave, vous constaterez que cela devrait vous aider à supprimer ce dossier. Utilisez également le sudo rm -rf pour supprimer ce lien symbolique.

2 votes

@Danijel-JamesW Merci, mais sudo rm -rf n'aide pas, donne juste la même erreur.

0 votes

J'ai aussi vérifié que l'application du terminal a un accès complet au disque, donc ce n'est pas le problème. On dirait que je vais devoir me plonger dans la désactivation du SIP et voir si cela fonctionne.

47voto

Tim X Points 1141

Comme cette questi9on a eu plus de 1k vues, il semble que ce soit un problème commun. Par conséquent, j'ai pensé que je pourrais décrire ce que j'ai fait pour le résoudre, au cas où d'autres trouveraient cela utile.

Lorsque j'ai essayé de supprimer le lien, on m'a dit que l'opération n'était pas autorisée. En regardant le lien, j'ai pu voir qu'il appartenait à "Root" et au groupe "wheel". J'ai donc essayé de le supprimer avec sudo c'est-à-dire

sudo unlink X11

Cela a échoué avec la même erreur. J'ai également essayé

sudo rm -rf X11

mais cela a également échoué avec la même erreur. J'ai alors posté un message ici pour demander de l'aide et @Danijel-JamesW a ajouté un commentaire avec un lien vers un article utile qui fournit quelques informations sur les nouvelles fonctions de sécurité initialement introduites dans la version précédente de MacOS, mais étendues dans Catalina. L'une des choses que cet article met en évidence est que certaines applications, comme les terminaux et les éditeurs (dans mon cas Emacs), doivent avoir le privilège d'accès complet au disque. Sans ce privilège, vous obtiendrez souvent des erreurs d'opération non autorisée à des endroits/situations inattendus. Malheureusement, ce n'était pas le cas pour moi. Mon application de terminal (iTerm2.app) disposait des autorisations nécessaires. Cependant, l'article indiquait que vous pouviez également contourner l'erreur "Operation not permitted" en désactivant le SIP (System Integrity Protection). C'est ce que je comptais faire. Mais finalement, ce n'était pas nécessaire.

Grâce à un commentaire de @user3439694, j'ai découvert que vous pouvez démarrer en mode récupération et utiliser le terminal pour supprimer le fichier. C'est ce que j'ai fait

  1. Botte en maintenant enfoncé commmand + R
  2. Cliquez sur Utilities et sélectionnez Terminal dans le menu supérieur
  3. Entrez rm -rf /path/to/file/to/remove
  4. Redémarrer

Cela a résolu mon problème. Une chose importante à noter est que le travail dans le terminal de récupération est puissant et potentiellement dangereux. Vous devez vous assurer que vous supprimez bien ce que vous voulez supprimer. Pour plus de sécurité, au lieu de lancer immédiatement la commande rm vous pouvez utiliser la commande ls -l pour vous assurer que vous avez le bon fichier ou répertoire, puis appuyez sur la flèche vers le haut pour ramener la commande de l'historique, allez au début de la ligne, supprimez le ls -l et tapez rm -rf laissant le chemin non modifié après le rm -rf. Notez également que -r signifie récursif et -f signifie force - très puissant et dangereux. Il va essentiellement tout supprimer à partir du point spécifié dans le chemin vers le bas, c'est-à-dire tous les sous-répertoires et fichiers. Donc, si vous vous trompez dans le chemin, vous pouvez finir par supprimer beaucoup plus que ce que vous aviez prévu. Dans mon cas, le chemin dont j'avais besoin était

/Volumes/Macintosh\ HD\ -\ Data/Users/tim/Desktop/Relocated\ Items

mon compte de connexion est 'tim'. les '\' sont nécessaires pour échapper aux espaces dans le chemin. Sur la plupart des systèmes, le chemin d'accès commence par /Volume, mais le nom du lecteur peut être différent (par exemple, Macintosh HD). le '- Data' est assez standard.

Quoi qu'il en soit, cela a réglé le problème et ces fichiers irritants ont maintenant disparu et mon dossier Desktop est propre (pour l'instant !).

5 votes

Après avoir démarré en mode de récupération, le volume de données n'était pas disponible dans le mode de récupération. /Volumes . J'ai dû ouvrir l'Utilitaire de disque et le monter explicitement (cela a pris un certain temps pour demander un mot de passe) avant de pouvoir y accéder et supprimer le fichier.

0 votes

De même, si vous avez déjà déplacé le dossier dans la corbeille, il se trouvera dans .Trash dans votre dossier utilisateur au lieu de eg Desktop .

0 votes

Vous avez peut-être une configuration de disque non standard. J'ai maintenant corrigé ce problème sur 4 systèmes différents et bien que le chemin puisse différer en fonction du nom donné à la partition lors de l'installation initiale, il n'a pas été nécessaire de monter manuellement le disque. Peut-être que votre /Users se trouve sur un disque physique distinct plutôt que sur une partition distincte ?

5voto

SynapticHammer Points 76

J'ai utilisé la procédure trouvée à MacReports.com :

  • démarrer en mode de récupération,
  • désactiver csrutil,
  • reboot,
  • supprimer le dossier (dans le Finder ou le Terminal),
  • redémarrer en mode récupération,
  • réactivez csrutil ; et,
  • reboot.

Quatre redémarrages ( !), oui - mais jusqu'ici, tout va bien.

3voto

Aaron Alton Points 9929

La solution de Tim X a fonctionné pour moi. Le résumé est le suivant

  1. Mode de récupération : commande + R
  2. Utilitaires -> Terminal
  3. rm -r /path/to/file/or/dir/to/remove (Le -r seul a fonctionné pour moi -- Tim a utilisé le mode force rm -rf)
  4. Redémarrer

2voto

Habi Points 928

Le problème est causé par le lien symbolique X11 qui est configuré par XQuartz et qui pointe vers le dossier X11 qui est protégé par Mac OSX. À un moment donné, vous avez peut-être installé XQuartz. La procédure originale consiste à désinstaller XQuartz et à le réinstaller après la mise à niveau de Catalina.

Dans mon cas, j'avais installé XQuartz via homebrew cask et j'avais déjà mis à jour vers catalina. Donc, tout d'abord, désinstaller XQuartz.

$ brew cask ls
$ brew cask remove xquartz
  • redémarrez maintenant votre Mac

  • maintenez "cmd + r" (vous pouvez relâcher les touches après quelques secondes, juste après l'apparition du logo Apple avec la barre de progression)

  • vous êtes maintenant en mode récupération

  • sélectionnez dans le menu supérieur Utilitaires > Terminal

  • entrez ce qui suit pour désactiver l'intégrité sécurisée d'apple

    $ csrutil disable # this disables apple secure integrity tool

  • fermer le terminal

  • sélectionnez dans le menu supérieur Redémarrer et attendez le démarrage normal de votre compte.

  • Maintenant, vous pouvez supprimer les fichiers qui sont bloqués et les mettre dans une poubelle comme d'habitude.

  • pour être complet, redémarrez en mode de récupération comme les étapes ci-dessus et dans le terminal entrez

    $ csrutil enable # this reenables apple secure integrity tool

  • redémarrez et connectez-vous comme d'habitude

si vous êtes effrayé par le fait que l'on vous prévient de supprimer/binner un dossier protégé, vous pouvez choisir d'utiliser la commande "unlink X11" à la place pour supprimer le lien symbolique. cela a fonctionné pour moi et j'espère que cela vous aidera.

pour comprendre ou tester le problème, vous pouvez essayer ce qui suit qui, dans le cas où vous essayez de désactiver l'intégrité du système, aboutit à une erreur

$ csrutil status
System Integrity Protection status: enabled.
$ csrutil disable
csrutil: failed to modify system integrity configuration. This tool needs to be executed from the Recovery OS.

0 votes

Je suis presque sûr de n'avoir jamais installé XQuartz, il est donc probable que ce soit une autre cause possible. J'ai envisagé de l'installer pour utiliser x2go, mais j'ai trouvé que je n'en avais pas besoin, donc je ne l'ai pas fait. J'ai un certain nombre d'autres applications homebrew et ce Mac est en fin de vie, donc il a eu un certain nombre de mises à jour OSX. Je soupçonne que cela provient d'un ancien OSX ou d'une autre recette homebrew.

0 votes

Cela pourrait aussi être possible. De même, j'ai mis à jour OSX il y a des lustres et cela peut être dû à d'autres dépendances ou applications. La cause est similaire : un lien symbolique qui ne peut être supprimé en raison de la protection de l'intégrité du système. Cela s'est déclenché assez récemment et a en quelque sorte gelé tout ce qui était auparavant un défaut du système.

2voto

Mykel Points 121

Personnellement, je n'aime pas désactiver les fonctions SIP/sécurité, si je peux l'éviter.

La façon dont je procède est la suivante :

  1. Redémarrez et maintenez immédiatement les touches cmd+r enfoncées (démarrage en mode récupération).
  2. Ouvrez l'Utilitaire de disque (vous devrez probablement sélectionner votre utilisateur administrateur et vous connecter d'abord).
  3. Montez votre volume de données (par exemple, Macintosh HD - Data).
  4. Quitter l'utilitaire de disque
  5. Dans la barre d'outils, ouvrez Terminal (Utilitaires->Terminal)
  6. rm -rf /Volumes/Macintosh\ HD\ -\ Data/Users/[your-user]/[path-to-relocated-items]
  7. redémarrer

Vous ne devriez pas avoir à désactiver SIP/csrutil.

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