Unbeaufsichtigte Installation der pkg-Datei

14

Gibt es eine Möglichkeit, eine unbeaufsichtigte Installation eines Pakets pkg zu erstellen?

ZB ein mpkg erstellen und ein Skript ausführen, das das Paket über die Konsole und den Installer installiert.

Hintergrund: Ich musste ein Paket für viele OSX-Endbenutzer bereitstellen. Wir haben keinen Apple Desktop und keinen Root-Zugriff auf diese Maschinen. Dies ist ein vorkonfiguriertes Paket, aber wenn der Benutzer es auf normale Weise startet, wird die Vorkonfiguration überschrieben. Unter Windows verwirkliche ich dies mit einem selbstausführbaren Archiv, das eine MSI mit unbeaufsichtigter Installation startet. Unter Linux baue ich rpm / deb-Pakete, aber unter OSX habe ich keinen richtigen Weg gefunden :(

Megachip
quelle

Antworten:

17

Kurze Antwort: ja.

Lange Antwort: Ja, aber… eine vollständige Antwort auf diese Frage beinhaltet eine technische Antwort und ein praktisches Anliegen.

Zunächst die technische Antwort

Sie können ein .pkg oder .mpkg mit folgender Syntax installieren:

sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"

Wenn das Installationsprogramm nicht ordnungsgemäß signiert ist, müssen Sie es hinzufügen -allowUntrusted

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"

Möglicherweise müssen Sie auch angeben, wo es installiert werden soll -target /(ich bin nicht zu 100% sicher, dass dies erforderlich ist , aber es ist eine gute Idee):

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /

Das Problem ist nun, dass sudoSie nach Ihrem Administratorkennwort gefragt werden, wenn Sie versuchen, das Programm auszuführen installer. Wenn Sie dies automatisieren möchten, müssen Sie Ihren Mac anweisen, kein sudoKennwort einzugeben, wenn Sie das Installationsprogramm ausführen. Dazu können Sie Ihrer /etc/sudoersDatei folgende Zeile hinzufügen :

%admin ALL=NOPASSWD: /usr/sbin/installer

Siehe man visudoAnweisungen zum der Datei bearbeiten.

Zweitens das praktische Anliegen

Wenn Sie die einzige Person sind, die Ihren Mac verwendet, ist das Hinzufügen der obigen Zeile /etc/sudoerskeine große Sache.

Wenn es sich jedoch um einen freigegebenen Mac handelt, können andere Personen in der Gruppe "admin" ausgeführt werden, /usr/sbin/installerohne dass Sie zur Eingabe ihres Kennworts aufgefordert werden.

Wenn jemand auf Ihr Administratorkonto gelangt, kann er theoretisch ebenfalls Unheil anrichten /usr/sbin/installer. Obwohl ich nicht genau überlegen kann, was sie tun würden, ist dies ein Kompromiss zwischen Sicherheit und Komfort.

Drittens ein Github-Skript

Ich habe pkginstall.sh geschrieben , um ein paar nette Dinge wie das Protokollieren des Prozesses zu erledigen und Ihnen mitzuteilen, ob Sie nach der Installation des Pakets einen Neustart durchführen sollen oder nicht.

Last but not least: Automatisieren Sie "wie?"

Inwieweit Sie die Installation automatisieren möchten, hängt davon ab, was Sie im Einzelnen tun möchten. Sie können beispielsweise einen Ordner wie ~ / Action / AutoInstallPKG / launchderstellen und anweisen, alle zu diesem Ordner hinzugefügten .pkg- oder .mpkg-Dateien zu installieren und anschließend zur Seite zu verschieben.

Ich wollte so etwas schon lange machen und habe es dann endlich zusammengestellt. Sie finden es unter https://github.com/tjluoma/autopkginstall . Installationsanweisungen sind bei Github enthalten, daher werde ich sie hier nicht wiederholen.

TJ Luoma
quelle
Das ist ein großer Schritt vorwärts für mich, aber immer noch nicht die endgültige Lösung. Ich muss ein Paket auf vielen verschiedenen Macs bereitstellen (so dass Sudoes keine Option sind), bei denen Benutzer die Konfiguration nicht ändern dürfen. Also der beste Weg (was unter Windows und Linux funktioniert), wo der Benutzer auf eine Datei klicken kann und der Rest automatisch erledigt wird. Aber ich überprüfe Ihre Lösung, möglich in Kombination mit Eisberg oder Paketen, ich kann eine passende Lösung finden. Hoffe also, dass es in
Ordnung
3
Für eine spätere Bezugnahme wäre es auch hilfreich, solche Details in Ihre erste Frage aufzunehmen. Die Antwort für einen Endbenutzer, der Installationen auf seinem System automatisieren möchte, ist eine völlig andere für jemanden, der versucht, sie auf viele Macs und viele Betriebssysteme zu verteilen. Es ist unwahrscheinlich, dass Sie einen Weg finden, der unter Windows, Linux und Mac OS X auf die gleiche Weise funktioniert. Sogar Unternehmen, die so groß wie Dropbox sind, haben unterschiedliche Installationsprogramme für jedes Betriebssystem.
TJ Luoma
Du hast recht, tut mir leid. Möglicherweise sollte ich dies der Frage hinzufügen.
Megachip
Nochmals vielen Dank für all Ihre Arbeit, ich habe meine Frage konkret [hier] ( apple.stackexchange.com/questions/120026/… ). Ihre Autopkginstall ist eine nette Sache, aber es erfordert, dass ich diese auf jedem Client "installiert" habe, was nicht möglich ist. Sieht so aus, als wäre meine Frage hier nicht konkret genug. Entschuldigung
Megachip
2

Ich denke, Sie könnten Ihrer eigenen Antwort sehr nahe kommen. Sie erwähnen, dass Sie nicht über Apple Remote Desktop verfügen. Ich würde empfehlen, es für das, was Sie versuchen, in Betracht zu ziehen. Ich verwende es so, wie Sie es die ganze Zeit beschreiben. Ich habe eine .pkg-Datei, die auf mehreren Computern in meinem LAN installiert werden muss. Ich hebe die Computer hervor, auf denen es installiert werden soll, und sage Remotedesktop, dass es installiert werden soll. Es macht viel mehr als das, aber es wird diese Remote-Installationen für Sie erledigen. Eine Lizenz mit unbegrenzten Kunden kostet 80 US-Dollar.

Wenn die $ 80 ein Knackpunkt ist - könnte man sich anschaut , munki , das ist

"Eine Reihe von Tools, die zusammen mit einem Webserver-basierten Repository von Paketen und Paketmetadaten von OS X-Administratoren zum Verwalten von Software-Installationen (und in vielen Fällen zum Entfernen) auf OS X-Client-Computern verwendet werden können."

Ich habe es nicht selbst benutzt, aber ich habe großen Respekt vor den Leuten, die es programmieren und im wirklichen Leben benutzen. Es ist etwas besser eingerichtet und funktioniert besser als Remotedesktop, bietet jedoch auch viel mehr Optionen.

Hoffentlich können Sie eines dieser beiden Programme verwenden, um das zu tun, wonach Sie suchen.

böser Blender
quelle
Ja, aber soweit ich weiß, benötigen Sie Root-Zugriff für die Verwendung des Remotedesktops?
Megachip
Sie benötigen Administratorzugriff, um den Remotedesktop auf den Clientcomputern einzurichten. ARD lässt Sie nicht einfach Dateien auf jedem Mac installieren, den Sie in einem Netzwerk sehen. :)
evilblender
Diese Möglichkeit ist leider nicht gegeben.
Megachip
2

Schließlich muss ich dank der dr.nixon- Lösung meiner konkreten Frage die Erstellung einer unbeaufsichtigten Installation übernehmen, wie in der Frage über Platypus beschrieben .

Der Benutzer muss die App starten, der Rest wird automatisch erledigt.

Megachip
quelle
Benutzer können es in Startelemente einfügen, damit es immer beim Booten gestartet wird.
AnneTheAgile