Beberapa aplikasi datang dalam file .pkg, dan meminta kata sandi administrator Anda, meskipun yang mereka lakukan hanyalah menyalin biner ke / Aplikasi.
Saya suka memiliki aplikasi saya di ~ / Aplikasi, dan saya tidak suka memberikan izin administratif untuk apa pun yang bukan dari induk.
Apakah ada cara agar saya dapat membuka file .pkg secara manual dan mengeluarkan aplikasi? Ada PackageMaker di Alat Pengembang, tetapi sepertinya tidak melakukannya (itu memang menghasilkan beberapa output yang membuat saya berpikir bahwa sebenarnya tidak ada skrip atau potongan lain di installer, hanya aplikasi).
Jawaban:
Jika Anda mengklik kanan itu, dan klik Tampilkan Paket Isi Anda akan mendapatkan beberapa file di folder Konten. (Catatan: jika Anda tidak melihat Tampilkan Isi Paket, Anda perlu membuka Terminal.app dan menjalankan
pkgutil --expand mystubbornpackage.pkg path/to/expand
)Salah satunya adalah file BOM (bill of material) yang akan berubah menjadi tanda terima yang dapat Anda gunakan untuk menghapus instalasi aplikasi. File ini berisi manifes segala sesuatu yang paket akan instal dan ke mana; untuk membaca file ini, gunakan perintah lsbom .
Sebagian besar paket (saya menggunakan Office 2008 di sini) juga memiliki file Archive.pax.gz, ini berisi semua yang Installer akan pindah ke berbagai folder seperti yang diperintahkan dalam file BOM. Sebagian besar aplikasi tampaknya memiliki .app dalam arsip ini, meskipun menyeret ke / Aplikasi mungkin meninggalkannya tanpa kerangka kerja yang harus dijalankan; jadi Anda harus mencari tahu file mana yang dibutuhkan dan di mana ia membutuhkannya agar bisa berfungsi.
Selain itu, semua paket dapat mencatat pesan, jika Anda menekan Cmd-L (atau memilih opsi Installer Log dari menu Window , Anda dapat melihatnya saat dibuat. Ini mungkin memberi Anda gambaran tentang hal-hal tambahan apa yang sedang dipasang, di paling tidak itu beberapa informasi lebih lanjut jika Anda tidak percaya paket.
sumber
pkgutil
akan melakukan itu. Anda dapat mengembangkannya menggunakanpkgutil --expand file.pkg path_to_expand
dan itu akan mengubahnya menjadi paket gaya direktori.Selain apa yang dikatakan Matthew Hall, Anda juga dapat menekan Cmd-I di aplikasi Installer untuk melihat file apa yang akan diinstal oleh installer dan di mana.
sumber
Jika Anda tidak cukup mempercayai penginstal untuk memberikan izin administratif untuk menginstal, lalu mengapa Anda mempercayai biner di / Aplikasi?
Pacifist akan membiarkan Anda melihat file paket. Ini tidak selalu membiarkan Anda "mengeluarkan biner".
sumber
Atau Anda dapat mencoba,
ATAU
sumber
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
dan kemudian menyalin file ke lokasi yang Anda inginkan. Sayangnya Anda masih membutuhkan sudo untuk menjalankan installer.Setelah Anda berhasil membuka paket, cari file Archive.pax.gz yang disebutkan sebelumnya.
Buat folder kosong baru di desktop Anda dan beri nama apa pun yang Anda inginkan. Saya biasanya menamai mereka "xxxx" atau "zzzz" dll untuk memudahkan pengetikan nanti.
Opsi-seret salinan file Archive.pax.gz ke folder baru "xxxx" di desktop Anda.
Jika file berada di dalam media baca-saja, Anda cukup menyeretnya ke folder "xxxx" Anda tanpa kunci Opsi untuk membuat salinan.
Sekarang buka Terminal.app dan pada baris perintah navigasikan ke direktori "xxxx" baru Anda dan daftarkan konten direktori untuk mengonfirmasi bahwa file Archive.pax.gz Anda ada di sana:
Sekarang ada dua perintah sederhana untuk dimasukkan:
Gzip akan memberi tahu Anda bahwa ia telah mengganti "Archive.pax.gz" dengan "Archive.pax") Sekarang daftar lagi isi direktori untuk mengonfirmasi hal ini.
(Anda harus berpisah
-r
dan-f
, karena-rf
tidak akan berfungsi)Akhirnya, daftarkan kembali isi direktori dengan
ls -al
. Selain file Archive.pax Anda, Anda sekarang akan melihat hierarki direktori yang mungkin mengandung satu atau lebih direktori.File-file dalam hierarki direktori akan menggambarkan kepada Anda di mana installer OS X akan menginstal file pada sistem Anda seolah-olah direktori "xxxx" Anda adalah direktori root "/".
Anda kemudian dapat secara manual menyalin file-file itu ke tujuan mereka jika Anda mau.
sumber
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. Anda tidak perlu untuk menjelaskan segala sesuatu di yang tingkat detail.pkgutil --expand
gagal bagi saya dengan kesalahan berikut:Error encountered while creating .. Error 17: File exists
Tapi saya berhasil mengekstrak file dengan
xar
:xar -xvf foo.pkg
sumber
Alat terbaik untuk memeriksa file paket adalah Paket Mencurigakan . Ini juga memungkinkan Anda untuk menyalin file dari paket.
Tidak hanya menyediakan semua informasi yang Anda butuhkan di aplikasi, tetapi juga menginstal plug Quick Look jadi hanya memilih file paket dan menekan spasi akan membuka jendela dengan informasi yang paling penting.
sumber
The Unarchiver dapat melakukan hal ini; itu akan melakukan hal yang sama seperti
pkgutil --expand
tetapi menggunakan drag-and-drop. Ini pengganti yang lebih baik untuk Apple's Archive Utility.app lagian.sumber
UnArchiver melakukan trik.
Instal UnArchiver, buka UnArchiver; sementara terbuka - klik dua kali pada sial itu
MAMP_MAMP_3.5.pkg
Ikuti langkah-langkah untuk menginstal MAMP.
sumber