web-dev-qa-db-fra.com

Désinstaller les packages sous Mac OS X

Comment désinstaller complètement (supprimer des fichiers appartenant à un certain package) sous Mac OS X? Cela peut-il être fait en utilisant une commande dans le terminal?

J'ai installé un package .pkg sur mon Mac et je me demande comment je peux désinstaller l'ensemble du package sans utiliser une application tierce telle que UninstallPKG?

Je me demande si la désinstallation des fichiers .dmg nécessite également des applications tierces ou est-il possible de les désinstaller en entrant une commande dans le terminal?

22
newbieMACuser

Utilisez cette commande dans le terminal pour vérifier la liste des packages et désinstaller vos fichiers.

$ pkgutil --pkgs # list all installed packages

Une fois que vous avez désinstallé les fichiers, vous pouvez supprimer le reçu avec:

$ Sudo pkgutil --forget the-package-name.pkg

Après avoir inspecté visuellement la liste des fichiers, vous pouvez faire quelque chose comme:

$ pkgutil --pkg-info the-package-name.pkg # check the location
$ cd / # assuming the package is rooted at /...
$ pkgutil --only-files --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 Sudo rm -i

Faites attention à cette dernière étape. La liste des répertoires édités par pkgutil --files peut inclure des répertoires partagés importants comme usr, que vous ne voulez pas supprimer .

$ pkgutil --only-dirs --files the-package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 Sudo rm -ir

Copié de ici

12

Je modifie la réponse de @ karthikeyan, ce qui n'a pas fonctionné pour moi.

Sur une ligne de commande, utilisez ce qui suit pour trouver le nom de package souhaité:

$ pkgutil --pkgs | grep -i {keyword} | less

où {mot-clé} est une chaîne que vous vous attendez à voir dans le nom du package.

Pour trouver l'emplacement du package (le répertoire racine auquel toutes les listes de fichiers seront relatives), utilisez

$ pkgutil --pkg-info package-name.pkg

Utilisez-le pour répertorier les fichiers installés du package:

$ pkgutil --files package-name.pkg

Après avoir inspecté visuellement la liste des fichiers, vous pouvez faire quelque chose comme ceci pour les supprimer:

$ cd / # assuming the package location is /
$ pkgutil --only-files --files package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 -p Sudo rm

Soyez prudent de la prochaine étape (finale), qui supprime les répertoires. La liste des répertoires édités par pkgutil --files peut inclure des répertoires partagés importants comme usr, que vous ne voulez pas supprimer . -p fait en sorte que xargs demande confirmation, mais n'obtient pas de déclencheur. (Vous devriez également être en sécurité avec rmdir, car il ne supprimera que les répertoires vides. Mais certaines personnes devront modifier la ligne de commande, il est donc préférable d'être clair!)

$ pkgutil --only-dirs --files package-name.pkg | tr '\n' '\0' | xargs -n 1 -0 -p Sudo rmdir

Une fois que vous avez désinstallé les fichiers, vous pouvez supprimer l'enregistrement système de ce package:

$ Sudo pkgutil --forget package-name.pkg

Sources: page de manuel pkgutil et cet article .

10
LarsH

Le concept de désinstallation de PKG n'existe pas sous OS X. Un PKG/MPKG peut être associé à certains scripts de pré-installation et de post-installation. Ce qui est fait dans les scripts PKG appartient toujours au créateur PKG. En tant que profane, nous ne pouvons pas aller de l'avant et désinstaller un PKG.

Mais en même temps, il existe des lignes de commande qui peuvent effectuer une rétro-ingénierie complète sur les fichiers PKG. Il peut extraire les scripts et autres informations connexes. Les liens ci-dessous vous donneront quelques informations

http://s.sudre.free.fr/Stuff/Ivanhoe/FLAT.htmlhttp://www.mactech.com/articles/mactech/Vol.26/26.02/ TheFlatPackage/index.html

Il y a peu d'applications de désinstallation/nettoyage disponibles sur OS X. La plupart d'entre elles effectuent une recherche dans des répertoires connus (comme/Library/Preferences,/Library/Application Support, etc.) avec le nom de l'application/le nom du pack ou l'identifiant du bundle. C'est une façon de procéder à une suppression complète.

DMG ne sont pas des fichiers d'installation. Ce sont des fichiers d'image disque. Il peut avoir à son tour des fichiers .apps, pkg, mpkgs, d'autres fichiers, etc. Ce qui est installé, ce sont les installateurs dans DMG. DMG doit être monté pour lire le contenu et démonté une fois terminé.

http://osxdaily.com/2011/12/17/mount-a-dmg-from-the-command-line-in-mac-os-x/

Ce lien donne des informations sur la façon de monter un DMG

6
Seema Kadavan