Einige Anwendungen liegen in .pkg-Dateien vor und fordern Sie zur Eingabe eines Administratorkennworts auf, auch wenn sie lediglich die Binärdatei nach / Applications kopieren.
Ich möchte meine Anwendungen in ~ / Applications haben, und ich möchte keine administrativen Berechtigungen für etwas erteilen, das nicht aus dem Mutterschiff stammt.
Gibt es eine Möglichkeit, wie ich die .pkg-Datei manuell öffnen und die Anwendung herausziehen kann? Es gibt PackageMaker in den Entwicklertools, aber das scheint es nicht zu tun (es hat eine Ausgabe erzeugt, die mich glauben lässt, dass es wirklich keine Skripte oder andere Teile im Installationsprogramm gibt, nur die Anwendung).
Antworten:
Wenn Sie mit der rechten Maustaste darauf klicken und auf Paketinhalt anzeigen klicken, werden einige Dateien in einem Inhaltsordner angezeigt. (Hinweis: Wenn Paketinhalt nicht anzeigen angezeigt wird, müssen Sie Terminal.app öffnen und ausführen.
pkgutil --expand mystubbornpackage.pkg path/to/expand
)Eine davon ist eine Stücklistendatei (Stückliste), die in eine Quittung umgewandelt wird, mit der Sie die App deinstallieren können. Diese Datei enthält ein Manifest von allem, was das Paket installieren wird und wohin; Verwenden Sie zum Lesen dieser Datei den Befehl lsbom .
Die meisten Pakete (ich verwende hier Office 2008) haben auch eine Datei Archive.pax.gz. Diese enthält alles, was Installer in die verschiedenen Ordner verschieben wird, wie in der Stücklistendatei angegeben. Die meisten Apps scheinen die .app in diesem Archiv zu haben, aber wenn Sie diese nach / Applications ziehen, bleibt sie möglicherweise ohne Frameworks, die ausgeführt werden müssen. Sie müssen also herausfinden, welche anderen Dateien benötigt werden und wo sie benötigt werden, damit sie funktionieren.
Darüber hinaus können alle Pakete Nachrichten protokollieren, wenn Sie Cmd-L drücken (oder die Option Installer Log im Menü Window auswählen , können Sie diese beim Generieren anzeigen. Auf diese Weise erhalten Sie möglicherweise eine Vorstellung davon, welche zusätzlichen Dinge installiert werden Zumindest sind es mehr Informationen, wenn Sie dem Paket nicht vertrauen.
quelle
pkgutil
wird das machen. Sie können es mit erweiternpkgutil --expand file.pkg path_to_expand
und es wird in ein Paket im Verzeichnisstil konvertiert.Zusätzlich zu dem, was Matthew Hall gesagt hat, können Sie auch Cmd-I in der Installer-App drücken, um zu sehen, welche Dateien der Installer wo installiert.
quelle
Wenn Sie dem Installationsprogramm nicht genug vertrauen, um Administratorrechte für die Installation zu erteilen, warum vertrauen Sie dann der Binärdatei in / Applications?
Mit Pacifist können Sie in Paketdateien suchen. Dies lässt Sie nicht unbedingt nur "die Binärdatei herausziehen".
quelle
Alternativ können Sie versuchen,
ODER
quelle
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
und die Dateien dann an die von Ihnen bevorzugten Speicherorte zu kopieren. Du brauchst immer noch das sudo, um das Installationsprogramm auszuführen.Suchen Sie nach dem erfolgreichen Öffnen des Pakets nach der zuvor erwähnten Datei Archive.pax.gz.
Erstellen Sie einen neuen leeren Ordner auf Ihrem Desktop und benennen Sie ihn nach Ihren Wünschen. Normalerweise nenne ich sie "xxxx" oder "zzzz" usw., um das spätere Tippen zu erleichtern.
Ziehen Sie bei gedrückter Wahltaste eine Kopie der Datei Archive.pax.gz in den neuen Ordner "xxxx" auf Ihrem Desktop.
Befindet sich die Datei in einem schreibgeschützten Medium, können Sie sie ohne die Wahltaste in Ihren Ordner "xxxx" ziehen, um eine Kopie zu erstellen.
Öffnen Sie nun Terminal.app und navigieren Sie in der Befehlszeile zu Ihrem neuen "xxxx" -Verzeichnis und listen Sie den Inhalt des Verzeichnisses auf, um zu bestätigen, dass Ihre Datei Archive.pax.gz vorhanden ist:
Nun müssen zwei einfache Befehle eingegeben werden:
Gzip teilt Ihnen mit, dass es "Archive.pax.gz" durch "Archive.pax" ersetzt hat.) Listen Sie nun den Inhalt des Verzeichnisses erneut auf, um dies zu bestätigen.
(Sie müssen sich trennen
-r
und-f
, wie-rf
es nicht funktionieren wird)Listen Sie abschließend den Inhalt des Verzeichnisses erneut mit auf
ls -al
. Zusätzlich zu Ihrer Datei Archive.pax sehen Sie jetzt eine Verzeichnishierarchie, die wahrscheinlich ein oder mehrere Verzeichnisse enthält.Die Dateien in dieser Verzeichnishierarchie veranschaulichen Ihnen, wo das OS X-Installationsprogramm Dateien auf Ihrem System installieren würde, als ob Ihr "xxxx" -Verzeichnis das Stammverzeichnis "/" wäre.
Sie können diese Dateien dann manuell an ihre Ziele kopieren, wenn Sie dies wünschen.
quelle
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. Sie müssen nicht alles auf dieser Detailebene beschreiben.pkgutil --expand
schlug bei mir mit folgendem fehler fehl:Error encountered while creating .. Error 17: File exists
Aber ich habe es
xar
stattdessen geschafft, die Dateien mit zu extrahieren :xar -xvf foo.pkg
quelle
Das beste Tool zum Überprüfen von Paketdateien ist Suspicious Package . Sie können damit auch Dateien aus dem Paket kopieren.
Es bietet nicht nur alle Informationen, die Sie in der App benötigen, sondern installiert auch ein Quick Look-Plug-In. Wenn Sie die Paketdatei auswählen und die Leertaste drücken, wird ein Fenster mit den wichtigsten Informationen geöffnet.
quelle
Der Unarchiver kann dies tun; es wird dasselbe tun wie
pkgutil --expand
mit Drag & Drop. Es ist sowieso ein besserer Ersatz für Apples Archive Utility.app.quelle
UnArchiver hat es geschafft.
Installieren Sie UnArchiver, öffnen Sie UnArchiver. während es geöffnet ist - doppelklicken Sie auf das lästige
MAMP_MAMP_3.5.pkg
Befolgen Sie die Schritte, um MAMP zu installieren.
quelle