Apt-get install में इंस्टॉलेशन स्क्रिप्ट क्या करती है?


14

ऐसा लगता है apt-get installकि डेबियन पैकेज डाउनलोड करेगा और इसके लिए इंस्टॉलेशन स्क्रिप्ट चलाने की कोशिश करेगा:

  • उचित निर्देशिका बनाएं
  • उचित खाता बनाएँ
  • बाइनरी फ़ाइलों की प्रतिलिपि बनाएँ
  • डेटा फ़ाइलों की प्रतिलिपि बनाएँ
  • Conf फ़ाइलें कॉपी करें
  • Init.d स्क्रिप्ट की प्रतिलिपि बनाएँ
  • सेवा शुरू करें
  • आदि।

मैं वास्तव में इसमें दिलचस्पी रखता हूं और यह पता लगाना चाहता हूं कि चरण-दर-चरण क्या हो रहा है। क्या इसका कोई तरीका है? एक "ड्राई रन" मोड में प्रिंट शेल कमांड की तरह?

जवाबों:


25

संक्षेप में : apt-get installवह सब कुछ आवश्यक है जो आपके सिस्टम को नए इंस्टॉल किए गए सॉफ़्टवेयर एप्लिकेशन को सफलतापूर्वक निष्पादित कर सकता है।

लंबा संस्करण:

प्रारंभिक:

से मैनपेज :

स्थापना के लिए निर्दिष्ट पैकेज (ओं) के लिए आवश्यक सभी पैकेजों को भी पुनः प्राप्त और स्थापित किया जाएगा।

वे पैकेज नेटवर्क (इंटरनेट) में भंडार पर रखे गए हैं। इसलिए, apt-getसभी आवश्यक पैकेजों को एक अस्थायी निर्देशिका में डाउनलोड करें ( /var/cache/apt/archives/)। वे एक वेब या एक ftp- सर्वर से डाउनलोड किया जाएगा। वे तथाकथित में निर्दिष्ट हैं sources.list; संकुल प्रबंधक उपयुक्त के लिए भंडार की सूची। तब से, वे एक के बाद एक प्रक्रियात्मक रूप से स्थापित होते जाते हैं।

स्थापित होने वाले पहले वे हैं जिनकी आगे निर्भरता नहीं है; इसलिए उन्हें ठीक से काम करने के लिए कोई अन्य पैकेज नहीं लगाना पड़ता है। उसके माध्यम से, अन्य पैकेज (जो पहले निर्भरता थे) अब निर्भरता नहीं रह गए हैं। सिस्टम उस प्रक्रिया को तब तक करता रहता है जब तक कि निर्दिष्ट पैकेज स्थापित नहीं हो जाते।

प्रत्येक पैकेज एक इंस्टॉलेशन प्रक्रिया से गुजरता है।

पैकेज स्थापना प्रक्रिया:

डेबियन-आधारित लिनक्स वितरण में, जैसे कि उबंटू या मिंट, उन पैकेजों को एक निर्दिष्ट मानकीकृत प्रारूप में कहा जाता है: डिब -> डेबियन बाइनरी पैकेज प्रारूप

इस तरह के पैकेज में सिस्टम पर स्थापित की जाने वाली फाइलें होती हैं। इसके अलावा उनके पास एक कंट्रोल फाइल है । उस फ़ाइल में स्क्रिप्ट होती है जिसे पैकेजिंग सिस्टम को एक विशिष्ट स्थिति में निष्पादित करना चाहिए; तथाकथित अनुचर स्क्रिप्ट । उन लिपियों को विभाजित किया गया है:

  • preinst: सिस्टम में फ़ाइलों की स्थापना से पहले पदानुक्रम फ़ाइल
  • postinst: स्थापना के बाद
  • prerm: स्थापना रद्द करने से पहले
  • postrm: स्थापना रद्द करने के बाद

वे स्क्रिप्ट वे स्थान होते हैं जहाँ विशिष्ट उपयोगकर्ता बनाए जाते हैं या कुछ सेवाएँ जिन्हें फिर से शुरू करने की आवश्यकता होती है या अन्य पूर्व-कार्य जो पैकेज के काम करने के लिए आवश्यक होते हैं।

उन स्क्रिप्ट के अलावा, पैकेज सिस्टम में ट्रिगर होता है जो विशिष्ट घटनाओं के लिए अभिप्रेत है। उदाहरण के लिए, नए कर्नेल संस्करण या ldconfig या मैन-डीबी को स्थापित करते समय initrds का पुनर्जनन। वे एक या अधिक पैकेजों द्वारा सक्रिय होते हैं और पूरी स्थापना प्रक्रिया के अंत में चलते हैं।

एक दिलचस्प तस्वीर है, एक नए पैकेज की स्थापना की प्रक्रिया दिखा रही है:

स्थापना

अधिक नियंत्रण-फाइलें भी हैं, सबसे महत्वपूर्ण इस प्रकार हैं:

यदि आप रुचि रखते हैं, तो आप मैन्युअल रूप से एक डिबेट पैकेज (डाउनलोड करने के बाद) अनपैक कर सकते हैं और देखें कि अंदर क्या है:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

अब आपको एक फाइल दिखाई देती है data.tar.gzजिसमें फाइलें होती हैं और एक फाइल control.tar.gzजिसमें चार मेंटेनर स्क्रिप्ट और उपर्युक्त कंट्रोल-फाइल होती हैं।


आजकल मेरा मानना ​​है कि इसके dpkg-deb -x package.debबजाय इसका उपयोग करना बेहतर होगा ar x package.deb, क्योंकि dpkgआधिकारिक डिब पैकेज मैनेजर है (जिस पर apt-get का उपयोग किया जाता है)।
1919 को
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.