भाई MFC-7340 डिब चालक द्वारा टूटे हुए dpkg को कैसे ठीक करें


9

मुझे लगता है कि कहते हैं कि एक उपयुक्त त्रुटि हो रही है

E: The package brmfc7340lpr needs to be reinstalled, but I can't find an archive for it.

Brmfc7340lpr एक प्रिंटर ड्राइवर है - यह एक स्थानीय डिबेट फ़ाइल है। Dpkg या apt-get purge करने से काम नहीं चलता है, न ही होता है apt-get install -f

मैं स्थानीय डिबेट फ़ाइल से पैकेज को कैसे पुनर्स्थापित करूं?

आउटपुट:

box-name% sudo apt-get upgrade
[sudo] password for username: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: The package brmfc7340lpr needs to be reinstalled, but I can't find an archive for it.
box-name% sudo apt-get purge brmfc7340lpr
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: The package brmfc7340lpr needs to be reinstalled, but I can't find an archive for it.
box-name% sudo dpkg --purge brmfc7340lpr 
dpkg: error processing brmfc7340lpr (--purge):
 Package is in a very bad inconsistent state - you should
 reinstall it before attempting a removal.
Errors were encountered while processing:
 brmfc7340lpr
box-name% sudo dpkg --install brmfc7340lpr-2.0.2-1.i386.deb
Selecting previously deselected package brmfc7340lpr.
(Reading database ... 725204 files and directories currently installed.)
Preparing to replace brmfc7340lpr 2.0.2-1 (using .../brmfc7340lpr-2.0.2-1.i386.deb) ...
Unpacking replacement brmfc7340lpr ...
start: Unknown job: lpd
dpkg: warning: subprocess old post-removal script returned error exit status 1
dpkg - trying script from the new package instead ...
start: Unknown job: lpd
dpkg: error processing brmfc7340lpr-2.0.2-1.i386.deb (--install):
 subprocess new post-removal script returned error exit status 1
start: Unknown job: lpd
dpkg: error while cleaning up:
 subprocess new post-removal script returned error exit status 1
Errors were encountered while processing:
brmfc7340lpr-2.0.2-1.i386.deb
box-name% sudo apt-get install -f                                     
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: The package brmfc7340lpr needs to be reinstalled, but I can't find an archive for it.
box-name% 

आप अपने प्रश्न का नाम बदलना चाह सकते हैं। यह आपकी समस्या को थोड़ा सामान्य करता है। आप असली सवाल यह है कि किसी स्थानीय बहस को कैसे फिर से स्थापित किया जाए, लेकिन एक बहुत ही विशिष्ट समस्या को कैसे हल किया जाए।
andrewsething

जवाबों:


13

आप हमेशा (पुनः) एक पैकेज का उपयोग कर स्थापित कर सकते हैं dpkg:

dpkg --install local-file.deb

"स्वच्छ कमरे" की स्थापना करने के लिए, आप पहले पैकेज को शुद्ध कर सकते हैं और फिर इसे फिर से स्थापित कर सकते हैं:

dpkg --purge brmfc7340lpr
dpkg --install brmfc7340lpr*.deb

--force-dependsयदि आपको कोई अन्य पैकेज निर्भर करता है, तो आपको पर्स के दौरान विकल्प जोड़ने की आवश्यकता हो सकती है brmfc7340lpr

अद्यतन: आपके द्वारा पोस्ट की गई प्रतिलिपि के आधार पर, ऐसा लगता है कि brmfc7340lprपैकेज स्थापित नहीं किया जा सकता (पुनः) क्योंकि इसकी पोस्ट-रिमूवल स्क्रिप्ट गलत है।

उन फ़ाइलों को निर्देशिका में संग्रहीत किया जाता है /var/lib/dpkg/info; प्रत्येक पैकेज के लिए X, इनमें से कोई भी स्क्रिप्ट हो सकती है:

  • X.postinstपैकेज द्वारा स्थापित किए जाने के बाद चलाने के लिए, उदाहरण के लिए, पैकेज द्वारा प्रदान की गई सेवाओं को शुरू करने के लिए।

  • X.prermपैकेज को हटाने / शुद्ध करने से पहले चलाएं , उदाहरण के लिए, यह सुनिश्चित करने के लिए कि पैकेज द्वारा प्रदान किए गए डेमॉन को रोक दिया गया है।

  • X.postrmपैकेज को हटाए जाने के बाद चलाएं , उदाहरण के लिए, किसी भी सेवा को पैकेज का उपयोग करके वैकल्पिक रूप से संकेत देने के लिए कि वह अब उपलब्ध नहीं है। (उदाहरण के लिए, एक प्रिंटर ड्राइवर पैकेज cpus / lpr को उस विशिष्ट ड्राइवर के आधार पर प्रिंटर को हटाने के लिए संकेत देना चाह सकता है।)

अब, यह brmfc7340lprपैकेज lpd हटाने पर प्रिंटर रीम को प्रारंभ (पुनः) करने का प्रयास करता प्रतीत होता है , जो उबंटू सीयूपीएस के बजाय काम नहीं करेगा: आपको निश्चित रूप से सीयूपीएस-संगत प्रिंटर ड्राइवर की तलाश करनी चाहिए - जोर्ज कास्त्रो के उत्तर में लिंक देखें। (मुझे लगता है कि यह पैकेज में एक बग है, क्योंकि इसे lpdबिना शर्त के सेवा को फिर से शुरू नहीं करना चाहिए , लेकिन इसे चालू होने तक इसे फिर से लोड करना चाहिए ।)

