web-dev-qa-db-fra.com

Comment désinstaller un fichier de package Apple pkg?

Malgré les opinions contraires , tous les packages ne sont pas installés proprement dans un seul répertoire. Existe-t-il un moyen d’inverser le processus d’installation d’un fichier pkg, de préférence avec le paquet original (ou à partir d’un référentiel contenant des informations sur les paquets installés)?

Plus précisément, j'ai installé le paquet PowerPC MySQL 5.4.1 sur un MacBook intel et je voudrais inverser la situation, en récupérant l'installation 5.1 x86 que je peux voir toujours présente, mais ne fonctionnant pas correctement.

48
dlamblin

https://wincent.com/wiki/Uninstalling_packages_ (.pkg_files) _on_Mac_OS_X explique comment désinstaller .pkg à l'aide de la variable native pkgutil.

Extrait modifié

$ pkgutil --pkgs # list all installed packages
$ pkgutil --files the-package-name.pkg # list installed files

Après avoir visuellement inspecté la liste des fichiers, vous pouvez effectuer les opérations suivantes:

$ 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 -f
$ pkgutil --only-dirs --files the-package-name.pkg | tail -r | tr '\n' '\0' | xargs -n 1 -0 Sudo rmdir

Inutile de dire que des précautions extrêmes doivent toujours être prises lors de la suppression de fichiers avec des privilèges root. Sachez en particulier que certains packages peuvent mettre à jour des composants système partagés. Par conséquent, leur désinstallation peut endommager votre système en supprimant un composant nécessaire.

Pour les paquets plus petits, il est probablement plus sûr de simplement supprimer manuellement les fichiers après une inspection visuelle de la liste de fichiers du paquet.

Apparemment, il y avait une fois une option --unlink disponible dans pkgutil, mais en tant que Lion, elle n'est pas mentionnée dans la page de manuel. Peut-être a-t-il été supprimé parce que jugé trop dangereux.

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

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

Le système ne contient aucune option permettant de désinstaller les fichiers à l'aide d'un programme de désinstallation. Vous pouvez donc créer vous-même un programme de désinstallation ou supprimer les fichiers manuellement.

La meilleure méthode pour déterminer quels fichiers ont été installés consiste à récupérer si possible le .pkg d'origine. Si ce n'est pas possible, vous pouvez également utiliser les reçus à la place de /Library/Receipts. Votre plus gros problème est lorsque vous traitez avec un .mpkg qui contient plusieurs fichiers .pkg car vous devrez alors trouver tous les fichiers séparés .pkg dans ce dossier (heureusement, ce n'est pas si difficile quand ils sont triés par date).

Une fois que vous avez le fichier .pkg (Receipt ou le fichier d'installation complet), vous pouvez utiliser un utilitaire pour créer le programme de désinstallation ou trouver les fichiers afin de pouvoir les supprimer manuellement:

Programme de désinstallation

Absolute Software InstallEase est un programme gratuit permettant de créer des programmes de désinstallation à partir de fichiers .pkg existants. Créez le fichier de désinstallation .pkg (remarque: vous aurez besoin des outils de développement Apple pour installer le fichier .pkg).

manuellement

En utilisant un programme tel que Pacifist ou un plugin QuickLook du type paquet suspect vous peut voir quels fichiers sont installés et à quel emplacement. En utilisant cette liste, vous pouvez ensuite naviguer manuellement vers ces dossiers et supprimer les fichiers. J'ai personnellement utilisé cette méthode d'innombrables fois avant de découvrir InstallEase, mais cela reste souvent plus rapide si l'installation n'est pas répartie entre de nombreux sites.

18
Chealion

vous pouvez également désinstaller les packages .pkg avec UninstallPKG ( http://www.corecode.at/uninstallpkg/ )

[divulgation complète: oui je suis l'auteur]

10
user1259710

J'ai fait la même roue le mois dernier, il s'appelle Package Uninstaller, en source ouverte et hébergé sur github: https://github.com/hewigovens/PackageUninstaller ,

vous pouvez télécharger et essayer à partir de [ici]. ( http://sourceforge.net/projects/packageuninstaller/files/latest/download )

4
hewigOvens

J'ai fait un srcipt de Shell

tu peux l'essayer

https://github.com/iamrToday/pkg-remove

Il montre une démo .gif, vous pouvez voir le code source, juste envelopper la ligne de commande de brablc . Vous pouvez l'exécuter pour rechercher des informations, vous pouvez également supprimer apk. C'est interactif.

1
rToday Lin

Vous pouvez essayer les suggestions de ce site: http://www.entropy.ch/software/macosx/mysql/remove-old-mysql.html . Il existe également un article à ce sujet sur le site de support d'Adobe; voici le lien: http://support.Adobe.com/devsup/devsup.nsf/docs/52355.htm .

De plus, les applications qui ont généralement un fichier pkg dans le dmg ont aussi généralement un autre pkg utilisé pour la désinstallation. Je ne sais pas si cela est vrai ici, mais je tenais à vous faire savoir de conserver le fichier dmg d'origine.

1
alex