Я б хотів змусити оновити програми App Store з командного рядка.
Як я можу це зробити?
Я б хотів змусити оновити програми App Store з командного рядка.
Як я можу це зробити?
Відповіді:
Apple не постачає помічників командного рядка або будь-яких класів какао, які можна писати, до яких можна зав'язатись для автоматизації. На відміну від загального оновлення програмного забезпечення, яке дозволяє оновлювати та встановлювати поза коробкою, ви можете скриптувати процес натискання кнопок мишею за допомогою Automator.
Однак магазин додатків був розроблений з реверсом і випустив відкритий код , а також двійкову форму :
Установка швидка, і вона видається досить надійною в поточній версії OS X 10.11:
brew install argon/mas/mas
З випущеним джерелом, я б очікував, що з'являться інші реалізації цього інструменту, можливо, навіть одна сценарій з python.
Якщо хтось увійшов у mac (запускається вікно управління), ви можете використовувати Automator та функцію "спостерігати за тим", щоб автоматизувати оновлення та зберігати пароль магазину в скрипті досить невпевнено.
Ось два навчальні посібники для початку роботи, якщо це відповідає вашим потребам.
http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/
http://automator.us/leopard/features/virtual-user.html
Коли у вас є робочий сценарій, ви можете використовувати команду командного рядка, open
щоб розпочати його.
Якщо додаток App Store коли-небудь підводить цю функцію до сценаріїв, у вас буде більше варіантів командного рядка. Було б легко використовувати sdef
, sdp
і gen_bridge_metadata
щоб скинути всі скрипти словника і скріптові речі , використовуючи рубін з командного рядка, але в даний час кращого варіантом буде використовувати mas
інструмент командного рядка.
softwareupdate
процес, і вона навіть підключається до App Store на Mountain Lion - але це лише для додатків App Store.
App Store просто не підходить для адміністрування. Ледь не квазіпакетний менеджер, він не є настільки корисним або надійним, як реальні менеджери пакунків, такі як pkgsrc, порти FreeBSD, здатність, RPM, макпорти або навіть оновлення програмного забезпечення. На мій досвід, комерційним розробникам непередбачувано боротися за вироби. Отже, як компетентний адміністратор, є лише один раціональний та відповідальний спосіб роботи з 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\)/
І просто винесіть це з розуму, це більше не турбуватиме вас. ;-)
Замість цього використовуйте ARD, хоча це не менеджер пакунків, він керує пакунками, установками, оновленнями та оновленнями, він зробить все, що завгодно, заощадить ваш час і не підведе:
Для Apple Remote Desktop 3, для 10,9:
Спершу перегляньте посібник адміністратора, щоб переконати себе, що це шлях:
curl -Ok http://images.apple.com/ca/fr/remotedesktop/pdf/ARD3_AdminGuide.pdf
open ARD3_AdminGuide.pdf
Потім встановіть:
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 /
але це може спричинити смішну помилку, якщо не запущено 10.9, або якщо не встановлена попередня версія ARD, і якщо вона є, спробуйте:
pkgutil --expand /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg ARDexpanded/
або з рівним ефектом (або / або тут, не потрібно використовувати як pkgutil, так і xar ... я просто ретельно):
mkdir ARDexpanded
cd ARDexpanded
xar -xf /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/RemoteDesktopAdmin372.pkg
І нам більше не потрібно додавати зображення диска, тому виймайте його:
hdiutil detach -quiet /Volumes/Apple\ Remote\ Desktop\ 3.7.2\ Admin\ Update/
А тепер що ти побачиш, якщо ти
cd ARDexpanded/RemoteDesktopAdmin372.pkg/
ls
є
Bom PackageInfo Payload Scripts
Це те, що у файлі Payload, який є архівом cpio, стисненим gzip, - це те, що ви шукаєте. Таким чином, за допомогою декількох команд, що передаються в трубопроводі, ми можемо дістатися до пакету програм:
cat Payload | gzip -d - | cpio -id
ls
повертає:
Applications Bom Library PackageInfo Payload Scripts
І ви майже закінчили.
cp -R Applications/Remote\ Desktop.app /Applications/
Тепер ви встановили Apple Remote Desktop Admin 3.7.2
Отже, все, що вам потрібно зробити - це придбати вашу ліцензію:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Запустіть / Програми / Віддалене \ Desktop.app та серіалізуйте. І займіться деякою роботою.
Для 10.6 Snow Leopard вам знадобиться трохи більш рання версія 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 /
і якщо це відкине на вас це:
installer: Cannot install on volume / because it is disabled.
installer: This update could not find Remote Desktop on this volume.
то спробуйте:
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
перейти до корисного навантаження:
cd ARD353/RemoteDesktopAdmin353.pkg/
ls
повертає:
Bom PackageInfo Payload Scripts
Тож біжіть:
cat Payload | gzip -d - | cpio -id
ls
повертає:
Applications Bom Library PackageInfo Payload Scripts
І ви майже закінчили:
cp -R Applications/Remote\ Desktop.app /Applications/
придбайте ліцензію:
open http://store.apple.com/us_smb_78313/product/D6020Z/A/apple-remote-desktop-3-volume-licenses-20-seats-price-is-per-seat
Запустіть / Програми / Віддалене \ Desktop.app та серіалізуйте. І зробити щось.
Можна скористатися softwareupdate
інструментом.
sudo softwareupdate -l
Список усіх доступних оновлень.
sudo softwareupdate -ia
Встановлює всі доступні оновлення.