संक्षिप्त उत्तर: हाँ।
दीर्घ उत्तर: हां, लेकिन ... इस प्रश्न के पूर्ण उत्तर में एक तकनीकी उत्तर और एक व्यावहारिक चिंता शामिल है।
सबसे पहले, तकनीकी जवाब
आप इस सिंटैक्स का उपयोग करके एक .pkg या .mpkg स्थापित कर सकते हैं:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
यदि इंस्टॉलर ठीक से 'हस्ताक्षरित' नहीं है, तो आपको जोड़ना होगा -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
आपको यह भी निर्दिष्ट करने की आवश्यकता हो सकती है कि आप इसे कहाँ स्थापित करना चाहते हैं, का उपयोग करके -target /
(मैं 100% निश्चित नहीं हूँ यह आवश्यक है , लेकिन यह एक अच्छा विचार है):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
अब, समस्या यह है कि sudo
जब आप चलाने के लिए प्रयास करते हैं तो आपसे आपका प्रशासक पासवर्ड माँगता है installer
। यदि आप इसे स्वचालित करना चाहते हैं, तो आपको sudo
इंस्टॉलर को चलाते समय अपने मैक को अपने पासवर्ड की आवश्यकता नहीं होनी चाहिए । ऐसा करने के लिए, आप इस लाइन को अपनी /etc/sudoers
फ़ाइल में जोड़ सकते हैं :
%admin ALL=NOPASSWD: /usr/sbin/installer
man visudo
उस फ़ाइल को संपादित करने के निर्देशों के लिए देखें ।
दूसरा, व्यावहारिक चिंता
यदि आप अपने मैक का उपयोग करने वाले एकमात्र व्यक्ति हैं, तो उपरोक्त पंक्ति को जोड़ना /etc/sudoers
कोई बड़ी बात नहीं है।
हालांकि, अगर यह एक साझा मैक है, तो अन्य लोग जो 'एडमिन' ग्रुप में हैं /usr/sbin/installer
, उनके पासवर्ड के लिए संकेत किए बिना चल सकेंगे ।
इसके अलावा, जाहिर है अगर कोई आपके 'व्यवस्थापक' खाते में जाता है, तो वे भी, सैद्धांतिक रूप से, शरारत कर सकते हैं /usr/sbin/installer
। हालाँकि मुझे लगता है कि वे क्या करेंगे यह सोचने के लिए एक नुकसान में है, यह सुरक्षा बनाम सुविधा का व्यापार बंद है।
तीसरा, एक जीथब स्क्रिप्ट
मैंने कुछ अच्छी चीजें करने के लिए pkginstall.sh लिखा है जैसे कि प्रक्रिया को लॉग करें, साथ ही आपको बताएं कि क्या आपको पैकेज स्थापित करने के बाद रिबूट करना है या नहीं।
अंतिम लेकिन कम से कम नहीं: स्वचालित "कैसे?"
जहाँ तक आप इंस्टालेशन को कैसे स्वचालित करना चाहते हैं, यह इस बात पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं। उदाहरण के लिए, आप एक फ़ोल्डर बना सकते हैं जैसे ~ / Action / AutoInstallPKG / और launchd
किसी भी .pkg या .mpkg फ़ाइलों को स्थापित करने के लिए कहें, जो उस फ़ोल्डर में जोड़े जाते हैं, और फिर बाद में इसे स्थानांतरित करते हैं।
मैं लंबे समय से ऐसा कुछ करने के लिए अर्थ रखता हूं, और इसलिए मैंने आखिरकार इसे एक साथ रखा। आप इसे https://github.com/tjluoma/autopkginstall पर पा सकते हैं । स्थापना निर्देश गितुब में शामिल हैं, इसलिए मैं उन्हें यहां नहीं दोहराऊंगा।