¿Instalar .pkg con terminal?


Respuestas:


102

/ usr / sbin / installer

El comando de instalación se utiliza para instalar paquetes de instalación de Mac OS X en un dominio o volumen específico. El comando del instalador instala un único paquete por invocación, que se especifica con el parámetro -package (-pkg se acepta como sinónimo). Puede ser un paquete único o un metapaquete. En el caso del metapaquete, los paquetes que forman parte de la instalación predeterminada se instalarán a menos que las herramientas de verificación de paquetes lo descalifiquen.

Ver man installerpara la funcionalidad completa. A menudo

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

es todo lo que se necesita


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

1
@AlexV me confunde: /es una ruta y un dispositivo está montado en ella. Entonces, ¿por qué aceptaría una opción que requiere un dispositivo como argumento /?
muru

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

3

Instale todos los .pkgarchivos de la carpeta actual para /Applications:

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

Como alternativa, puede instalar los paquetes en su carpeta de inicio con -target ~. Terminarán en a /Users/<your_account>/Applicationsmenos que una ruta específica esté predefinida en el instalador.

Si necesita ver qué contiene exactamente un instalador de paquetes y qué scripts previos y posteriores a la instalación se ejecutarán, entonces puede instalar SuspiciousPackage (freeware) y usar una vista previa rápida del Finder mientras .pkgse selecciona el archivo. Presionar la barra espaciadora en Finder con el archivo seleccionado también debería funcionar.


44
Esto no necesariamente se instala en /Applications: depende del paquete, por ejemplo, en las instalaciones de PowerShell para macOS /usr/local.
RichVel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.