.Pkg dosyasını manuel olarak nasıl açabilirim?


60

Bazı uygulamalar .pkg dosyalarına gelir ve tek yaptıkları dosyayı / Uygulamalar'a kopyalasalar bile, sizden yönetici şifresi ister.

Başvurularımı ~ / Uygulamalar bölümünde yaptırmayı seviyorum ve annelikten başka hiçbir şeye idari izinler vermeyi sevmiyorum.

.Pkg dosyasını el ile açıp uygulamayı açmamın bir yolu var mı? Geliştirici Araçlarında PackageMaker var, ancak bunu yapmıyor gibi görünüyor (bana yükleyicide gerçekten sadece komut dosyaları veya diğer parçalar olmadığını düşündüren bazı çıktılar verdi, sadece uygulamada).


2
Unpkg'yi deneyin .
12'de lhf

Yanıtlar:


67

Sağ tıklarsanız ve Paket İçeriğini Göster'i tıklatırsanız , bir İçindekiler klasöründe birkaç dosya alırsınız. (Not: Paket İçeriğini Göster'i göremiyorsanız Terminal.app'i açmanız ve çalıştırmanız gerekir pkgutil --expand mystubbornpackage.pkg path/to/expand)

Bunlardan biri, uygulamayı kaldırmak için kullanabileceğiniz bir makbuz haline getirilen bir BOM dosyası (malzeme listesi). Bu dosya, paketin kuracağı ve nereye yükleneceği ile ilgili bir bildiri içerir; bu dosyayı okumak için lsbom komutunu kullanın.

Çoğu paket (burada Office 2008 kullanıyorum) ayrıca bir Archive.pax.gz dosyasına sahiptir, bu, Yükleyicinin BOM dosyasında belirtildiği şekilde çeşitli klasörlere taşıyacağı her şeyi içerir. Çoğu uygulama bu arşivde .app'a sahip gibi gözükse de, bunu / Uygulamalara sürüklemek için çalışması gereken çerçeveler olmadan bırakabilir; bu yüzden başka hangi dosyalara ihtiyaç duyduğunu ve çalışmak için nerede ihtiyaç duyduklarını bulmak zorundasınız.

Ek olarak, tüm paketler mesajları günlüğe kaydedebilir, Cmd-L'ye basarsanız (veya Pencere menüsünden Yükleyici Günlüğü seçeneğini seçerseniz, bunları oluşturuldukları şekilde görüntüleyebilirsiniz.) En azından paketin güvenilmez iseniz daha fazla bilgi.


3
Sağ tıklama menüsünde "Paket İçeriğini Göster" ifadesini almıyorum.
Thilo

3
@Thilo "Paket İçeriğini Göster" seçeneğini alamıyorsanız, pkg dosyası düz bir dosya olarak oluşturuldu. Apple birkaç yıl önce düz stil pkg's'ı sundu
kullanıcı adı

@ username: Peki bunları nasıl açarım?
Thilo

10
pkgutilbunu yapacak. Kullanarak genişletebilirsiniz pkgutil --expand file.pkg path_to_expand; bir dizin stili paketine dönüştürür.
Mathew Hall

@ kullanıcı adı, "düz" bile ne anlama geliyor?
Pacerier

34

Matthew Hall'ın söylediğine ek olarak, yükleyicinin hangi dosyaları yükleyeceğini ve nereye yükleyeceğini görmek için Yükleyici uygulamasında Cmd-I tuşlarına da basabilirsiniz.


3
+1. Bununla, sadece sistemdeki başka bir şey olmayan uygulama ikilisinin olduğunu doğrulayabilirim.
Thilo

7

Yükleyiciye yüklenmesine izin verecek yönetimsel izinleri verecek kadar güvenmiyorsanız, neden / uygulamalarında ikili dosyaya güveniyorsunuz?

Pacifist paket dosyalarına bakmanıza izin verir. Bu mutlaka "ikiliyi çıkarmanıza" izin vermez.


1
Ben de ikiliye güvenmiyorum. Buna asla idari izinler vermek istemiyorum (ki yine de ihtiyacı olmamalı).
Thilo

3
Uygulamayı yönetici ayrıcalıklarına sahip herhangi bir kullanıcıdan çalıştırmadığınız sürece, güveniniz korunacaktır. Bir kullanıcı seviyesi uygulamasının bile yönetici seviyesindeki işlemlerden taleplerde bulunabileceğini unutmayın, bu yüzden gerçekten güvenmediğiniz uygulamaları çalıştırmak çok fazla iş gerektirir.
bmike

