¿Hay alguna forma de enumerar todos los paquetes .pkg que he instalado? [duplicar]

Solo me preguntaba si hay algún comando de Terminal para hacer esto, porque creo que mi OSX ya estaba en mal estado con algunas instalaciones .pkg incompatibles. Gracias.

Respuestas (1)

El sistema de administración de paquetes utilizado por OS X es rudimentario en comparación con sus contrapartes de Linux como RPM o DEB . Afortunadamente, las operaciones básicas como enumerar paquetes y su contenido son posibles:

.pkgCada vez que se instala un archivo, se almacena un archivo BOM/private/var/db/receipts/ en formato . Puede hacerlo lsen ese directorio o usar pkgutilpara enumerar los paquetes instalados:

$ pkgutil --packages
(...)
com.apple.pkg.HP_Scan
com.apple.pkg.HP_Scan3
com.apple.pkg.HP_SmartX
com.apple.pkg.InstallMacOSX
com.apple.pkg.JavaEssentials
com.apple.pkg.JavaForMacOSX107
com.apple.pkg.JavaMDNS
com.apple.pkg.JavaSecurity
com.apple.pkg.JavaTools
com.apple.pkg.MBP91
com.apple.pkg.MediaFiles
com.apple.pkg.MobileDevice
com.apple.pkg.MobileDeviceDevelopment
com.apple.pkg.OxfordDictionaries
(...)

Para consultar el .pkgcontenido del archivo, use pkgutil:

$ pkgutil --files com.apple.pkg.Pages4 | less
Applications
Applications/Pages.app
Applications/Pages.app/Contents
Applications/Pages.app/Contents/CodeResources
Applications/Pages.app/Contents/Frameworks
Applications/Pages.app/Contents/Frameworks/Inventor.framework
Applications/Pages.app/Contents/Frameworks/Inventor.framework/Inventor

o lsbom:

$ lsbom /private/var/db/receipts/com.apple.pkg.Pages4.bom | less
.   40775   0/0
./Applications  40775   0/80
./Applications/Pages.app    40755   0/0
./Applications/Pages.app/Contents   40755   0/0
./Applications/Pages.app/Contents/CodeResources 120755  0/0 28  2941952436  _CodeSignature/CodeResources
./Applications/Pages.app/Contents/Frameworks    40755   0/0
./Applications/Pages.app/Contents/Frameworks/Inventor.framework 40755   0/0
(...)

Consulte man pkgutil y man lsbom para conocer otras opciones.