Ich möchte ein Update von App Store-Anwendungen über die Befehlszeile erzwingen.
Wie kann ich das machen?
Ich möchte ein Update von App Store-Anwendungen über die Befehlszeile erzwingen.
Wie kann ich das machen?
Antworten:
Apple stellt keinen Befehlszeilen-Helfer oder skriptfähige Kakao-Klassen zur Verfügung, die Sie für die Automatisierung verwenden können. Im Gegensatz zum allgemeinen Software-Update, bei dem Updates und Installationen sofort möglich sind, können Sie mit Automator Skripte für das Klicken auf Schaltflächen mit einer Maus erstellen.
Der App Store wurde jedoch rückentwickelt und als Open Source sowie als Binärform veröffentlicht :
Die Installation ist schnell und scheint in der aktuellen Version von OS X 10.11 recht zuverlässig zu sein:
brew install argon/mas/mas
Mit der Veröffentlichung der Quelle würde ich erwarten, dass einige andere Implementierungen dieses Tools auftauchen, vielleicht sogar eine, die mit Python geschrieben wurde.
Wenn jemand am Mac angemeldet ist (Windowmanager wird ausgeführt), können Sie Automator und die Funktion "Überwachen" verwenden, um Aktualisierungen zu automatisieren und Ihr Geschäftskennwort ziemlich unsicher im Skript zu speichern.
Im Folgenden finden Sie zwei Tutorials, mit denen Sie beginnen können, wenn dies Ihren Anforderungen entspricht.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Sobald Sie ein funktionierendes Skript haben, können Sie es mit dem Befehlszeilenbefehl open
starten.
Wenn die App Store-App diese Funktion jemals für Skripte verwendet, stehen Ihnen über die Befehlszeile weitere Optionen zur Verfügung. Es wäre einfach zu bedienen sdef
, sdp
und gen_bridge_metadata
auf die gesamten skript Wörterbuch und Skript Dinge mit Ruby - Dump von der Kommandozeile, aber derzeit die beste Option wäre, das verwenden mas
Kommandozeilen - Tool.
softwareupdate
Prozess noch nicht abgeschlossen und kann sogar in den App Store von Mountain Lion eingebunden werden - dies gilt jedoch nur für Apps, die nicht im App Store erhältlich sind.
Der App Store ist einfach nicht für die Administration geeignet. Kaum ein Quasi-Paketmanager, ist es bei weitem nicht so nützlich oder zuverlässig wie echte Paketmanager wie pkgsrc, FreeBSD-Ports, Aptitude, RPM, Macports oder sogar Softwareupdate. Nach meiner Erfahrung ist es unvorhersehbar und ein Bart für kommerzielle Entwickler, ihre Waren zu hocken. Es gibt also wirklich nur eine vernünftige und verantwortungsvolle Art, als kompetenter Administrator mit dem App Store zu arbeiten:
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.store_helper.plist
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.storeagent.plist
sudo mkdir /System/Library/LaunchAgents\ \(disabled\)/
sudo mv /System/Library/LaunchAgents/com.apple.store* /System/Library/LaunchAgents\ \(disabled\)/
Und vergessen Sie es einfach nicht, es wird Sie nicht länger stören. ;-)
Verwenden Sie stattdessen ARD, obwohl es sich nicht um einen Paketmanager handelt, sondern um die Verwaltung von Paketen, Installationen, Updates und Upgrades. Es wird tun, was Sie wollen, Zeit sparen und Sie nicht im Stich lassen:
Für Apple Remote Desktop 3 für 10.9:
Lesen Sie zuerst die Administratoranleitung, um sich davon zu überzeugen, dass dies der richtige Weg ist:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Dann installieren Sie:
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/031-2845.20140313.rerft/RemoteDesktopAdmin372.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin372.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg -target /
Dies kann jedoch einen lustigen Fehler auslösen, wenn 10.9 nicht ausgeführt wird oder wenn keine frühere Version von ARD installiert ist. Wenn dies der Fall ist, versuchen Sie Folgendes:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
oder gleichermaßen (entweder / oder hier muss nicht sowohl pkgutil als auch xar verwendet werden ... ich bin nur gründlich):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
Und wir brauchen das Disk-Image nicht mehr, also werfen Sie es aus:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
Und jetzt, was wirst du sehen, wenn du
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
ist
Bom PackageInfo Payload Scripts
Was in der Payload-Datei enthalten ist, die ein mit gzip komprimiertes cpio-Archiv ist, ist genau das, was Sie suchen. So können wir mit ein paar Pipe-Befehlen zum App-Bundle gelangen:
cat Payload | gzip -d - | cpio -id
ls
kehrt zurück:
Applications Bom Library PackageInfo Payload Scripts
Und du bist fast fertig.
cp -R Applications/Remote\ Desktop.app /Applications/
Jetzt haben Sie Apple Remote Desktop Admin 3.7.2 installiert
Sie müssen also nur noch Ihre Lizenz kaufen:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Starten Sie / Applications / Remote \ Desktop.app und serialisieren Sie. Und etwas Arbeit erledigen.
Für 10.6 Snow Leopard benötigen Sie eine etwas frühere Version von ARD:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
curl -Ok http://supportdownload.apple.com/download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/Mac_OS_X/downloads/041-6789.20120917.xD6TR/RemoteDesktopAdmin353.dmg
hdiutil attach -quiet -noverify -nobrowse -noautoopen RemoteDesktopAdmin353.dmg
sudo installer -pkg /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg -target /
und wenn es dich zurückwirft:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
dann versuche es:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update/RemoteDesktopAdmin353.pkg ARD353
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.5.3\ Admin\ Update
Drilldown zur Payload:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
kehrt zurück:
Bom PackageInfo Payload Scripts
Also laufe:
cat Payload | gzip -d - | cpio -id
ls
kehrt zurück:
Applications Bom Library PackageInfo Payload Scripts
Und du bist fast fertig:
cp -R Applications/Remote\ Desktop.app /Applications/
Kauf deine Lizenz:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Starten Sie / Applications / Remote \ Desktop.app und serialisieren Sie. Und etwas erledigen.
Sie können das softwareupdate
Tool verwenden.
sudo softwareupdate -l
Listet alle verfügbaren Updates auf.
sudo softwareupdate -ia
Installiert alle verfügbaren Updates.