आगे जाने का सबसे अच्छा विकल्प इस लॉन्चपैड उत्तर से आता है :

ln -s /etc/init.d/cpus /etc/init.d/lpd

यह प्रभावी रूप से (फिर से) शुरू CUPS है जब lpdसेवा के बजाय के लिए खोज की है।

अन्यथा, मुझे केवल दो विकल्प दिखाई देते हैं, दोनों ही अप्रिय:

  1. या तो /var/lib/dpkg/info/brmfc7340lpr.postrmस्क्रिप्ट को संपादित करें , और उस लाइन पर टिप्पणी करें जो /etc/init.d/lpd start ( restartया stop) को लागू कर रही है , (जैसे, बस इसे बदलें /bin/true)। एक अन्य विकल्प सिर्फ exit 0स्क्रिप्ट में पहली गैर-टिप्पणी लाइन के रूप में जगह है । यह मेरा पसंदीदा होगा, लेकिन शेल स्क्रिप्ट्स को संपादित करने के लिए थोड़ा आत्मविश्वास चाहिए।

  2. स्थापित करें lpr, brmfc6340lprपैकेज को शुद्ध करें , शुद्ध करें lpr: इसके लिए थोड़ा ध्यान देने की आवश्यकता है क्योंकि lprडिफ़ॉल्ट उबंटू प्रिंटर स्पूलिंग सिस्टम घन के साथ टकराव होता है:

    ए। sudo aptitude install lpr(इस निकाल देंगे cups-bsdऔर ubuntu-desktopएक पक्ष प्रभाव के रूप में)

    ख। sudo aptitude purge brmfc7340lpr lpr(अब काम करना चाहिए)

    सी। sudo aptitude install cups-bsd ubuntu-desktop(सिस्टम को उसकी मूल स्थिति में पुनर्स्थापित करें)



1
@Roman आपको क्या त्रुटि संदेश मिलता है? --purgeपहले --installकाम करता है और फिर काम करता है?
रिकार्डो मुरी

@ रमन ने कुछ विशिष्ट निर्देशों के साथ अद्यतन किया जो मदद कर सकते हैं। मैं andrewsomething की टिप्पणी से सहमत हूँ कि यह अब सामान्य प्रश्न नहीं दिखता है और इसका नाम बदला जाना चाहिए।
रिकार्डो मुर्री

1
मैं अस्थायी रूप से इसे स्थापित करने के लिए nlpdn में lpd का नाम बदलकर समाप्त हुआ।
रोमन ए। टेचर

5

रिकार्डो के समाधान के लिए काम करना चाहिए, मुझे लगता है कि समस्या यहाँ है:

start: Unknown job: lpd

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

अनुमान 2: ऐसा लगता है कि आप भाई 7340 प्रिंटर के लिए एक वेबसाइट से एक डिबेट स्थापित करने की कोशिश कर रहे हैं: यदि आप इसे किसी अन्य प्रश्न में विभाजित करना चाहते हैं तो यह पृष्ठ एक अच्छा प्रारंभिक बिंदु हो सकता है।


/etc/init.d/lpd प्रारंभ प्रारंभ: अज्ञात नौकरी: lpd
रोमन ए। टेचर

3

दरअसल, मैं उसी समस्या में भाग गया। बाहर मैं बदल जाता है कुछ अप्रासंगिक जानकारी पीछा किया और एक बनाया /etc/init.d/lpdकरने के लिए एक Softlink के रूप में फ़ाइल एलपीडी के लिए स्क्रिप्ट चेक और यदि वह मौजूद है, सेवा शुरू करने के लिए प्रयास करता है। Init.d डायरेक्टरी में सॉफ्टलिंकड lpd फाइल को डिलीट करने के बाद, पैकेज इंस्टॉलेशन और रिमूवल वापस सामान्य हो गया।/etc/init.d/cups.postrm


2

यहाँ समस्या यह है कि पैकेज खुद को आधा स्थापित करने में कामयाब रहा है, लेकिन अब इसकी अनुरक्षक स्क्रिप्ट सभी फेलिंजल हैं (एलपीडी सेवा शुरू करने में असमर्थ होने के कारण)।

आपको /var/lib/dpkg/info/brmfc7340lpr.postrmफ़ाइल को संपादित करने और टिप्पणी करने में सक्षम होना चाहिए ( #लाइन की शुरुआत को जोड़कर ) वह रेखा जो lpd शुरू करने की कोशिश कर रही है (या बस सब कुछ टिप्पणी करें)। आपको dpkg --configure -aइसे निकालने से पहले पैकेज को ठीक से चलाने के लिए चलाने में सक्षम होना चाहिए ।

आप क्रम में संकुल मेंटेनर लिपियों के अधिक संपादित करने के लिए आवश्यकता हो सकती है पैकेज को दूर करने - वे सभी में हो जाएगा /var/lib/dpkg/info/, और वे की तरह कुछ नामित किया जाएगा brmfc7340lpr.X, जहां Xसे एक हो सकता preinst, postinst, prerm, postrm

यह एक तरह से कहर का उदाहरण है जो एक खराब लिखित पैकेज को नष्ट कर सकता है।

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