На це питання вже є відповідь тут:
Мені цікаво, чи є якась команда Terminal для цього, тому що я думаю, що мій OSX вже був переплутаний з деякими несумісними установками .pkg. Дякую.
На це питання вже є відповідь тут:
Мені цікаво, чи є якась команда Terminal для цього, тому що я думаю, що мій OSX вже був переплутаний з деякими несумісними установками .pkg. Дякую.
Відповіді:
Система управління пакетами, що використовується OS X, є рудиментарною в порівнянні з аналогами Linux, такими як RPM або DEB . На щастя, можливі основні операції, такі як перелік пакунків та його вміст:
Щоразу, коли встановлено .pkg
файл, файл BOM зберігається /private/var/db/receipts/
. Ви можете зробити це ls
в цьому каталозі або використовувати pkgutil
для переліку встановлених пакетів:
$ 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
(...)
Для запиту .pkg
вмісту файлу використовуйте 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
або 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
(...)
Дивіться man pkgutil та man lsbom для інших варіантів.