Algunas aplicaciones vienen en archivos .pkg y solicitan su contraseña de administrador, incluso si todo lo que hacen es copiar el archivo binario a /Aplicaciones.
Me gusta tener mis aplicaciones en ~/Applications, y no me gusta dar permisos administrativos a nada que no sea de la nave nodriza.
¿Hay alguna manera de que pueda abrir manualmente el archivo .pkg y sacar la aplicación? Hay PackageMaker en Developer Tools, pero eso no parece funcionar (produjo algunos resultados que me hacen pensar que realmente no hay scripts u otras piezas en el instalador, solo la aplicación).
Si hace clic con el botón derecho en él y hace clic en Mostrar contenido del paquete , obtendrá algunos archivos en una carpeta Contenido. (Nota: si no ve Mostrar contenido del paquete , deberá abrir Terminal.app y ejecutar pkgutil --expand mystubbornpackage.pkg path/to/expand
)
Uno es un archivo BOM (lista de materiales) que se convierte en un recibo que puede usar para desinstalar la aplicación. Este archivo contiene un manifiesto de todo lo que instalará el paquete y dónde; para leer este archivo, use el comando lsbom .
La mayoría de los paquetes (estoy usando Office 2008 aquí) también tienen un archivo Archive.pax.gz, que contiene todo lo que el instalador moverá a las distintas carpetas como se indica en el archivo BOM. La mayoría de las aplicaciones parecen tener el .app en este archivo, aunque arrastrarlo a /Aplicaciones puede dejarlo sin los marcos que necesita para ejecutarse; por lo que tendrá que averiguar qué otros archivos necesita y dónde los necesita para que funcione.
Además, todos los paquetes pueden registrar mensajes, si presiona Cmd-L (o elige la opción Registro del instalador en el menú Ventana , puede verlos a medida que se generan. Esto podría darle una idea de qué cosas adicionales está instalando, al final). por lo menos, es más información si no confía en el paquete.
pkgutil
lo haré. Puede expandirlo usando pkgutil --expand file.pkg path_to_expand
y lo convertirá en un paquete de estilo de directorio.--expand-full
para extraer el archivo "Carga útil" si lo tiene stackoverflow.com/questions/41166805/…Además de lo que dijo Matthew Hall, también puede presionar Cmd-I en la aplicación Installer para ver qué archivos instalará el instalador y dónde.
Si no confía lo suficiente en el instalador para otorgar permisos administrativos para instalar, ¿por qué confía en el binario en /Aplicaciones?
Pacifist le permitirá buscar en los archivos del paquete. Esto no necesariamente le permite "sacar el binario".
pkgutil --expand
me estaba fallando con el siguiente error:
Error encountered while creating .. Error 17: File exists
Pero logré extraer los archivos con xar
:
xar -xvf foo.pkg
Alternativamente, puedes probar,
sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/
O
installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
y luego copiar los archivos en las ubicaciones que prefiera. Desafortunadamente, aún necesita el Sudo para ejecutar el instalador.installer: Error - This version of OS X 10.11 cannot be installed on this computer.
Una vez que haya logrado abrir el paquete, busque el archivo Archive.pax.gz que se mencionó anteriormente.
Cree una nueva carpeta vacía en su escritorio y asígnele el nombre que desee. Por lo general, los nombro "xxxx" o "zzzz", etc. para facilitar la escritura más adelante.
Opción: arrastre una copia del archivo Archive.pax.gz a esa nueva carpeta "xxxx" en su escritorio.
Si el archivo está dentro de un medio de solo lectura, simplemente arrástrelo a su carpeta "xxxx" sin la tecla Opción para crear una copia.
Ahora abra Terminal.app y en la línea de comando navegue a su nuevo directorio "xxxx" y enumere el contenido del directorio para confirmar que su archivo Archive.pax.gz está allí:
cd ~/Desktop/xxxx
ls -al
Ahora hay dos comandos simples para ingresar:
gunzip -v Archive.pax.gz
Gzip le dirá que ha reemplazado "Archivo.pax.gz" con "Archivo.pax") Ahora enumere el contenido del directorio nuevamente para confirmar esto.
pax -r -f Archive.pax
(Debes separar -r
y -f
, ya -rf
que no funcionará)
Finalmente, enumere el contenido del directorio nuevamente con ls -al
. Además de su archivo Archive.pax, ahora verá una jerarquía de directorios que probablemente contenga uno o más directorios.
Los archivos en esa jerarquía de directorios le ilustrarán dónde el instalador de OS X instalaría archivos en su sistema como si su directorio "xxxx" fuera el directorio raíz "/".
Luego puede copiar manualmente esos archivos a sus destinos si lo desea.
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. No es necesario describir todo con ese nivel de detalle.La mejor herramienta para inspeccionar archivos de paquetes es Paquete sospechoso . También le permite copiar archivos fuera del paquete.
No solo proporcionará toda la información que necesita en la aplicación, sino que también instalará un complemento de Vista rápida, por lo que simplemente seleccionando el archivo del paquete y presionando la barra espaciadora se abre una ventana con la información más esencial.
El Unarchiver puede hacer esto; hará lo mismo pkgutil --expand
pero usando arrastrar y soltar. De todos modos, es un mejor reemplazo para Archive Utility.app de Apple.
UnArchiver hizo el truco.
Instale UnArchiver, abra UnArchiver; mientras está abierto, haga doble clic en ese molestoMAMP_MAMP_3.5.pkg
Siga los pasos para instalar MAMP.
izq.