web-dev-qa-db-fra.com

À quoi sert / Library / StagedExtensions et comment supprimer les extensions

J'essaie de désinstaller Parallels complètement de macOS High Sierra. J'ai tout supprimé du disque, sauf certaines extensions Parallels qui sont stockées sous/Library/StagedExtensions/Parallel Desktop.app

Je pense que l'emplacement a à voir avec les extensions approuvées par l'utilisateur, mais j'aimerais trouver un moyen de supprimer/désinstaller celles-ci également. Si j'essaie de supprimer les extensions, il est dit que l'opération n'est pas autorisée malgré les droits root.

Une idée?

8
Pinco Pallino

Dans mon cas, kext supprimé disparaît de StagedExtensions lorsque vous invalidez le cache kext.

Sudo rm -rf /Library/Extensions/Parallel\ Desktop.app # check if the name is correct so you don't delete some other kext
Sudo kextcache -invalidate /
# now you should not see your deleted kext here
ls /Library/StagedExtensions/

MISE À JOUR 2019:

Voir la page de manuel pour plus de détails: man kextcache. Extrait lié à -invalidate, -i pour faire court:

 -i os_volume, -invalidate os_volume
              Rebuild out-of-date caches and update any helper partitions
              associated with os_volume.

              This option mimics Sudo touch /System/Library/Extensions on
              os_volume.  If kextcache cannot find or make sense of
              os_volume/usr/standalone/bootcaches.plist, the volume is treated
              as if no caches need updating: success is returned.

Il existe également de nouvelles options:

     -clear-staging
          Clears the kernel extension staging area by removing all staged content.

     -Prune-staging
          Prunes the kernel extension staging area by removing all kernel extensions
          no longer present in their original location.

Ressemble à -Prune-staging supprime uniquement les extensions supprimées, ce qui permet de gagner un peu de temps lors de la prochaine reconstruction du cache kext.

Voir https://www.unix.com/man-page/mojave/8/KEXTCACHE/ pour la page de manuel Mojave, qui contient ces nouvelles options.

10
Dalibor Filus

Il existe une nouvelle façon d'effacer le dossier StageExtensions comme suit

Sudo kextcache --clear-staging

Cette commande effacera le dossier/Library/StageExtensions. Nous n'avons pas besoin d'aller en mode de récupération et de supprimer manuellement ce dossier au cas où il y aurait des erreurs d'autorisation lors de l'installation du logiciel.

8

J'ai eu un problème similaire en essayant de désinstaller TelestreamAudio.kext pour ScreenFlow. Ce qui pourrait se produire, c'est que le kext dans StagedExtensions est actuellement utilisé ou protégé pendant que vous êtes en mode normal. Une fois en mode de récupération, vous pouvez le supprimer sans désactiver la protection de l'intégrité du système. Les étapes suivantes ont fonctionné pour moi, mais soyez prudent.

  • Cliquez sur le menu . Sélectionnez Redémarrer
  • Maintenez la commande-R enfoncée pour démarrer dans le système de récupération
  • Choisissez Utilitaire de disque dans le menu de récupération
  • Dans l'Utilitaire de disque, cliquez sur votre disque dur principal (par exemple, Macintosh HD), puis cliquez sur Monter
  • Quitter l'Utilitaire de disque
  • Cliquez sur Utilitaires dans la barre de menus et sélectionnez Terminal
  • Utilisez les commandes suivantes:

.

cd /Volumes/Macintosh\ HD/Library/StagedExtensions/Library/Extensions/
rm -rf NAME_OF_EXTENSION.kext
  • Fermez l'application Terminal
  • Cliquez sur le menu  et sélectionnez Redémarrer

À partir de là, j'ai pu réinstaller le kext audio de ScreenFlow et cela a fonctionné. Cela peut également vous aider à supprimer complètement le kext de Parallels.

3
user503821