मैं .pkg फ़ाइल को मैन्युअल रूप से कैसे खोल सकता हूं?


60

कुछ एप्लिकेशन .pkg फाइलों में आते हैं, और आपसे व्यवस्थापक पासवर्ड मांगते हैं, भले ही वे सभी द्विआधारी / एप्लिकेशन को कॉपी करते हों।

मुझे अपने एप्लिकेशन ~ / एप्लिकेशन में रखना पसंद है, और मैं ऐसी किसी भी चीज़ के लिए प्रशासनिक अनुमति देना पसंद नहीं करता, जो मदरशिप से नहीं है।

क्या कोई ऐसा तरीका है जिसे मैं मैन्युअल रूप से .pkg फ़ाइल खोल सकता हूं और एप्लिकेशन को बाहर निकाल सकता हूं? डेवलपर टूल में पैकेजमेकर है, लेकिन ऐसा नहीं लगता है (यह कुछ आउटपुट का उत्पादन करता है जिससे मुझे लगता है कि इंस्टॉलर में कोई स्क्रिप्ट या अन्य टुकड़े नहीं हैं, बस आवेदन)।


2
प्रयास करें unpkg
lhf

जवाबों:


67

यदि आप इसे राइट क्लिक करते हैं, और Show Package Contents पर क्लिक करते हैं, तो आपको Contents फ़ोल्डर में कुछ फाइलें मिलेंगी। (ध्यान दें: यदि आपको शो पैकेज सामग्री नहीं दिखती है तो आपको Terminal.app खोलने और चलाने की आवश्यकता होगी pkgutil --expand mystubbornpackage.pkg path/to/expand)

एक एक बीओएम फ़ाइल (सामग्री का बिल) है जो एक रसीद में बदल जाती है जिसे आप ऐप को अनइंस्टॉल करने के लिए उपयोग कर सकते हैं। इस फ़ाइल में पैकेज स्थापित करने और कहाँ करने के लिए सब कुछ का एक प्रदर्शन शामिल है; इस फ़ाइल को पढ़ने के लिए, lsbom कमांड का उपयोग करें ।

अधिकांश पैकेज (मैं यहां कार्यालय 2008 का उपयोग कर रहा हूं) में एक आर्काइव.पैक्स.गज़ फ़ाइल भी है, इसमें वह सब कुछ है जो इंस्टॉलर विभिन्न फ़ोल्डरों में बीओएम फ़ाइल में दिए गए निर्देश के अनुसार आगे बढ़ेगा। इस संग्रह में अधिकांश ऐप्स को .app लगता है, हालाँकि इसे खींचने के लिए / एप्लीकेशन इसे बिना फ्रेमवर्क के छोड़ सकता है। इसलिए आपको यह पता लगाना होगा कि इसे कौन सी अन्य फ़ाइलों की आवश्यकता है और इसे काम करने के लिए उन्हें कहाँ चाहिए।

