Mac App Store สามารถติดตั้งและอัปเกรดอัตโนมัติได้หรือไม่?


28

ฉันจะติดตั้งสคริปต์หรืออัพเกรดแอพจาก Mac App Store ได้อย่างไร ฉันต้องการเครื่องมือบรรทัดคำสั่ง แต่ AppleScript หรือ API อื่น ๆ จะพอเพียง

ชิ้นส่วนปริศนาที่เกี่ยวข้อง:

  • installer: หมายเหตุโดยเฉพาะอย่างยิ่งการ-storeตั้งค่าสถานะซึ่งใช้เพื่อจำลองการติดตั้ง App Store สำหรับแพ็คเกจ devs
  • systemupdate: ความสามารถในการจัดการการอัปเดตของแอพ Apple -iตั้งค่าสถานะการติดตั้งและ-aบอกให้ติดตั้งการอัปเดตที่มีอยู่ทั้งหมด

แอปของคุณซื้อด้วย Apple ID เดียวหรือคุณกำลังติดตาม Apple ID แต่ละเครื่องสำหรับแต่ละเครื่อง
bmike

@bmike: ฉันจะสะดวกสบายในการใช้ Apple ID ที่ใช้ร่วมกันหรือไม่ซ้ำกันสำหรับแต่ละเครื่อง
Joseph Holsten

สมมติว่า MacWorld นั้นถูกต้องที่ Mountain Lion เลิกใช้บริการอัปเดตซอฟต์แวร์และทุกอย่างผ่าน Mac App Store การจัดการสิ่งนี้จะเป็นสิ่งที่ท้าทายสำหรับกลุ่มงานและองค์กร ฉันสงสัยว่า Apple Configurator อาจขยายเพื่อช่วยจัดการบัญชีและเดสก์ท็อประยะไกลอาจสามารถปิดการอัปเดตโดยไม่รบกวนผู้ใช้จนกว่าการรีบูตจะใช้การอัปเดต
bmike

คำตอบ:


13

คนส่วนใหญ่สามารถเปิดการอัปเดตอัตโนมัติและให้ Apple จัดการการอัปเดตทั้งหมด หากมีสาเหตุที่คุณไม่สามารถทำหรือไม่ทำเช่นนั้นเครื่องมือบรรทัดคำสั่งจะมีอยู่เพื่อทำให้การติดตั้งและอัปเดตของ App Store เป็นไปโดยอัตโนมัติ

เครื่องมือโอเพนซอร์สที่โดดเด่นอย่างหนึ่งในการทำซ้ำ Mac App Store จากบรรทัดคำสั่งคือmas :

ติดตั้ง:

brew install mas 

คุณสามารถอัปเดตแอปทั้งหมดที่มีให้:

mas upgrade

หากคุณไม่ต้องการเชื่อถือซอฟต์แวร์บุคคลที่สามด้วย Apple ID ของคุณคุณสามารถอัตโนมัติ UI ของคุณและสามารถจัดเก็บชื่อบัญชีและรหัสผ่านโดยใช้พวงกุญแจ

โซลูชันของ Apple สำหรับแพตช์และการรักษาความปลอดภัยที่ไม่ใช่ของ App Store คือการเรียกใช้softwareupdateเครื่องมือจากบรรทัดคำสั่งเพื่ออัปเดตซอฟต์แวร์ทั้งหมดที่ Apple ตั้งใจที่จะติดตั้งโดยไม่ต้องมีการแทรกแซงจากผู้ใช้หรือผ่าน UI ของ App Store

ขณะนี้อยู่ใน Lion และ Mountain Lion - ซึ่งหมายความว่า Mac จะไปยังเซิร์ฟเวอร์ OS X ในเครื่องที่ดาวน์โหลดแคชสำหรับการอัปเดตระบบและซอฟต์แวร์ที่ติดตั้งอยู่นอก App Store หากคุณไม่มีเซิร์ฟเวอร์อัปเดตซอฟต์แวร์ในตัวเครื่องแน่นอนว่าจะดาวน์โหลดไฟล์โดยตรงจาก Apple

