Mi chiedo solo se esiste un comando di Terminale per farlo, perché penso che il mio OSX fosse già incasinato con alcune installazioni .pkg incompatibili. Grazie.
Il sistema di gestione dei pacchetti usato da OS X è rudimentale rispetto alle controparti di Linux come RPM o DEB . Fortunatamente, le operazioni di base come l'elenco dei pacchetti e il suo contenuto sono possibili:
Ogni volta che un file .pkg
è installato a BOM il file è memorizzato in /private/var/db/receipts/
. Puoi fare ls
in quella directory o usare pkgutil
per elencare i pacchetti installati:
$ 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
(...)
Per interrogare il contenuto del file .pkg
usa 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
(...)
Vedi man pkgutil e man lsbom per altre opzioni.