टूटे हुए पैकेज को कैसे ठीक करें?


21

Ubuntu 14.04.2 पर libssl-dev स्थापित करने की कोशिश कर रहा है

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

मैं आयोजित पैकेज को कैसे हटा सकता हूं और सही स्थापित कर सकता हूं?


आखिरी बार कब आप दौड़े sudo apt updateऔर / या sudo apt upgrade?
डोपघोटी

नमस्ते, मैंने दोनों प्रत्येक चरणों के बीच किया है।
सैम हीले

जवाबों:


18

सबसे पहले, इसे दर्ज करने का प्रयास करें: sudo dpkg --configure -a

यह टूटी हुई निर्भरता को ठीक करने की दिशा में एक लंबा रास्ता तय करेगा। यदि वह पर्याप्त नहीं है, तो प्रयास करें: sudo apt-get install -f

फिर साफ करें और अपडेट करें: sudo apt-get clean && sudo apt-get update

फिर अपग्रेड करें: sudo apt-get upgrade ( अपग्रेड करने के लिए 'y' कहें)

यदि आपको संदेश मिलता है कि कुछ पैकेज "वापस आयोजित" हैं, तो यह करें:

sudo apt-get dist-upgrade

अब इन दोनों आज्ञाओं को करें:

sudo apt-get purge zlib1g-dev
sudo apt-get autoremove

फिर देखें कि जब आप प्रवेश करते हैं तो क्या होता है: sudo apt-get install libssl-dev

यदि यह अभी भी काम नहीं करता है, तो यह कोशिश करें:

sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

यदि यह अभी भी काम नहीं करता है, तो सिनैप्टिक पैकेज मैनेजर खोलें (यह आपके लॉन्चर में होना चाहिए। यदि आप इसे नहीं पा सकते हैं, तो टर्मिनल पर synaptic-pkexec)।

के लिए खोजें zlib1g-dev। यदि zlib1g-dev के आगे वाला बॉक्स हरा नहीं है, तो उस पर क्लिक करें और "मार्क फॉर इंस्टालेशन" चुनें। यदि आप एक से अधिक संस्करण देखते हैं, तो चुनें 1:1.2.8.dfsg-1ubuntu1। फिर खोजते हैं libssl-dev। यदि libssl-dev के आगे वाला बॉक्स हरा नहीं है, तो उस पर क्लिक करें और "मार्क फॉर इंस्टालेशन" चुनें।

फिर "लागू करें" चुनें।


नमस्ते, जवाब देने के लिए धन्यवाद। मैंने ऊपर सब कुछ किया और मुझे अपने मूल पद के समान त्रुटि मिली। जब मैंने अपग्रेड किया तो मुझे निम्न संदेश मिला। निम्नलिखित पैकेजों को वापस रखा गया है: linux-generic-lts-utopic linux-headers-generic-lts-utopic linux-image-generic-lts-utopic 0 नवीनीकृत, 0 नव स्थापित, 0 हटाने के लिए और 3 अपग्रेड नहीं किए गए।
सैम हीले

क्या देता है apt-cache policy zlib1g-devऔरgrep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list

@Bahamut क्या आप सुनिश्चित हैं कि आप "-पी" हैं? मेरे लिए, मैंE: Command line option 'P' [from -P] is not known.
gracious1

@ शमले मैंने अपना उत्तर कुछ हद तक संशोधित किया। कोशिश करें कि मैं वहां क्या सुझाव दूं, और हमें बताएं कि यह कैसे चलता है।
अनुग्रह 1

1
@ भामुत चित्रमय कार्यक्रम के साथ कोई सूडो क्यों नहीं?
अनुग्रह १

2

आपको अपने पैकेज से संबंधित सभी फाइलों को देखना होगा और उन्हें शुद्ध करना होगा, फिर पुनर्स्थापित करना होगा।

sudo dpkg --list
sudo apt-get purge "file-name"

हर फ़ाइल के साथ दूसरी कमांड दोहराएं और फिर बस पुनः इंस्टॉल करें।


0
sudo aptitude install lib_name_depending

मेरे लिए काम किया जब मैं libcurl4-openssl-devअपने Ubuntu 14.04LTS पर स्थापित करना चाहता था ।

मेरी मशीन पर कई निर्भर लिबास स्थापित नहीं किए गए थे, और एप्टीट्यूड टूल के उपयोग के साथ, मैं स्थापित करने में सक्षम होने के लिए आवश्यक रूप से स्थापित / डाउनग्रेड करने के लिए आवश्यक रूप से स्थापित / डाउनग्रेड करने का प्रबंधन करता हूं libcurl4-openssl-dev

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