मैं कमांड लाइन से ऐप स्टोर एप्लिकेशन के अपडेट को बाध्य करना चाहूंगा।
मैं यह कैसे कर सकता हूँ?
मैं कमांड लाइन से ऐप स्टोर एप्लिकेशन के अपडेट को बाध्य करना चाहूंगा।
मैं यह कैसे कर सकता हूँ?
जवाबों:
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
कमांड लाइन टूल।
softwareupdate
प्रक्रिया है और यह माउंटेन लायन पर ऐप स्टोर में भी हुक करता है - लेकिन यह केवल गैर ऐप स्टोर ऐप के लिए है।
ऐप स्टोर केवल प्रशासन के लिए उपयुक्त नहीं है। बमुश्किल एक क्वैस-पैकेज मैनेजर, यह लगभग उतना ही उपयोगी या विश्वसनीय नहीं है जितना कि असली पैकेज मैनेजर जैसे 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 और क्रमबद्ध करें। और कुछ किया जाए।
आप softwareupdate
टूल का उपयोग कर सकते हैं ।
sudo softwareupdate -l
सभी उपलब्ध अपडेट को सूचीबद्ध करता है।
sudo softwareupdate -ia
सभी उपलब्ध अद्यतन स्थापित करता है।