Saya ingin memaksa pembaruan aplikasi App Store dari baris perintah.
Bagaimana saya bisa melakukan ini?
Saya ingin memaksa pembaruan aplikasi App Store dari baris perintah.
Bagaimana saya bisa melakukan ini?
Jawaban:
Apple tidak menyediakan pembantu baris perintah atau kelas kakao skrip yang dapat Anda gunakan untuk otomatisasi. Berbeda dengan pembaruan perangkat lunak secara keseluruhan, yang memungkinkan pembaruan dan pemasangan di luar kotak, Anda dapat membuat skrip proses mengklik tombol dengan mouse menggunakan Automator.
Namun, app store telah direkayasa balik dan dirilis open source serta bentuk biner :
Instalasi cepat dan tampaknya cukup dapat diandalkan pada versi OS X 10.11 saat ini:
brew install argon/mas/mas
Dengan sumber yang dirilis, saya berharap beberapa implementasi lain dari alat ini muncul, mungkin bahkan satu skrip dengan python.
Jika seseorang masuk ke mac (windowmanager sedang berjalan), Anda dapat menggunakan Automator dan fungsi "watch me do" untuk mengotomatiskan pembaruan dan menyimpan kata sandi toko Anda di dalam skrip dengan cukup tidak aman.
Berikut adalah dua tutorial untuk membantu Anda memulai jika ini memenuhi kebutuhan Anda.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Setelah memiliki skrip yang berfungsi, Anda dapat menggunakan perintah baris open
perintah untuk memulai.
Jika aplikasi App Store memaparkan fungsi itu ke skrip, Anda akan memiliki lebih banyak opsi dari baris perintah. Ini akan mudah digunakan sdef
, sdp
dan gen_bridge_metadata
untuk membuang seluruh kamus dan skrip hal-hal skrip menggunakan ruby dari baris perintah, tetapi saat ini pilihan terbaik adalah menggunakan mas
alat baris perintah.
softwareupdate
proses dan bahkan terhubung ke App Store di Mountain Lion - tetapi itu hanya untuk aplikasi non App Store.
App Store sama sekali tidak cocok untuk administrasi. Hampir tidak sebagai manajer paket-kuasi, itu hampir tidak berguna atau dapat diandalkan seperti manajer paket nyata seperti pkgsrc, port FreeBSD, aptitude, RPM, macports atau bahkan pembaruan perangkat lunak. Dalam pengalaman saya, itu tidak dapat diprediksi dan janggut bagi pengembang komersial untuk memperdagangkan barang-barang mereka. Jadi sebenarnya hanya ada satu cara rasional dan bertanggung jawab, sebagai administrator yang kompeten, untuk bekerja dengan App Store:
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\)/
Dan singkirkan saja dari pikiran Anda, itu tidak akan mengganggu Anda lagi. ;-)
Sebaliknya, gunakan ARD, meskipun bukan manajer paket, ini mengelola paket, instalasi, pembaruan, dan peningkatan, itu akan melakukan apa yang Anda inginkan, menghemat waktu Anda, dan tidak akan mengecewakan Anda:
Untuk Apple Remote Desktop 3, untuk 10.9:
Lihat panduan admin terlebih dahulu untuk meyakinkan diri sendiri bahwa ini adalah cara untuk pergi:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Kemudian instal:
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 /
tetapi itu mungkin menimbulkan kesalahan lucu jika tidak menjalankan 10.9, atau jika tidak ada versi ARD sebelumnya diinstal, dan jika ya, coba:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
atau untuk efek yang sama (baik / atau di sini, tidak perlu menggunakan pkgutil dan xar ... Saya hanya menyeluruh):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
Dan kita tidak lagi membutuhkan gambar disk terpasang, jadi keluarkan:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
Dan sekarang apa yang akan Anda lihat jika Anda
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
adalah
Bom PackageInfo Payload Scripts
Apa yang ada di file Payload, yang merupakan arsip cpio yang dikompres dengan gzip, adalah yang Anda cari. Jadi dengan beberapa perintah pipa kita bisa sampai ke bundel aplikasi:
cat Payload | gzip -d - | cpio -id
ls
pengembalian:
Applications Bom Library PackageInfo Payload Scripts
Dan Anda hampir selesai.
cp -R Applications/Remote\ Desktop.app /Applications/
Sekarang Anda telah menginstal Apple Remote Desktop Admin 3.7.2
Jadi yang harus dilakukan hanyalah membeli lisensi Anda:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Peluncuran / Aplikasi / Remote \ Desktop.app dan serialkan Dan menyelesaikan beberapa pekerjaan.
Untuk 10.6 Snow Leopard, Anda memerlukan ARD versi yang sedikit lebih awal:
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 /
dan jika itu membalas Anda:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
lalu coba:
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
telusuri ke Payload:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
pengembalian:
Bom PackageInfo Payload Scripts
Jadi jalankan:
cat Payload | gzip -d - | cpio -id
ls
pengembalian:
Applications Bom Library PackageInfo Payload Scripts
Dan Anda hampir selesai:
cp -R Applications/Remote\ Desktop.app /Applications/
beli lisensi Anda:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Peluncuran / Aplikasi / Remote \ Desktop.app dan serialkan Dan menyelesaikan sesuatu.
Anda bisa menggunakan softwareupdate
alat ini.
sudo softwareupdate -l
Daftar semua pembaruan yang tersedia.
sudo softwareupdate -ia
Instal semua pembaruan yang tersedia.