Dpkg डीबग करने के लिए उपप्रोसेस पोस्ट-इंस्टॉलेशन में त्रुटि कैसे कॉन्फ़िगर करें?


17

संक्षेप में: मैं स्पैमसैसिन स्थापित करने की कोशिश कर रहा हूं, लेकिन केवल dpkg रिटर्न के साथ:

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

मैंने जो गलत हो रहा है उसके बारे में अधिक जानकारी प्राप्त करने की कोशिश की है लेकिन मुझे कहीं भी कोई उपयोगी लॉगिंग नहीं मिल रही है।

/ Var / क्रैश में एक स्पैमसैसेंट क्रैशरेप उत्पन्न होता है लेकिन यह केवल पुराने dpkg एरर देता है और:

 Start-Date: 2014-02-17  19:18:13
 Commandline: apt-get install spamassassin
AptOrdering:
 spamassassin: Configure
 amavisd-new-postfix: Configure

स्टार्टअप से dmesg लॉगिंग द्वारा पीछा किया। अमाविस एक त्रुटि देता है क्योंकि निर्भरता स्पैमसैट कॉन्फ़िगर नहीं है।

मैंने लॉग फ़ाइलों की जाँच की:

apt history.log
apt term.log
dpkg.log
syslog.log

लेकिन कोई अतिरिक्त जानकारी नहीं।

मैंने सभी संभव अष्टकों के साथ dpkg -D की कोशिश की, लेकिन मुझे कुछ भी उपयोगी नहीं मिला कि क्या गलत हो सकता है।

Dpkg त्रुटियों के बारे में बहुत सारे प्रश्न और संभावित समाधान लिखे गए हैं और बहुत से मैंने कोशिश की है, लेकिन कोई अतिरिक्त जानकारी नहीं होने से मुझे यह महसूस नहीं हो रहा है कि मुझे कहीं भी मिल रहा है।

निश्चित रूप से कहीं न कहीं यह पढ़ने की संभावना होनी चाहिए कि क्या गलत हो रहा है या कुछ लॉगिंग को क्रैंक करना है इसलिए इसे लॉग किया जाएगा?


आपको अपने टर्मिनल में स्क्रॉल करना होगा और आपके द्वारा देखे गए संदेश में विशिष्ट त्रुटि दिखाई देगी। इनको डीबग करने के लिए, आपको यह देखना होगा कि इसमें कौन सी सटीक त्रुटि थी।
थॉमस वार्ड

टर्मिनल में एक विवरण होना चाहिए, क्या आपने /var/log/spamassassin/spamd.log में देखा है?
कामिल

मैंने कई अलग-अलग तरीकों से सभी लॉग्स, पर्ज, रीडोन इंस्टॉलेशन के माध्यम से प्रतिज्ञा की है। त्रुटि के बारे में थोड़ी और जानकारी पाने के लिए सभी, लेकिन मुझे कोई नहीं मिल रहा है। Spamd.log अभी तक नहीं बनाया जा रहा है।
रिक्वेस्ट

जवाबों:


16

ठीक है, मैंने इस समस्या का हल ढूंढ लिया है। सोचा कि मैं अधिक डेटा प्राप्त करने के लिए लॉगिंग को क्रैंक करने में असमर्थ था, पहले से ही प्रस्तुत डेटा में समस्या का सुराग था।

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

कॉन्फ़िगर करते समय dpkg ने स्पैमसेसिन को संसाधित करने में त्रुटि का सामना किया। अगली पंक्ति हमें बताती है कि स्थापना के बाद की स्क्रिप्ट सही नहीं थी।

में / var / lib / dpkg / जानकारी dir हम dpkg की स्क्रिप्ट फ़ाइलें ढूँढ सकते हैं, फ़ाइल: spamassassin.postinst हमें स्क्रिप्ट फ़ाइल जो त्रुटि उत्पन्न कर देता है।

इस फ़ाइल के भीतर हम जानते हैं कि हमें कॉन्फ़िगर द्वारा संचालित कोड को देखना होगा:

अगर ["$ 1" = "कॉन्फ़िगर"]; फिर

और कुछ डिबगिंग के बाद मुझे पता चला कि लाइन:

su debian-spamd -c "sa-update --gpghomedir / var / lib / spamassassin / sa-update-keys \ _import /usr/share/spamassassin/GPG.KEY"

एग्जिट कोड 1 लौटाया (कमांड कमांड @commandline और एक्जॉस्ट कोड प्राप्त करने के लिए इको $ का उपयोग करें।)

समस्या यह थी कि उपयोगकर्ता डेबियन-स्पैम पहले से ही मेरे सिस्टम पर मौजूद था लेकिन इसका लॉगिन शेल / बिन / गलत था। किसी भी संदेश के बिना / बिन / झूठे रिटर्न के साथ सु-आईएनजी लेकिन एग्जॉस्ट 1।

कमांड में जोड़ने -s / bin / sh ने समस्या को हल कर दिया, हालांकि अंत में मैंने भविष्य के अपडेट के लिए सिंक में रहने के लिए उपयोगकर्ता के लॉगिन शेल को बदल दिया।


मेरा आपके साथ भी ऐसा ही मुद्दा था। इंस्टॉलर के साथ सिर्फ फ्लैट फेलिंग। माइन के लिए डेबियन-बैकपोर्ट से नवीनतम संस्करण स्थापित करने के साथ मेरा एक मुद्दा बन गया। यह पता चला है कि उन्होंने 'सु - $ OWNER -c "सै-अपडेट करने के लिए पोस्ट इंस्‍टॉल स्क्रिप्ट को बदल दिया ...' कॉल 'जिसने एक पूर्ण लॉगिन शेल / बिन / श को निष्पादित किया जो हमारे / etc / प्रोफाइल के साथ असंगत था। और /etc/profile.d फ़ाइलें। '' '' इसे '' $ $ OWNER -c .... '' हटाते हुए इसे मेरे लिए तय किया
Vagnerr

मुझे सटीक समस्या नहीं है लेकिन आपके डिबगिंग संकेत ने मेरी बहुत मदद की! धन्यवाद!
चोसगुरु

9

आम तौर पर ऐसे मुद्दों को डीबग करने के लिए, आप संपादित करेंगे /var/lib/dpkg/info/spamassassin.postinst(या.preinst , पीआर .prermया .postrm, जिसके आधार पर कोई विफल हो रहा है) और #!/bin/shशीर्ष पंक्ति में बदल सकते हैं #!/bin/sh -x(एक ही बात अगर इसके bashबजाय: बस जोड़ें -x)

यह आपको शेल स्क्रिप्ट की लाइन-दर-लाइन डिबग प्रदान करेगा, इसलिए आप यह बता सकते हैं कि यह गैर-शून्य कोड के साथ बाहर निकलता है (जिसके कारण स्थापना / नवीनीकरण विफल हो जाता है)।

हालांकि इसे डिबग करने के लिए कम से कम कुछ शेल स्क्रिप्टिंग कौशल की आवश्यकता होगी।

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