it-swarm-eu.dev

Come posso disinstallare qualsiasi file del pacchetto pkg di Apple?

Nonostante le opinioni sul contrario , non tutti i pacchetti sono installati in modo pulito in una sola directory. C'è un modo per invertire il processo di installazione di un file pkg, preferibilmente con il pacchetto originale (o da un repository di informazioni sui pacchetti installati)?

Nello specifico ho installato il pacchetto PowerPC MySQL 5.4.1 su un MacBook Intel e vorrei invertire in modo pulito il problema, il ripristino dell'installazione 5.1 x86 che riesco a vedere è ancora lì, ma non funziona correttamente ora.

48
dlamblin

https://wincent.com/wiki/Uninstalling_packages_ (.pkg_files) _on_Mac_OS_X descrive come disinstallare .pkg usando nativo pkgutil.

Estratto modificato

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

Dopo aver ispezionato visivamente l'elenco dei file puoi fare qualcosa come:

$ 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 dire che, quando si rimuovono i file con privilegi di root, bisogna sempre prestare estrema attenzione. In particolare, si tenga presente che alcuni pacchetti possono aggiornare componenti di sistema condivisi, pertanto la loro disinstallazione può effettivamente interrompere il sistema rimuovendo un componente necessario.

Per i pacchetti più piccoli è probabilmente più sicuro rimuovere semplicemente i file manualmente dopo aver ispezionato visivamente l'elenco dei file del pacchetto.

Apparentemente, c'era una volta un'opzione --unlink disponibile in pkgutil, ma a partire da Lion non è menzionata nella pagina man. Forse è stato rimosso perché ritenuto troppo pericoloso.

Dopo aver disinstallato i file, puoi rimuovere la ricevuta con:

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

Integrato nel sistema, non è possibile disinstallare i file utilizzando un programma di disinstallazione, in modo da poter effettuare autonomamente la disinstallazione o rimuovere manualmente i file.

Il metodo migliore per determinare quali file sono stati installati è ottenere una sospensione del .pkg originale, se possibile. Se questo non è possibile, puoi utilizzare anche le ricevute che si trovano su /Library/Receipts. Il tuo più grande problema è quando hai a che fare con un .mpkg che contiene più file .pkg dato che dovrai trovare tutti i file .pkg separati in quella cartella (fortunatamente non così difficile se ordinati per data).

Una volta ottenuto il file .pkg (Receipt o il file di installazione completo), è possibile utilizzare un'utilità per creare il programma di disinstallazione o trovare i file in modo da poterli rimuovere manualmente:

Uninstaller

Absolute Software InstallEase è un programma gratuito che può creare programmi di disinstallazione da file .pkg esistenti. Crea il file .pkg di disinstallazione (nota: avrai bisogno degli strumenti di sviluppo di Apple installati per realizzare effettivamente il file .pkg)

manualmente

Usando un programma come Pacifist o un plugin QuickLook come Pacchetto Sospetto tu può vedere quali file sono installati e in quale posizione. Utilizzando tale elenco è possibile quindi navigare manualmente verso tali cartelle e rimuovere i file. Ho usato questo metodo personalmente innumerevoli volte prima di scoprire InstallEase, ma questo è ancora spesso più veloce se l'installazione non è distribuita tra molte posizioni.

18
Chealion

puoi anche disinstallare i pacchetti .pkg con UninstallPKG ( http://www.corecode.at/uninstallpkg/ )

[rivelazione completa: sì, io sono l'autore]

10
user1259710

Ho fatto la stessa ruota il mese scorso, si chiama Package Uninstaller, open source e ospitato su github: https://github.com/hewigovens/PackageUninstaller ,

puoi scaricarlo e provarlo da [qui]. ( http://sourceforge.net/projects/packageuninstaller/files/latest/download )

4
hewigOvens

Ho creato una shell srcipt

puoi provarlo

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

Mostra una demo .gif, puoi vedere il codice sorgente, basta avvolgere la riga di comando di brablc . Puoi eseguirlo per cercare informazioni, puoi anche rimuovere l'apk. È interattivo.

1
rToday Lin

Puoi provare i suggerimenti di questo sito: http://www.entropy.ch/software/macosx/mysql/remove-old-mysql.html . Inoltre, c'è un articolo riguardante questo sul sito di supporto di Adobe; ecco il link: http://support.Adobe.com/devsup/devsup.nsf/docs/52355.htm .

Inoltre, le app che di solito hanno un file pkg nel dmg di solito hanno anche un altro pkg che viene usato per la disinstallazione. Non sono sicuro se questo è vero qui, ma volevo farti sapere per mantenere il file dmg originale.

1
alex