कमांड लाइन से ऐप स्टोर एप्लिकेशन को कैसे अपडेट करें?


18

मैं कमांड लाइन से ऐप स्टोर एप्लिकेशन के अपडेट को बाध्य करना चाहूंगा।

मैं यह कैसे कर सकता हूँ?


2
समग्र सॉफ़्टवेयर अद्यतन की तरह कमांड लाइन हेल्पर प्रतीत नहीं होता है, इसलिए आप एक स्क्रिप्ट लॉन्च करने तक सीमित हो सकते हैं जो GUI कमांड को स्वचालित करेगा। यदि आप "वर्किंग" सॉल्यूशन को केवल एक टर्मिनल होने की उम्मीद करते हैं या यदि कोई ऑटोमोटिव स्क्रिप्ट जो आपके पासवर्ड की कुंजी है, तो यह पूछे जाने पर कि आप क्या देख रहे हैं, यह स्पष्ट करने के लिए आप प्रश्न को संपादित करेंगे।
bmike

मैं कुछ अनअटेंडेड की तलाश में हूं, फिर भी अगर इसके लिए AppleID आईडी / पासवर्ड की आवश्यकता होती है, तो मुझे इसे स्क्रिप्ट में शामिल करना ठीक लगता है।
सोरिन

1
यह भी देखें apple.stackexchange.com/questions/42353/... एक समाधान है कि किसी तृतीय पक्ष एप्लिकेशन कॉल के लिए
bmike

जवाबों:


6

Apple एक कमांड लाइन सहायक या किसी भी स्क्रिप्ट योग्य कोको वर्ग की आपूर्ति नहीं करता है जिसे आप स्वचालन के लिए लेट कर सकते हैं। समग्र सॉफ़्टवेयर अपडेट के विपरीत, जो बॉक्स से अपडेट और इंस्टॉल करने की अनुमति देता है, आप ऑटोमेटर का उपयोग करके माउस के साथ बटन क्लिक करने की प्रक्रिया को स्क्रिप्ट कर सकते हैं।

हालाँकि, ऐप स्टोर को रिवर्स इंजीनियर और ओपन सोर्स के साथ-साथ एक बाइनरी फॉर्म जारी किया गया है :

इंस्टॉल त्वरित है और यह OS X 10.11 के वर्तमान संस्करण पर काफी विश्वसनीय प्रतीत होता है:

brew install argon/mas/mas 

जारी किए गए स्रोत के साथ, मुझे उम्मीद है कि इस उपकरण के कुछ अन्य कार्यान्वयन पॉप अप करने के लिए होंगे, शायद एक भी अजगर के साथ लिपिबद्ध।

यदि किसी को मैक में लॉग इन किया गया है (विंडोमैनर चल रहा है), तो आप अपडेट को स्वचालित करने के लिए ऑटोमेटर और "वॉच मी डू" फ़ंक्शन का उपयोग कर सकते हैं और स्क्रिप्ट में आपके स्टोर पासवर्ड को काफी असुरक्षित तरीके से संग्रहीत कर सकते हैं।

यहां दो ट्यूटोरियल दिए गए हैं, अगर यह आपकी जरूरतों को पूरा करता है।

http://www.tuaw.com/2009/01/19/mac-automation-creating-watch-me-do-workflows/

http://automator.us/leopard/features/virtual-user.html

एक बार जब आपके पास एक काम करने वाली स्क्रिप्ट होती है, तो आप openइसे बंद करने के लिए कमांड लाइन कमांड का उपयोग कर सकते हैं ।

यदि ऐप स्टोर ऐप कभी भी उस फ़ंक्शन को स्क्रिप्टिंग के लिए उजागर करता है, तो आपके पास कमांड लाइन से अधिक विकल्प होंगे। यह आसान उपयोग करने के लिए किया जाएगा sdef, sdpऔर gen_bridge_metadataकरने के लिए गहरे लाल रंग का उपयोग करते हुए पूरे बातें स्क्रिप्ट शब्दकोश और स्क्रिप्ट डंप कमांड लाइन से, लेकिन इस समय सबसे अच्छा विकल्प का उपयोग किया जाएगा masकमांड लाइन टूल।


1
वाह, यह वास्तव में कष्टप्रद है। सॉफ्टवेयरअपडेट (8) का उपयोग करके सामान्य सॉफ़्टवेयर अपडेट आसानी से स्क्रिप्ट करने योग्य होते हैं।
आर्नी

2
मैं सिर्फ रिकॉर्ड के लिए बताना चाहता था - यह स्पष्ट है कि ऐप्पल ने जानबूझकर इसे मुश्किल बनाने का फैसला किया है / ऐप स्टोर इंस्टॉल और अपडेट को स्वचालित करने के लिए कोई उपकरण या हुक या सहायता प्रदान नहीं करता है। कोर सिस्टम में अभी भी softwareupdateप्रक्रिया है और यह माउंटेन लायन पर ऐप स्टोर में भी हुक करता है - लेकिन यह केवल गैर ऐप स्टोर ऐप के लिए है।
bmike

4

ऐप स्टोर केवल प्रशासन के लिए उपयुक्त नहीं है। बमुश्किल एक क्वैस-पैकेज मैनेजर, यह लगभग उतना ही उपयोगी या विश्वसनीय नहीं है जितना कि असली पैकेज मैनेजर जैसे pkgsrc, FreeBSD पोर्ट, एप्टीट्यूड, RPM, मैकपोर्ट या यहां तक ​​कि सॉफ्टवेयरअपडेट भी नहीं है। मेरे अनुभव में, यह अप्रत्याशित है और वाणिज्यिक डेवलपर्स के लिए एक दाढ़ी है जो उनके माल को रोकते हैं। इसलिए ऐप स्टोर के साथ काम करने के लिए एक सक्षम प्रशासक के रूप में वास्तव में केवल एक तर्कसंगत और जिम्मेदार तरीका है:

 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 दूरस्थ डेस्कटॉप 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 संग्रह है, जो आप के बाद है। तो कुछ पाइप कमांड के साथ हम ऐप बंडल में जा सकते हैं:

cat Payload | gzip -d - | cpio -id

ls

रिटर्न:

    Applications Bom          Library      PackageInfo  Payload      Scripts

और आप लगभग हो चुके हैं।

cp -R Applications/Remote\ Desktop.app /Applications/

अब आपने Apple रिमोट डेस्कटॉप एडमिन 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 हिम तेंदुए के लिए, आपको 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 और क्रमबद्ध करें। और कुछ किया जाए।


1
महान जवाब, मैंने नई चीजों का एक गुच्छा सीखा है जो मैं टर्मिनल में कर सकता हूं। +1
झींगा

1

आप softwareupdateटूल का उपयोग कर सकते हैं ।

sudo softwareupdate -l

सभी उपलब्ध अपडेट को सूचीबद्ध करता है।

sudo softwareupdate -ia

सभी उपलब्ध अद्यतन स्थापित करता है।


यह Appstore अनुप्रयोगों के लिए काम नहीं करता है, केवल Apple संकुल के लिए।
ब्रिस

यह भी कोशिश करें: आदमी सॉफ्टवेयरअप
बिली मैकक्लोस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.