.Pkg mit Terminal installieren?

81

Ist es möglich, ein .pkg über ein Terminal zu installieren? (Ich wollte eine App über ssh installieren).

Matthieu Riegler
quelle

Antworten:

102

/ usr / sbin / installer

Mit dem Befehl installer werden Mac OS X-Installationspakete in einer bestimmten Domäne oder auf einem bestimmten Volume installiert. Mit dem Befehl installer wird ein einzelnes Paket pro Aufruf installiert, das mit dem Parameter -package angegeben wird (-pkg wird als Synonym akzeptiert). Es kann sich entweder um ein einzelnes Paket oder um ein Metapaket handeln. Im Fall des Metapakets werden die Pakete, die Teil der Standardinstallation sind, installiert, es sei denn, sie werden von den Prüftools eines Pakets disqualifiziert.

Siehe man installerfür die volle Funktionalität. Häufig

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

ist alles was benötigt wird.

nohillside
quelle
1
Beachten Sie, dass das -Ziel ein Gerät und kein Pfad ist. Behalten Sie es also für die meisten Fälle "/".
AlexV
1
@AlexV Farbe mich verwirrt - /ist ein Pfad und ein Gerät ist darauf montiert. Warum sollte eine Option, die ein Gerät als Argument erfordert, akzeptiert werden /?
muru
1
@muru - In der Dokumentation wird es als "Gerät" bezeichnet, aber in Wirklichkeit hat es eine eigene Syntax für die Definition des Ziels (nicht genau "Unix-Geräteknoten"). Entsprechend der Installationsanleitung kann es sich (wie erwartet) um einen Geräteknoten, die Festplattenkennung (z. B. disk1s9), den Mountpunkt (daher "/"), die Volume-UUID oder eine der Installationsdomänen handeln, die von aufgeführt werden installer -dominfo.
sehrgut
3

Installieren Sie alle .pkgDateien aus dem aktuellen Ordner in /Applications:

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

Alternativ können Sie die Pakete mit in Ihrem Home-Ordner installieren -target ~. Sie landen in, es /Users/<your_account>/Applicationssei denn, im Installationsprogramm ist ein bestimmter Pfad vordefiniert.

Wenn Sie wissen möchten, was genau ein pkg-Installationsprogramm enthält und welche Skripts vor und nach der Installation ausgeführt werden, können Sie SuspiciousPackage (Freeware) installieren und eine Schnellvorschau aus dem Finder verwenden, während die .pkgDatei ausgewählt ist. Das Drücken der Leertaste im Finder mit der ausgewählten Datei sollte ebenfalls funktionieren.

ccpizza
quelle
4
Dies muss nicht unbedingt auf installiert werden /Applications- es hängt vom Paket ab, auf dem beispielsweise PowerShell für macOS installiert wird /usr/local.
RichVel