Menginstal .pkg dengan terminal?

81

Apakah mungkin untuk menginstal .pkg menggunakan terminal? (Saya ingin menginstal aplikasi melalui ssh).

Matthieu Riegler
sumber

Jawaban:

102

/ usr / sbin / installer

Perintah penginstal digunakan untuk menginstal paket penginstal Mac OS X ke domain atau volume yang ditentukan. Perintah pemasang menginstal satu paket per doa, yang ditentukan dengan parameter -paket (-pkg diterima sebagai sinonim). Ini bisa berupa paket tunggal atau metapackage. Dalam kasus metapackage, paket-paket yang merupakan bagian dari instalasi default akan diinstal kecuali didiskualifikasi oleh alat cek paket.

Lihat man installeruntuk fungsionalitas penuh. Sering

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

hanya itu yang dibutuhkan.

nohillside
sumber
1
Perhatikan bahwa -target adalah perangkat dan bukan jalur. Jadi simpan "/" untuk sebagian besar kasus.
AlexV
1
@AlexV warna saya bingung - /adalah jalan dan perangkat sudah terpasang di atasnya. Jadi mengapa opsi yang membutuhkan perangkat sebagai argumen dapat diterima /?
muru
1
@muru - Dokumentasi menyebutnya sebagai "perangkat", tetapi sebenarnya ini memiliki sintaks sendiri untuk mendefinisikan target (tidak persis "unix device node"). Menurut halaman penginstal, ini dapat berupa node perangkat (seperti yang Anda harapkan), pengidentifikasi disk (misalnya disk1s9), mountpoint (karenanya "/"), volume UUID, atau domain instal mana pun yang terdaftar oleh installer -dominfo.
sehrgut
3

Instal semua .pkgfile dari folder saat ini ke /Applications:

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

Sebagai alternatif, Anda dapat menginstal paket ke folder rumah Anda -target ~. Mereka akan berakhir /Users/<your_account>/Applicationskecuali jalur tertentu sudah ditentukan sebelumnya di installer.

Jika Anda perlu melihat persis apa yang dimuat oleh pemasang pkg dan skrip pra dan pasca pemasangan yang akan dijalankan, Anda dapat menginstal SuspiciousPackage (freeware), dan menggunakan pratinjau cepat dari Finder saat .pkgfile dipilih. Menekan bilah spasi di Finder dengan file yang dipilih harus bekerja juga.

ccpizza
sumber
4
Ini tidak harus diinstal ke /Applications- tergantung pada paket, misalnya PowerShell untuk menginstal macOS /usr/local.
RichVel