मैं एक .deb पैकेज स्थापित करने वाली क्रियाओं को कैसे दिखाऊँगा?


33

मैं अपग्रेड के कारण किसी पैकेज से जुड़ी स्क्रिप्ट / ट्रिगर्स देखना चाहूंगा ताकि मैं बता सकूं, उदाहरण के लिए, क्या इसका परिणाम वेब सर्वर को फिर से शुरू करना होगा। मुझे यह दिखाने के लिए एक उपयुक्त विकल्प नहीं मिल रहा है कि (या apt / dpkg); सबसे अच्छा मैं प्राप्त कर सकते हैं सामग्री (फ़ाइलें) है। क्या अनुकरण / क्रिया / सामग्री स्विच के कुछ संयोजन हैं जो मैंने याद किया है जो यह दिखाएगा?

इसके अतिरिक्त, यदि पैकेज में कुछ घटित होता है - जैसे कि सेवा फिर से शुरू - कि मैं अभी नहीं होना चाहता, तो क्या कुछ या सभी लिपियों को चलाने के बिना पैकेज को स्थापित करने का एक तरीका है?


यह मतदान क्यों किया गया? यह मेरे लिए एक उचित प्रश्न लगता है (भले ही ऐसा कुछ करना आम तौर पर आवश्यक नहीं होना चाहिए)।
sleske

1
मुझे पता नहीं। कोई विशेष रूप से अपमानजनक टिप्पणी या उत्तर नहीं, बस यादृच्छिक डाउनवोट। जैसे कि "सामान्य रूप से नहीं किया जाना चाहिए" वैसे ही है जैसे "कभी भी किसी भी परिस्थिति में नहीं किया जाना चाहिए और शैक्षिक भी नहीं"। :(
सैम ब्राइटमैन

जवाबों:


20

आप नियंत्रण फ़ाइल और कुछ अन्य जानकारी के साथ मुद्रित कर सकते हैं dpkg -I package.deb, या dpkg -e package.debकेवल नियंत्रण जानकारी फ़ाइलों को निकालने के लिए उपयोग कर सकते हैं।

इसके अलावा, आप यह देखने के लिए सूखा रन कर सकते हैं कि dpkg क्या करेगा --dry-run:

dpkg --dry-run -i package.deb

मुझे ये विकल्प याद आए होंगे, धन्यवाद। -मैं ज्यादा शो नहीं करता हूं, लेकिन यह पहली लाइन (इंटरोबैंग) जैसा दिखता है।
सैम ब्राइटमैन

2
नोट: आपको पैकेज फ़ाइल स्थानीय रूप से उपलब्ध होनी चाहिए। पहले इसे 'एप्टिट्यूड डाउनलोड <पैकजेनमे>' के माध्यम से डाउनलोड करें।
मार्टिज़न हेमेल्स

3
-E विकल्प फ़ाइल और चलने वाली विभिन्न स्क्रिप्ट फ़ाइलों के DEBIANसाथ एक निर्देशिका बनाएगा controlpostinstआमतौर पर बहुत दिलचस्प है क्योंकि इसे पैकेज के सफलतापूर्वक स्थापित होने के बाद निष्पादित किया जाएगा।
dwurf

8

नहीं, मैं इस योग्यता का उपयोग करके ऐसा करने का कोई तरीका नहीं जानता।

आप स्क्रिप्ट को सीधे देख सकते हैं; उन्नयन के दौरान चलने वाली स्क्रिप्ट पैकेज में निहित हैं। Ar का उपयोग कर बहस को अनपैक करें:

ar -x package.deb

फिर देखो control.tar.gz, इसमें स्क्रिप्ट शामिल हैं।


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

2

जैसे के --debugलिए भी विकल्प dpkgहैsudo dpkg --debug=72200 -i package.deb

वर्बोज़ आउटपुट के लिए कई उपलब्ध विकल्प हैं और उन्हें संयोजित किया जा सकता है।

आप चलाकर सभी उपलब्ध विकल्प देख सकते हैं: dpkg --debug=help

pi@kaldi:~ $ dpkg --debug=help
dpkg debugging option, --debug=<octal> or -D<octal>:

 Number  Ref. in source   Description
      1  general          Generally helpful progress information
      2  scripts          Invocation and status of maintainer scripts
     10  eachfile         Output for each file processed
    100  eachfiledetail   Lots of output for each file processed
     20  conff            Output for each configuration file
    200  conffdetail      Lots of output for each configuration file
     40  depcon           Dependencies and conflicts
    400  depcondetail     Lots of dependencies/conflicts output
  10000  triggers         Trigger activation and processing
  20000  triggersdetail   Lots of output regarding triggers
  40000  triggersstupid   Silly amounts of output regarding triggers
   1000  veryverbose      Lots of drivel about eg the dpkg/info directory
   2000  stupidlyverbose  Insane amounts of drivel

Debugging options can be mixed using bitwise-or.
Note that the meanings and values are subject to change.

हालांकि यह अभी भी स्थापना करेगा, है ना?
सैम ब्राइटमैन

हां, 100% सही हैं। यह दूसरे (विकास) उदाहरण में किया जाना चाहिए।
एस्टीबोर्डो

1

नहीं, आप एक अनुरक्षक स्क्रिप्ट का हिस्सा नहीं चला सकते हैं, ऐसा करने के लिए कोई हुक नहीं है।

आप केवल यह देख सकते हैं कि स्क्रिप्ट हाथ से जांच करके क्या करेगी - फिर से, कोई भी "ड्राई रन" आपको यह नहीं बता सकता है कि यह क्या करेगा और क्या नहीं करेगा, केवल "मैं इन आर्ग्स के साथ पोस्टस्टीन चलाऊंगा"।

ये ऐसे कारण हैं जिनसे हमारे पास मंचन और परीक्षण का वातावरण है।


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