Algunas aplicaciones vienen en archivos .pkg y solicitan su contraseña de administrador, incluso si todo lo que hacen es copiar el binario a / Aplicaciones.
Me gusta tener mis aplicaciones en ~ / Aplicaciones, 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 extraer la aplicación? Hay PackageMaker en las Herramientas de desarrollo, pero eso no parece hacerlo (produjo algunos resultados que me hacen pensar que realmente no hay scripts u otras piezas en el instalador, solo la aplicación).
Respuestas:
Si hace clic con el botón derecho 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 el paquete instalará 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 diferentes 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 podría dejarlo sin los marcos que necesita ejecutar; así 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, en el al menos es algo más de información si no confías en el paquete.
fuente
pkgutil
lo haré. Puede expandirlo usandopkgutil --expand file.pkg path_to_expand
y lo convertirá en un paquete de estilo de directorio.Además de lo que dijo Matthew Hall, también puede presionar Cmd-I en la aplicación Instalador para ver qué archivos instalará el instalador y dónde.
fuente
Si no confía en el instalador lo suficiente como para otorgar permisos administrativos para instalar, ¿por qué confía en el binario en / Aplicaciones?
Pacifist te permitirá buscar en archivos de paquetes. Esto no necesariamente te permite "extraer el binario".
fuente
Alternativamente puedes intentar,
O
fuente
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
y luego copiar los archivos a las ubicaciones que prefiera. Aún necesita el sudo para ejecutar el instalador desafortunadamente.Después de 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 llamo "xxxx" o "zzzz", etc. para facilitar la escritura más tarde.
Opción-arrastre una copia del archivo Archive.pax.gz a esa nueva carpeta "xxxx" en su escritorio.
Si el archivo está dentro de medios de solo lectura, puede arrastrarlo 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í:
Ahora hay dos comandos simples para ingresar:
Gzip le dirá que ha reemplazado "Archive.pax.gz" con "Archive.pax"). Ahora enumere nuevamente el contenido del directorio para confirmar esto.
(Debe separar
-r
y-f
, como-rf
no funcionará)Finalmente, enumere nuevamente el contenido del directorio 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 los 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.
fuente
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. No necesita describir todo con ese nivel de detalle.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
fuente
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 Quick Look, de modo que simplemente seleccionando el archivo del paquete y presionando la barra espaciadora se abre una ventana con la información más esencial.
fuente
El Unarchiver puede hacer esto; hará lo mismo que
pkgutil --expand
usar arrastrar y soltar. De todos modos, es un mejor reemplazo para Archive Utility.app de Apple.fuente
UnArchiver hizo el truco.
Instale UnArchiver, abra UnArchiver; mientras está abierto, haga doble clic en ese molesto
MAMP_MAMP_3.5.pkg
Siga los pasos para instalar MAMP.
fuente