Instalujesz .pkg z terminalem?

81

Czy można zainstalować .pkg za pomocą terminala? (Chciałem zainstalować aplikację przez ssh).

Matthieu Riegler
źródło

Odpowiedzi:

102

/ usr / sbin / installer

Polecenie instalatora służy do instalowania pakietów instalatora systemu Mac OS X w określonej domenie lub woluminie. Komenda instalatora instaluje pojedynczy pakiet na każde wywołanie, który jest określony parametrem -package (-pkg jest akceptowany jako synonim). Może to być pojedyncza paczka lub metapakiet. W przypadku metapakietu pakiety, które są częścią domyślnej instalacji, zostaną zainstalowane, chyba że zostaną zdyskwalifikowane przez narzędzie sprawdzające pakiet.

Zobacz man installerpełną funkcjonalność. Często

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

jest wszystkim, czego potrzeba.

nohillside
źródło
1
Pamiętaj, że -target jest urządzeniem, a nie ścieżką. Więc zachowaj to „/” dla większości przypadków.
AlexV
1
@AlexV kolor mnie mylić - /to ścieżka i urządzenie jest na niej zamontowane. Dlaczego więc miałaby zostać zaakceptowana opcja, która wymaga urządzenia jako argumentu /?
muru
1
@muru - Dokumentacja nazywa to „urządzeniem”, ale tak naprawdę ma swoją własną składnię do definiowania celu (nie do końca „węzła urządzenia unix”). Według strony podręcznika instalatora może to być węzeł urządzenia (zgodnie z oczekiwaniami), identyfikator dysku (np. Disk1s9), punkt montowania (stąd „/”), UUID woluminu lub dowolna z domen instalacji wymienionych przez installer -dominfo.
sehrgut
3

Zainstaluj wszystkie .pkgpliki z bieżącego folderu, aby /Applications:

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

Alternatywnie możesz zainstalować pakiety w folderze domowym za pomocą -target ~. Skończą się, o /Users/<your_account>/Applicationsile w instalatorze nie zostanie określona określona ścieżka.

Jeśli chcesz zobaczyć, co dokładnie zawiera instalator pkg i jakie skrypty przed i po instalacji zostaną uruchomione, możesz zainstalować SuspiciousPackage (darmowy) i użyć szybkiego podglądu z Findera, gdy .pkgplik jest zaznaczony. Naciśnięcie spacji w Finderze przy wybranym pliku również powinno działać.

ccpizza
źródło
4
Niekoniecznie musi się to instalować w /Applications- zależy to od pakietu, na przykład PowerShell dla macOS instaluje się w /usr/local.
RichVel