สำหรับ Mountain Lion 10.8.2 และต่ำกว่า - ทุกอย่างยังคงผ่าน App Store ดังนั้นซอฟต์แวร์ Apple เช่นการอัปเดต OS X นั้นสามารถสคริปต์ได้อย่างสมบูรณ์โดยใช้เครื่องมือนี้สำหรับการอัปเดตและการอัปเดตที่ไม่ใช่ App Store เท่านั้น

สิ่งที่ยังไม่สามารถเขียนสคริปต์ได้(หรืออาจจะตลอดไป)คือแอพที่ติดตั้งจาก App Store เช่น Xcode และ Pages และแอปพลิเคชันบุคคลที่สาม ซึ่งหมายความว่าคุณไม่สามารถมีเพียงเครื่องมือเดียวในการอัปเดตซอฟต์แวร์ทั้งหมดโดยไม่ต้องเปิดแอพ App Store และป้อนรหัสผ่านที่หน้าจอส่วนต่อประสานผู้ใช้

สิ่งที่คุณสามารถทำได้คือดาวน์โหลดแอพเพียงครั้งเดียวจากนั้นคัดลอกแอปไปยังเครื่องแม็คหลาย ๆ เครื่องตราบใดที่ Apple ID ที่ใช้ในการดาวน์โหลดสำเนาแรกของแอปนั้นยังใช้กับ Mac ทั้งหมดที่จะเรียกใช้แอป

ฉันรู้ว่ามีหลายสถาบันที่ซื้อหนึ่งแอพสำหรับแต่ละห้องปฏิบัติการสำหรับคอมพิวเตอร์ 20 เครื่องเพื่อรับสิทธิ์ใช้งานแต่ละที่นั่ง แต่จากนั้นปรับใช้ไฟล์หนึ่งไฟล์กับ Macs ทั้งหมดเพื่อให้เมื่ออัปเดตการดาวน์โหลดหนึ่งครั้งสำเร็จเครื่องมือเช่นApple Remote DesktopหรือCasparหรือเครื่องมือแบบโฮมเมดเช่นscpหรือrsyncใช้เพื่อย้ายแอพเวอร์ชั่นที่อัปเดตไปยัง Mac ทั้งหมดในห้องปฏิบัติการ

หากคุณไปเส้นทางของ Apple ID แต่ละเครื่องสำหรับแต่ละเครื่องคุณจะไม่สามารถสคริปต์การติดตั้งการอัปเดตแอปได้เนื่องจากแต่ละเครื่องจะขอรหัสผ่านสำหรับแต่ละบัญชีจนกว่าคุณจะรู้รหัสผ่านทั้งหมดและทำการสคริปต์ UI ที่ AppleScript สามารถทำได้ ป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้องโดยใช้โปรแกรมแล้วคลิกปุ่มเพื่อเริ่มกระบวนการดาวน์โหลดสำหรับการอัปเดตของเครื่องแต่ละเครื่อง วิธีที่แอพสโตร์มีการเซ็นชื่อโค้ดทำให้ยากที่จะเลื่อนในการอัปเดตโดยไม่ทำให้แพคเกจใช้งานไม่ได้หรือทำให้วิศวกรรมย้อนกลับ / แหกคุกกระบวนการแอพสโตร์ทั้งหมดและหลีกเลี่ยงการไหลตามปกติ


6

สิ่งนี้เป็นไปได้โดยใช้masยูทิลิตีบรรทัดคำสั่งopen source :

MAS-CLI

อินเตอร์เฟสบรรทัดคำสั่งแบบง่ายสำหรับ Mac App Store ออกแบบมาสำหรับการเขียนสคริปต์และระบบอัตโนมัติ

การเปิดเผยข้อมูล: ฉันเป็นผู้สร้าง mas


ขอบคุณมากสำหรับเครื่องมือนั้นและโพสต์ไว้ที่นี่ เป็นเวลานานแล้วและฉันหวังว่า Apple จะรักษา API / SDK ที่เสถียรเพื่อให้เครื่องมือทำงานได้ตลอดเวลา
bmike

3

คุณอาจต้องการที่จะตรวจสอบถั่วงอกห่อและศิลปินเดี่ยว คุณสามารถติดตั้งแพ็คเกจ OSX จาก uri โดยใช้dmg_packageผู้ให้บริการ ลองดูสูตรอาหารบางอย่างที่งอกขึ้นมาเพื่อเป็นตัวอย่าง

