Mac App Store에서 앱 설치 또는 업그레이드를 스크립트하려면 어떻게해야합니까? 커맨드 라인 도구를 선호하지만 AppleScript 또는 다른 API로 충분합니다.
관련 퍼즐 조각 :
installer
: 특히-store
패키지 개발자를위한 App Store 설치를 시뮬레이션하는 데 사용되는 플래그에 유의하십시오 .systemupdate
: Apple 앱에 대한 업데이트 처리 가능, 플래그-i
설치 및-a
사용 가능한 모든 업데이트 설치 지시
답변
대부분의 사람들은 자동 업데이트를 켜고 Apple이 모든 업데이트를 관리하도록 할 수 있습니다. 그렇게 할 수없는 이유가 있다면 App Store 설치 및 업데이트를 자동화하는 명령 줄 도구가 있습니다.
명령 줄에서 Mac App Store를 복제하는 주목할만한 오픈 소스 도구 중 하나는 mas입니다 .
설치하기 위해서:
brew install mas
들어 오면 다음과 같이 사용 가능한 모든 앱을 업데이트 할 수 있습니다.
mas upgrade
Apple ID로 타사 소프트웨어를 신뢰하지 않으려면 UI를 자동화하고 키 체인을 사용하여 계정 이름과 비밀번호를 저장할 수 있습니다.
비 App Store 보안 패치 및 업데이트를위한 Apple 솔루션 softwareupdate
은 명령 줄에서 도구 를 실행하여 사용자 개입없이 또는 App Store UI를 거치지 않고 Apple이 설치하려는 모든 소프트웨어를 업데이트하는 것입니다.
현재 Lion and Mountain Lion에서-이는 Mac이 App Store 외부에 설치된 시스템 업데이트 및 소프트웨어 다운로드를 캐싱하는 로컬 OS X 서버에 충돌 함을 의미합니다. 로컬 소프트웨어 업데이트 서버가없는 경우 Apple에서 직접 파일을 다운로드합니다.
Mountain Lion 10.8.2 이하의 경우 모든 것이 여전히 App Store를 통해 제공되므로 OS X 업데이트와 같은 Apple 소프트웨어는이 도구를 사용하여 업데이트 및 비 App Store 업데이트에만 완벽하게 스크립팅 할 수 있습니다.
스크립팅 할 수없는 (아직 또는 아마도) Xcode 및 Pages 및 타사 응용 프로그램과 같이 App Store에서 설치되는 응용 프로그램입니다. 즉, App Store 앱을 열고 사용자 인터페이스 화면에서 암호를 입력하지 않고 모든 소프트웨어를 업데이트하는 도구를 하나만 가질 수는 없습니다.
앱의 첫 번째 복사본을 다운로드하는 데 사용 된 Apple ID가 앱을 실행할 모든 Mac에서 사용되는 한 앱을 한 번 다운로드 한 다음 여러 Mac에 앱을 복사하면됩니다.
컴퓨터 한 대당 20 대의 컴퓨터 실습을 위해 각 앱의 사본 하나를 구입하여 각 좌석에 대한 라이센스를 얻지 만 한 번의 업데이트 다운로드가 완료되면 Apple Remote Desktop 과 같은 도구를 하나의 파일을 모든 Mac에 배포합니다. 또는 Caspar 또는 집에서 만든 도구와 같 scp
거나 rsync
업데이트 된 버전의 앱을 실험실의 모든 Mac으로 이동하는 데 사용됩니다.
각 컴퓨터의 개별 Apple ID 경로를 사용하는 경우 모든 암호를 알고 AppleScript가 할 수있는 곳에서 UI 스크립팅을 수행하지 않는 한 각 계정의 암호를 요청하기 때문에 App 업데이트 설치를 스크립팅 할 수 없습니다 프로그래밍 방식으로 올바른 사용자 이름과 비밀번호를 입력 한 다음 버튼을 클릭하여 각 컴퓨터의 업데이트에 대한 다운로드 프로세스를 시작하십시오. 앱 스토어 앱에 코드 서명 방식을 사용하면 패키지를 무효화하거나 전체 앱 스토어 프로세스를 리버스 엔지니어링 / 탈옥하고 앱 설치 프로그램이 작동하게하는 일반적인 흐름을 회피하지 않고 업데이트를 슬라이드하기가 어려워집니다.
답변
이것은 오픈 소스 mas
명령 행 유틸리티를 사용하여 가능 합니다.
마스 클리
Mac App Store를위한 간단한 명령 줄 인터페이스입니다. 스크립팅 및 자동화를 위해 설계되었습니다.
공개 : 나는 mas
답변
새싹 랩 과 솔로이스트 를 확인하고 싶을 수도 있습니다 . dmg_package
제공자를 사용하여 URI에서 OSX 패키지를 설치할 수 있습니다 . 몇 가지 예를 보려면 새싹 의 요리법 중 일부를 확인하십시오 .
보안 업데이트를 자동 업데이트하려면 pivotal_workstation :: osx_updates 레시피를 사용하십시오 . ( 이 사용합니다softwareupdate
)
들어 브루 애플리케이션의 brew
제공자는이 upgrade
조치를.
내가 아는 한, App Store 앱을 자동 업데이트하는 공급자는 없습니다. 그러나 execute
또는 bash
제공자 블록 내에서 일부 앱의 내장 자동 업데이트 기능을 사용할 수 있습니다 . 요리사 레시피 내에서 AppleScript를 사용하여 App Store 앱을 자동화 할 수도 있습니다. 인라인 AppleScript를 사용하는 몇 가지 예는 sprout-osx-settings :: function_keys 레시피를 살펴보십시오 . (다른 몇 가지 예 : sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )
답변
AppleScript 유형 솔루션은 확실하지 않지만 많은 OS X 시스템을 관리하기위한 도구가 있습니다.
내가 가장 익숙한 것은 radmind입니다 (이는 UMich에서 실험실 관리를 위해 시작했습니다 (이전 사이트) ).
radmind는 표준 OS 템플릿을 여러 머신에 배포하고 최신 상태로 유지하는 데 실제로 적합하므로 소규모 사이트의 경우 약간의 작업이 필요할 수 있습니다. 기본 워크 플로우는 다음과 같습니다.
- 깨끗한 “빌드 머신”을 만들고 radmind 및 모든 표준 소프트웨어를 설치하십시오.
- 해당 빌드 머신에 대한 radmind 대화 내용을 작성하십시오.
- 클라이언트 시스템에 radmind를 설치하고 대화 내용을 당겨 / 적용하여 설치하십시오.
- 업데이트의 경우 빌드 서버를 업데이트하고 업데이트 / 패치 대화 내용을 작성한 다음 클라이언트에 적용하십시오.
… 엄격한 의미에서 설치를 자동화하지는 않지만 대화식 비트를 한 번만 수행 한 다음 업데이트 된 OS를 클라이언트에 배포하면됩니다.
분명히 이것은 모든 곳에 표준 소프트웨어 세트를 설치할 수있는 경우에 가장 잘 작동합니다.-클라이언트가 모두 특별하고 독특하다면 이것은 훌륭한 솔루션이 아닐 수 있습니다.