154 votos

Instalando .pkg con terminal ?

¿Es posible instalar un .pkg usando un terminal? (Quería instalar una aplicación a través de ssh).

194voto

/usr/sbin/instalador

El comando de instalación se utiliza para instalar los paquetes de instalación de Mac OS X en un dominio o volumen específico. El El comando installer instala un solo paquete por invocación, que se especifica con el parámetro -package ( -pkg es aceptado como sinónimo). Puede ser un solo paquete o un metapaquete. En el caso del metapaquete, los paquetes que forman parte de la instalación por defecto se instalarán a menos que sean descalificados por un control de paquete herramienta(s).

Ver man installer para la funcionalidad completa. A menudo

sudo installer -pkg /path/to/package.pkg -target /

es todo lo que se necesita.

7 votos

Tenga en cuenta que -target es un dispositivo y no una ruta. Así que manténgalo en "/" para la mayoría de los casos.

1 votos

@AlexV me confunde - / es una ruta y un dispositivo está montado en ella. Entonces, ¿por qué una opción que requiere un dispositivo como argumento acepta / ?

3 votos

@muru - La documentación lo llama "dispositivo", pero en realidad tiene su propia sintaxis para definir el objetivo (no es exactamente "nodo de dispositivo unix"). Según la página de manual del instalador, puede ser un nodo de dispositivo (como se espera), el identificador del disco (por ejemplo, disk1s9), el punto de montaje (de ahí "/"), el UUID del volumen, o cualquiera de los dominios de instalación listados por installer -dominfo .

26voto

coreno Puntos 56

Sólo en caso de que sea necesario; si quieres instalar un .pkg sin acceso Root:

installer -pkg myapp.pkg -target CurrentUserHomeDirectory

instalará el paquete en ~/Aplicaciones.

1 votos

Es CurrentUserHomeDirectory ¿en este caso un token literal especial? ¿O debe sustituirse por $HOME ?

0 votos

@coolaj86 Es una ficha literal

0 votos

Esto no me funciona. Me sale installer: Certificate used to sign package is not trusted entonces cuando intento allowUntrusted me sale installer: El nombre del paquete es Insta360 Studio 2022 instalador: Instalando en la ruta base /var/Root instalador: Preparando la instalación........ installer: Preparando el disco........ installer: Preparando Insta360 Studio 2022........ instalador: La instalación ha fallado.

8voto

Richard Marquez Puntos 387

Instalar todo .pkg archivos de la carpeta actual a /Applications :

for f in *.pkg ; 
    do sudo installer -verbose -pkg "$f" -target /
done

Como alternativa puedes instalar los paquetes en tu carpeta de inicio con -target ~ . Acabarán en /Users/<your_account>/Applications a menos que una ruta específica esté predefinida en el instalador.

Si necesita ver qué contiene exactamente un instalador de pkg script y qué pre y post-instalación se ejecutarán, eche un vistazo a PaqueteSospechoso (freeware, se puede instalar con brew install --cask suspicious-package ), y utilizar la vista previa rápida desde el Finder cuando un .pkg está seleccionado. Pulsar la barra espaciadora en el Finder con el archivo seleccionado también debería funcionar.

5 votos

Esto no se instala necesariamente a /Applications - depende del paquete, por ejemplo PowerShell para MacOS se instala en /usr/local .

0 votos

También he puesto esto en una respuesta, pero -target CurrentUserHomeDirectory es lo que he utilizado con éxito para Microsoft Edge y la aplicación Logitech Camera Settings.

-2voto

lucidsystems Puntos 1

Si estás buscando una manera de instalar múltiples archivos .pkg a través de la línea de comandos, entonces echa un vistazo a installpkg : http://www.lucid.systems/tools/installpkg

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X