หากต้องการอัปเดตความปลอดภัยอัตโนมัติให้ใช้สูตรpivotal_workstation :: osx_updates ( โปรดทราบว่าสิ่งนี้ใช้softwareupdate )

สำหรับแอปHomebrewbrewผู้ให้บริการมีการupgradeดำเนินการ

เท่าที่ฉันรู้ไม่มีผู้ให้บริการอัปเดตแอพ App Store โดยอัตโนมัติ แต่คุณอาจจะสามารถใช้คุณลักษณะในตัวอัพเดทอัตโนมัติปพลิเคชันบางอย่างภายในexecuteหรือbashผู้ให้บริการบล็อก คุณอาจสามารถใช้ AppleScript ในสูตรอาหารเชฟเพื่อทำให้แอพ App Store เป็นอัตโนมัติ สำหรับตัวอย่างของการใช้ inline AppleScript ให้ดูที่สูตรsprout-osx-settings :: function_keys (ตัวอย่างอื่น ๆ : sprout-osx-settings :: remove_expose_keyboard_shortcuts , sprout-osx-settings :: set_finder_show_user_home_in_sidebar )


1

ฉันไม่แน่ใจเกี่ยวกับโซลูชันประเภท AppleScript แต่มีเครื่องมือสำหรับการจัดการระบบ OS X จำนวนมาก

สิ่งที่ฉันคุ้นเคยมากที่สุดคือradmind (ซึ่งเริ่มที่ UMich สำหรับการจัดการห้องปฏิบัติการของพวกเขา(ไซต์เก่า) )

radmind นั้นมุ่งเน้นไปที่การปรับใช้เทมเพลตระบบปฏิบัติการมาตรฐานให้กับเครื่องหลาย ๆ เครื่องและทำให้มันทันสมัยอยู่เสมอดังนั้นสำหรับไซต์เล็ก ๆ มันอาจจะใช้งานได้มากเกินไป เวิร์กโฟลว์พื้นฐานคือ:

  • สร้าง "build machine" ที่สะอาดและติดตั้ง radmind & ซอฟต์แวร์มาตรฐานทั้งหมดของคุณ
  • สร้าง transcripts radmind สำหรับเครื่องบิลด์นั้น
  • ติดตั้ง radmind บนเครื่องไคลเอ็นต์ของคุณและดึง / นำการถอดเสียงไปใช้เพื่อติดตั้ง
  • สำหรับการอัพเดตให้อัพเดตเซิร์ฟเวอร์การสร้างและสร้างสำเนาการอัพเดต / แพตช์จากนั้นนำไปใช้กับไคลเอ็นต์

... ดังนั้นในความหมายที่เข้มงวดที่สุดมันไม่ได้ทำการติดตั้งโดยอัตโนมัติ แต่คุณต้องทำบิตโต้ตอบเพียงครั้งเดียวแล้วกระจายระบบปฏิบัติการที่อัปเดตไปยังลูกค้าของคุณ

เห็นได้ชัดว่าวิธีนี้ใช้ได้ผลดีที่สุดหากคุณสามารถติดตั้งชุดซอฟต์แวร์มาตรฐานได้ทุกที่ - หากลูกค้าของคุณมีความพิเศษและไม่เหมือนใครนี่อาจไม่ใช่โซลูชันที่ยอดเยี่ยม


1
ฉันกำลังพยายามทำให้กระบวนการนี้เป็นแบบอัตโนมัติสำหรับภายใน chef ซึ่งเป็นเครื่องมือระบบอัตโนมัติเช่น radmind ปัญหาคือไม่มีวิธีสำหรับเครื่องมือเหล่านี้ในการติดตั้งแอพจาก mac app store
Joseph Holsten

1
@JosephHolsten ขั้นตอนด้วยradmindจะเป็น "ติดตั้งแอปพลิเคชันบนเครื่องแม่แบบของคุณและอัปเดตการถอดเสียง" (ยังคงเป็นการติดตั้งด้วยตนเอง แต่เป็นการติดตั้งด้วยตนเองหนึ่งชุดแทน 1,000)
voretaq7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.