इसके अतिरिक्त, सभी पैकेज संदेश लॉग कर सकते हैं, यदि आप Cmd-L को हिट करते हैं (या विंडो मेनू से इंस्टॉलर लॉग विकल्प चुनते हैं , तो आप उन्हें देख सकते हैं जैसे वे उत्पन्न हुए हैं। इससे आपको अंदाजा हो सकता है कि यह कौन सी अतिरिक्त चीजें स्थापित कर रहा है। बहुत कम से कम यह कुछ और जानकारी है अगर आप पैकेज के अविश्वसनीय हैं।


3
मुझे राइट-क्लिक मेनू में "शो पैकेज कंटेंट" नहीं मिलता है।
थिलो

3
@ थिलो यदि आपको "पैकेज सामग्री दिखाएँ" का विकल्प नहीं मिल रहा है, तो pkg फ़ाइल को सपाट फ़ाइल के रूप में बनाया गया था। Apple ने कुछ साल पहले फ्लैट-स्टाइल pkg की शुरुआत की थी
उपयोगकर्ता नाम

@ नाम: तो मैं उन लोगों को कैसे खोलूँ?
थिल्लो

10
pkgutilवह करेगा। आप इसका उपयोग करके इसका विस्तार कर सकते हैं pkgutil --expand file.pkg path_to_expandऔर इसे एक निर्देशिका शैली पैकेज में बदल देंगे।
मैथ्यू हॉल

@username, "फ्लैट" का क्या अर्थ है?
पचेरियर

34

मैथ्यू हॉल ने जो कहा उसके अलावा, आप इंस्टॉलर ऐप में Cmd-I को भी हिट कर सकते हैं यह देखने के लिए कि इंस्टॉलर कौन सी फाइलें इंस्टॉल करेगा और कहां।


3
+1। इसके साथ मैं जल्दी से सत्यापित कर सकता था कि वहाँ केवल एप्लिकेशन बाइनरी है, कोई अन्य सिस्टम-वाइड सामान नहीं है।
थिलो

7

यदि आप इंस्टॉलर पर इंस्टाल करने के लिए प्रशासनिक अनुमति देने के लिए पर्याप्त भरोसेमंद नहीं हैं, तो आप बाइनरी इन / एप्लिकेशन पर भरोसा क्यों करते हैं?

पेसिफिस्ट आपको पैकेज फाइलों में दिखेगा। यह जरूरी नहीं कि आप केवल "बाइनरी को बाहर निकालें"।


1
मुझे बाइनरी पर भरोसा नहीं है, या तो। मैं कभी भी इसे प्रशासनिक अनुमति नहीं देना चाहता (जो इसे किसी भी तरह की आवश्यकता नहीं होनी चाहिए)।
थिलो

3
जब तक आप व्यवस्थापक विशेषाधिकार वाले किसी भी उपयोगकर्ता से ऐप नहीं चलाते हैं, आपका विश्वास बरकरार रहेगा। मत भूलो कि यहां तक ​​कि एक उपयोगकर्ता स्तर एप्लिकेशन व्यवस्थापक स्तर की प्रक्रियाओं से अनुरोध कर सकता है इसलिए यह उन ऐप्स को चलाने के लिए बहुत काम है जिन्हें आप वास्तव में भरोसा नहीं करते हैं।
bmike

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

4

वैकल्पिक रूप से आप कोशिश कर सकते हैं,

sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

या

installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

यह दुर्भाग्य से काम नहीं किया। यह अभी भी "आधार पथ पर स्थापित करना" पर जोर देता था और फिर व्यवस्थापक पासवर्ड के लिए कहा जाता था।
थिलो

1
यह संभव है कि डिस्क छवि को कुछ के साथ बनाया जाए hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmgऔर फिर उन फ़ाइलों को कॉपी करें जिन्हें आप पसंद करते हैं। आपको दुर्भाग्य से इंस्टॉलर को चलाने के लिए sudo की आवश्यकता है।
एमजे

2
  1. पैकेज खोलने में सफल होने के बाद, पहले बताई गई आर्काइव। Pax.gz फ़ाइल देखें।

  2. अपने डेस्कटॉप पर एक नया खाली फ़ोल्डर बनाएं, जो आप चाहते हैं उसका नामकरण करें। बाद में टाइपिंग आसान बनाने के लिए मैं आमतौर पर उन्हें "xxxx" या "zzzz" आदि नाम देता हूं।

  3. विकल्प- अपने डेस्कटॉप पर उस नए फ़ोल्डर "xxxx" में आर्काइव.पैक्स.गज़ फ़ाइल की एक प्रति खींचें।

    यदि फ़ाइल केवल-पढ़ने के लिए मीडिया के अंदर है, तो आप इसे कॉपी बनाने के लिए विकल्प कुंजी के बिना अपने "xxxx" फ़ोल्डर में खींच सकते हैं।

  4. अब Terminal.app खोलें और कमांड लाइन पर अपनी नई "xxxx" निर्देशिका पर नेविगेट करें और यह सुनिश्चित करने के लिए निर्देशिका की सामग्री को सूचीबद्ध करें कि आपकी Archive.pax.gz फाइल है:

    cd ~/Desktop/xxxx
    ls -al
    
  5. अब प्रवेश करने के लिए दो सरल आदेश हैं:

    gunzip -v Archive.pax.gz
    

    Gzip आपको बताएगा कि इसने "Archive.pax.gz" को "Archive.pax" से बदल दिया है) अब इस बात की पुष्टि करने के लिए निर्देशिका की सामग्री को फिर से सूचीबद्ध करें।

    pax -r -f Archive.pax
    

    (आपको अलग होना चाहिए -rऔर -f, जैसा -rfकाम नहीं होगा)

  6. अंत में, निर्देशिका की सामग्री को फिर से सूचीबद्ध करें ls -al। आपकी आर्काइव.पैक्स फ़ाइल के अलावा अब आपको एक निर्देशिका पदानुक्रम दिखाई देगी जिसमें संभवतः एक या अधिक निर्देशिकाएं होंगी।

    उस निर्देशिका पदानुक्रम की फ़ाइलें आपको बताएंगी कि OS X इंस्टॉलर आपके सिस्टम पर फ़ाइलें कैसे स्थापित करेगा जैसे कि आपकी "xxxx" निर्देशिका रूट निर्देशिका "/" थी।

  7. यदि आप चाहें तो आप उन फ़ाइलों को मैन्युअल रूप से अपने गंतव्य पर कॉपी कर सकते हैं।


3
दूसरे शब्दों में cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax। आपको उस स्तर पर सब कुछ वर्णन करने की आवश्यकता नहीं है।
Lri

6
Lri, मैंने उस राशि को विस्तार से दिया ताकि किसी भी स्तर की विशेषज्ञता वाले उपयोगकर्ता इसका अनुसरण कर सकें और सफल हों। दी, आपका गुप्त संस्करण समान परिणाम प्राप्त करेगा। हालांकि, भविष्य में इसे पढ़ने वाले अन्य उपयोगकर्ता जो कमांड लाइन से परिचित नहीं हो सकते हैं, वे निराशाजनक रूप से खो सकते हैं।
4

1

pkgutil --expand निम्नलिखित त्रुटि के साथ मेरे लिए असफल रहा था:

Error encountered while creating .. Error 17: File exists

लेकिन मैं xarइसके बजाय फ़ाइलों को निकालने में कामयाब रहा :

xar -xvf foo.pkg


1
यह मेरे लिए काम करता है। लेकिन जाहिर है, अगर आप गंतव्य के रूप में एक गैर-अस्तित्व निर्देशिका देते हैं जो 17 त्रुटि को दूर कर देता है।
माइकल

1

पैकेज फ़ाइलों का निरीक्षण करने के लिए सबसे अच्छा उपकरण संदिग्ध पैकेज है । यह आपको पैकेज से बाहर की फ़ाइलों को कॉपी करने की भी अनुमति देता है।

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


0

Unarchiver ऐसा कर सकते हैं; यह pkgutil --expandड्रैग-एंड-ड्रॉप का उपयोग करने के समान ही करेगा । यह Apple के संग्रह उपयोगिता के लिए एक बेहतर प्रतिस्थापन है। वैसे भी।


0

अनचाही ने चाल चली

UnArchiver स्थापित करें, UnArchiver खोलें; जबकि यह खुला है - उस pesky पर डबल क्लिक करेंMAMP_MAMP_3.5.pkg

MAMP इंस्टॉल करने के लिए चरणों का पालन करें।

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