@ghoppe, Çünkü varsayılanlar bazen kullanıcılar için değil uygulama yaratıcıları için optimize edilmiş değildir. Örneğin, varsayılan olarak gelen tüm yükleme önemsiz yüklemek yerine, yalnızca özü olan dosyaları almayı seçebilirim. Örneğin vb MySQL / Java / indirirken
Pacerier

4

Alternatif olarak deneyebilirsiniz,

sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

VEYA

installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

Bu maalesef işe yaramadı. Yine de / "Temel yolda yükleme" konusunda ısrar etti ve yönetici şifresini istedi.
Thilo

1
Gibi bir şey ile oluşturulan bir disk görüntüsüne yüklemek hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmgve sonra dosyaları tercih ettiğiniz yerlere kopyalamak mümkündür. Maalesef yükleyiciyi çalıştırmak için sudoya ihtiyacınız var.
mjs

2
  1. Paketi açmayı başardıktan sonra, daha önce bahsedilen Archive.pax.gz dosyasını arayın.

  2. Masaüstünüzde, istediğiniz şekilde adlandıran yeni bir boş klasör oluşturun. Daha sonra yazmayı kolaylaştırmak için genellikle "xxxx" veya "zzzz" vb.

  3. İsteğe bağlı olarak Archive.pax.gz dosyasının bir kopyasını masaüstünüzdeki bu "xxxx" klasörüne sürükleyin.

    Dosya salt okunur ortamın içindeyse, kopya oluşturmak için Seçenek tuşu olmadan dosyayı "xxxx" klasörünüze sürükleyebilirsiniz.

  4. Şimdi Terminal.app'i açın ve komut satırında yeni "xxxx" dizininize gidin ve Archive.pax.gz dosyanızın bulunduğunu doğrulamak için dizinin içeriğini listeleyin:

    cd ~/Desktop/xxxx
    ls -al
    
  5. Şimdi girmeniz gereken iki basit komut var:

    gunzip -v Archive.pax.gz
    

    Gzip size "Archive.pax.gz" ifadesinin "Archive.pax" ile değiştirildiğini söyleyecektir.) Şimdi bunu doğrulamak için yönetmenin içeriğini tekrar listeleyin.

    pax -r -f Archive.pax
    

    (Sen ayırmalısınız -rve -fgibi -rfçalışmaz)

  6. Son olarak, yönetmenin içeriğini tekrar ile listeleyin ls -al. Archive.pax dosyanıza ek olarak, şimdi muhtemelen bir veya daha fazla dizin içeren bir dizin hiyerarşisi göreceksiniz.

    Bu dizin hiyerarşisindeki dosyalar, OS X yükleyicisinin sisteminize dosyaları "xxxx" dizininiz "/" kök diziniymiş gibi yükleyeceği yeri gösterir.

  7. Ardından, isterseniz bu dosyaları hedeflerine manuel olarak kopyalayabilirsiniz.


3
Başka bir deyişle cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax. Her şeyi bu ayrıntı düzeyinde tanımlamanıza gerek yok .
Lri

6
Lri, bu kadar detay verdim, böylece herhangi bir uzmanlık seviyesindeki kullanıcılar bunu takip edebilecek ve başarılı olabilecekler. Verilmiş, şifreli sürümünüz aynı sonuçları elde eder. Ancak, gelecekte bunu okuyan komut satırına aşina olmayan diğer kullanıcılar umutsuzca kaybolabilir.
stargood

1

pkgutil --expand Aşağıdaki hata ile benim için başarısız oldu:

Error encountered while creating .. Error 17: File exists

Ancak xarbunun yerine dosyaları açmayı başardım :

xar -xvf foo.pkg


1
bu benim için çalışıyor. fakat görünüşe göre pkgutil'e 17 hatasını ortadan kaldıran hedef olarak varolmayan bir dizin verirseniz.
Michael

1

Paket dosyalarını incelemek için en iyi araç Şüpheli Paket'dir . Ayrıca dosyaları paketten kopyalamanıza olanak tanır.

Sadece uygulamada ihtiyaç duyduğunuz tüm bilgileri sağlamakla kalmaz, aynı zamanda Hızlı Bak eklentisini de kurar, böylece sadece paket dosyasını seçerek boşluk çubuğuna basmak en temel bilgileri içeren bir pencere açar.


0

Unarchiver yapabilirsiniz; aynısını pkgutil --expandsürükle ve bırak yöntemiyle aynı şekilde yapar . Zaten Apple'ın Archive Utility.app için daha iyi bir yedek.


0

Unversch hile yaptı.

UnArchiver'ı yükleyin, UnArchiver'ı açın; açık iken - o sinir bozucu çift tıklayınMAMP_MAMP_3.5.pkg

MAMP'ı yüklemek için adımları izleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.