명령 줄에서 App Store 애플리케이션을 업데이트하는 방법은 무엇입니까?


18

명령 줄에서 App Store 응용 프로그램을 강제로 업데이트하고 싶습니다.

어떻게해야합니까?


2
전체 소프트웨어 업데이트와 같은 명령 줄 도우미는 나타나지 않으므로 GUI 명령을 자동화하는 스크립트를 시작하는 것으로 제한 될 수 있습니다. "작동하는"솔루션이 터미널 일 것으로 예상되거나 요청 될 때 암호를 입력하는 Automator 스크립트가 원하는 것이 있는지 확인하기 위해 질문을 편집 하시겠습니까?
bmike

무인 된 것을 찾고 있는데, 여전히 AppleID ID / 암호가 필요한 경우 스크립트에 포함시킬 수 있습니다.
sorin

1
타사 응용 프로그램을 호출하는 솔루션에 대해서는 apple.stackexchange.com/questions/42353/… 도 참조하십시오
bmike

답변:


6

Apple은 자동화를 위해 잠글 수있는 명령 줄 도우미 나 스크립트 가능한 코코아 클래스를 제공하지 않습니다. 즉시 업데이트 및 설치가 가능한 전체 소프트웨어 업데이트와 달리, Automator를 사용하여 마우스로 버튼을 클릭하는 프로세스를 스크립팅 할 수 있습니다.

그러나 앱 스토어는 리버스 엔지니어링되어 오픈 소스 와 바이너리 형식을 출시했습니다 .

설치가 빠르며 현재 버전의 OS X 10.11에서 매우 안정적인 것으로 보입니다.

brew install argon/mas/mas 

소스가 공개되면이 도구의 다른 구현, 아마도 파이썬으로 작성된 스크립트가 나타날 것으로 기대합니다.

누군가가 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명령 줄 도구를.


1
와, 정말 짜증나. 일반적인 소프트웨어 업데이트는 softwareupdate (8)를 사용하여 쉽게 스크립팅 할 수 있습니다.
Arne

2
방금 기록을 밝히고 싶었습니다 .Apple이 App Store 설치 및 업데이트를 자동화하는 데 도움이되는 도구 또는 후크 또는 지원을 제공하지 않기로 결정한 것은 분명합니다. 핵심 시스템에는 여전히 softwareupdate프로세스가 있으며 Mountain Lion의 App Store에 연결되기도하지만 비 App Store 앱 전용입니다.
bmike

4

App Store는 단순히 관리에 적합하지 않습니다. 준 패키지 관리자는 거의 없지만 pkgsrc, FreeBSD 포트, 적성, RPM, macports 또는 심지어 소프트웨어 업데이트와 같은 실제 패키지 관리자만큼 유용하거나 신뢰할 수는 없습니다. 내 경험상, 상업용 개발자가 자신의 실력을 쌓는 것은 예측할 수없는 수염입니다. 따라서 유능한 관리자로서 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

gzip으로 압축 된 cpio 아카이브 인 Payload 파일의 내용은 다음과 같습니다. 따라서 몇 가지 파이프 명령을 사용하면 앱 번들로 이동할 수 있습니다.

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

/ Applications / Remote \ 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

/ Applications / Remote \ Desktop.app을 시작하고 직렬화하십시오. 그리고 무언가를 끝내십시오.


1
좋은 대답은 터미널에서 할 수있는 많은 새로운 것을 배웠습니다. +1
shrx

1

softwareupdate도구 를 사용할 수 있습니다 .

sudo softwareupdate -l

사용 가능한 모든 업데이트를 나열합니다.

sudo softwareupdate -ia

사용 가능한 모든 업데이트를 설치합니다.


Appstore 애플리케이션에서는 작동하지 않으며 Apple 패키지에서만 작동합니다.
Brice

또한보십시오 : man softwareupdate
Billy McCloskey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.