Pkg फ़ाइल की अनअटेंडेड स्थापना


14

क्या pkg पैकेज की अनअटेंडेड स्थापना बनाने की कोई संभावना है?

उदाहरण के लिए एक mpkg बनाने और एक स्क्रिप्ट चलाने जो कंसोल और इंस्टॉलर के माध्यम से पैकेज स्थापित करता है।

बैकग्राउंडर: मुझे कई ओएक्सएक्स एंड्यूसर के लिए एक पैकेज तैनात करना पड़ा। हमारे पास कोई सेब डेस्कटॉप नहीं है और इन मशीनों तक कोई रूट नहीं है। ये एक प्रीकॉन्फ़िगर्ड pkg पैकेज है, लेकिन यदि उपयोगकर्ता इसे सामान्य तरीके से लॉन्च करता है, तो पूर्व कॉन्फ़िगरेशन को अधिलेखित कर दिया जाएगा। खिड़कियों पर मुझे यह एक स्वयंसिद्ध संग्रह के साथ महसूस होता है जो मूक स्थापना के साथ एक msi लॉन्च करता है। लिनक्स पर मैं आरपीएम / डेब पैकेज बनाता हूं लेकिन ओएक्सएक्स पर मुझे कोई उचित तरीका नहीं मिला :(

जवाबों:


17

संक्षिप्त उत्तर: हाँ।

दीर्घ उत्तर: हां, लेकिन ... इस प्रश्न के पूर्ण उत्तर में एक तकनीकी उत्तर और एक व्यावहारिक चिंता शामिल है।

सबसे पहले, तकनीकी जवाब

आप इस सिंटैक्स का उपयोग करके एक .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 पर पा सकते हैं । स्थापना निर्देश गितुब में शामिल हैं, इसलिए मैं उन्हें यहां नहीं दोहराऊंगा।


Thx, यह मेरे लिए एक बड़ा कदम है, लेकिन अभी भी अंतिम समाधान नहीं है। मुझे कई अलग-अलग मैक पर एक पैकेज को तैनात करना होगा (इसलिए sudoes एक विकल्प नहीं है), जहां उपयोगकर्ता को कॉन्फ़िगरेशन बदलने की अनुमति नहीं है। तो सबसे अच्छा तरीका (जो विंडोज़ और लिनक्स पर काम करता है) जहां एक फाइल जिसे उपयोगकर्ता क्लिक कर सकता है और बाकी स्वचालित रूप से किया जाएगा। लेकिन मैं आपके समाधान की जांच करूंगा, संभव है कि आइसबर्ग या पैकेज के साथ संयोजन में मैं एक मिलान समाधान पा सकता हूं। तो उम्मीद है कि यह ठीक है अगर मैं इस सवाल को कुछ और दिनों तक खुला छोड़
दूं

3
साथ ही, भविष्य के संदर्भ के लिए, जैसे विवरण आपके प्रारंभिक प्रश्न में शामिल करने के लिए सहायक होंगे। अपने सिस्टम पर इंस्टॉलेशन को स्वचालित रूप से देखने वाले एंड-यूज़र के लिए जवाब कई मैक और कई ओएस पर वितरित करने की कोशिश कर रहे व्यक्ति के लिए पूरी तरह से अलग है। आपको ऐसा तरीका खोजने की संभावना नहीं है जो विंडोज और लिनक्स और मैक ओएस एक्स पर एक ही तरह से काम करता है। यहां तक ​​कि बड़ी कंपनियों के रूप में ड्रॉपबॉक्स में प्रत्येक ओएस के लिए अलग-अलग इंस्टॉलर हैं।
टीजे लुओमा

आप सही हैं, इसके बारे में क्षमा करें। संभव है कि मुझे इस प्रश्न से जोड़ना चाहिए।
मेगाचिप

आपके सभी कामों के लिए फिर से धन्यवाद, मैंने अपना प्रश्न [यहाँ] ( apple.stackexchange.com/questions/120026/… ) कंक्रीट किया है । आपका ऑटोपेग्जिनस्टॉल एक अच्छी बात है, लेकिन इसके लिए मुझे हर क्लाइंट पर यह "इंस्टॉल" करना होगा, जो संभव नहीं है। लगता है यहाँ मेरा सवाल ठोस नहीं था। इसके लिए क्षमा करें
मेगाचिप

2

मुझे लगता है कि आप अपने खुद के जवाब के बहुत करीब नाच रहे होंगे। आप उल्लेख करते हैं कि आपके पास Apple का रिमोट डेस्कटॉप नहीं है। मैं इस पर विचार करने की सलाह दूंगा कि आप क्या करने की कोशिश कर रहे हैं। मैं इसका उपयोग तब कर रहा हूं जब आप सभी समय का वर्णन कर रहे हैं - मेरे पास एक .pkg फ़ाइल है जिसे मेरे LAN में कई कंप्यूटरों पर स्थापित करने की आवश्यकता है, मैं उन कंप्यूटरों को हाइलाइट करता हूं जो मैं इसे स्थापित करना चाहता हूं, और इसे स्थापित करने के लिए दूरस्थ डेस्कटॉप को बताऊंगा। यह इससे बहुत अधिक है, लेकिन यह आपके लिए ये रिमोट इंस्टॉल करेगा। यह असीमित ग्राहकों के साथ लाइसेंस के लिए $ 80 है।

यदि $ 80 एक चिपकाने वाला बिंदु है - तो आप मुंकी को देख सकते हैं , जो कि है

"पैकेज का एक वेबसर्वर-आधारित रिपोजिटरी और पैकेज मेटाडेटा के साथ उपयोग किए जाने वाले उपकरणों का एक सेट, ओएस एक्स क्लाइंट मशीनों पर सॉफ़्टवेयर इंस्टॉल (और कई मामलों में निष्कासन) का प्रबंधन करने के लिए ओएस एक्स प्रशासक द्वारा उपयोग किया जा सकता है।"

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

उम्मीद है कि आप इन दो कार्यक्रमों में से एक का उपयोग कर सकते हैं जो आप कर रहे हैं।


हाँ, लेकिन जहाँ तक मुझे पता है कि आपको दूरस्थ डेस्कटॉप का उपयोग करने के लिए रूट एक्सेस की आवश्यकता है?
मेगाचिप

क्लाइंट मशीनों पर दूरस्थ डेस्कटॉप सेट करने के लिए आपको व्यवस्थापक पहुंच की आवश्यकता होगी। एआरडी आपको किसी भी मैक पर फाइल स्थापित करने की अनुमति नहीं देगा जिसे आप नेटवर्क पर देखेंगे। :)
बेंडब्लेंडर

यह संभावना नहीं दी गई है, क्षमा करें।
मेगाचिप

2

अंत में, मेरे ठोस प्रश्न के dr.nixon समाधान के लिए धन्यवाद , मुझे प्लैटिपस के माध्यम से प्रश्न में वर्णित एक अप्राप्य स्थापना के निर्माण को संभालने के लिए मिला है ।

उपयोगकर्ता को ऐप शुरू करना होगा, बाकी काम अपने आप हो जाएगा।


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