dpkg त्रुटि: "फ़ाइल को अधिलेखित करने की कोशिश की जा रही है, जो ...


108

उदाहरण के लिए:

$ sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
bsh : Depends: libjline-java but it is not going to be installed
groovy : Depends: libjline-java but it is not going to be installed
rhino : Depends: libjline-java but it is not going to be installed
E: Unmet dependencies. 

Try 'apt-get -f install' with no packages (or specify a solution).

जब मैं clojure1.3, leiningen, और कई अन्य पैकेजों को स्थापित करने का प्रयास करता हूं तो मुझे समान या समान त्रुटियां मिलती हैं।

जब मैं त्रुटि संदेश में किए गए सुझाव का प्रयास करता हूं, तो यह होता है:

$ sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  diffstat linux-headers-3.2.0-26-generic linux-headers-3.2.0-26 dh-apparmor dkms html2text libmail-sendmail-perl libsys-hostname-long-perl
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libjline-java
Suggested packages:
  libjline-java-doc
The following NEW packages will be installed:
  libjline-java
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
23 not fully installed or removed.
Need to get 0 B/72.0 kB of archives.
After this operation, 129 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 226243 files and directories currently installed.)
Unpacking libjline-java (from .../libjline-java_1.0-1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/libjline-java_1.0-1_all.deb (--unpack):
 trying to overwrite '/usr/share/java/jline.jar', which is also in package scala 2.9.2-400
Errors were encountered while processing:
 /var/cache/apt/archives/libjline-java_1.0-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 bsh : Depends: libjline-java but it is not installed
 groovy : Depends: libjline-java but it is not installed
 rhino : Depends: libjline-java but it is not installed
E: Unmet dependencies. Try using -f.

यह भी लगता है कि आपको जावा स्थापित करने की आवश्यकता है, इसके लिए सॉफ्टवेयर सेंटर में खोज करें
मार्क किर्बी

1
संभवतः इस प्रश्नोत्तर का एक डुप्लिकेट या कम से कम समाधान में मदद करनी चाहिए
danjjl

@markkirby, मैं चला गया sudo apt-get updateहै कि अगर तुम क्या पूछ रहे हैं।
16 फरवरी को लापता '15

@markkirby, JDK पहले से स्थापित है।
16 फरवरी को लापता '15

जवाबों:


72

कृपया सीधे djjl उत्तर के लिए मत जाओ , यदि आप इस तरह की "ओवरराइटिंग की कोशिश" त्रुटि का सामना करते हैं, तो संभावना है कि आपके पास परस्पर विरोधी पैकेज हैं जिन्हें पहले हल करने की आवश्यकता है।

इस मुद्दे के लिए तात्कालिक तय यह है कि इस मामले में अवांछनीय पैकेज को हटा दिया जाए scala,

sudo dpkg -P scala

इसके बाद संबंधित पैकेज मेंटेनर्स के साथ बग रिपोर्ट प्रस्तुत करने की सिफारिश की जाएगी। यह आमतौर Conflict: packageपर नियंत्रण फ़ाइल में एक पंक्ति जोड़ रहा है ।

इस त्रुटि के बारे में अधिक विस्तृत विवरण के लिए इस उत्तर को भी देखें ।


3
इस सलाह के बारे में इतना निश्चित नहीं है। मुझे लगता है कि यह स्थिति पर निर्भर करता है। आपकी पिछली पोस्टिंग के लिंक में, एक ही सॉफ्टवेयर के दो संस्करणों से संघर्ष है। मैं इस बात से सहमत हूं कि पहले पुराने सॉफ्टवेयर को हटा देना चाहिए। हालाँकि, अगर कोई समस्या है कि कैसे दो अलग-अलग कार्यक्रमों को पैक किया गया था और जो फ़ाइल अधिलेखित की जा रही है वह समान है या अन्यथा हानिरहित है, तो मुझे सलाह के साथ कोई समस्या नहीं दिखती है। नहीं, आदर्श नहीं ... लेकिन किसी को किसी विशेष उत्तर के लिए नहीं जाने के लिए कहने के लिए शायद थोड़ा चरम है अगर विकल्प बग ठीक होने तक इंतजार करना है ...
रे

@ उस मामले में एक बग रिपोर्ट क्रमानुसार हो सकती है ... लेकिन मुझे संदेह है कि उबंटू रिपॉजिटरी के सॉफ्टवेयर में यह समस्या है, क्योंकि वे इस तरह की समस्याओं के लिए डेबियन और डेबियन टेस्ट से खींच लेते हैं।
ब्रिअम जूल

1
@Braiam जब से मैंने डेबियन का इस्तेमाल किया है, यह एक लंबा समय है। शायद अब यह बेहतर है, लेकिन मैंने डेबियन के साथ समान समस्याएं देखीं। यह संपूर्ण परीक्षण की कमी के कारण नहीं है, लेकिन कभी-कभी हर संभावित परिदृश्य का परीक्षण करना कठिन होता है। कितना भी परीक्षण किया जाए, कुछ न कुछ घट सकता है। मैं बग रिपोर्ट लिखने के खिलाफ नहीं हूं, लेकिन "आसान ने कहा कि किया"। आखिरकार, सभी विरोधी पैकेजों को संक्षेप में प्रस्तुत करना कठिन हो सकता है। और, अगर कीड़े "गर्म" नहीं हैं (यानी, वे बहुत से लोगों को प्रभावित नहीं करते हैं), तो आप बस इंतजार करना समाप्त करेंगे।
Ray

शायद यह बेहतर होगा यदि मूल उत्तर को संशोधित किया गया था ताकि यह कहा जाए, "कृपया (कुछ कारण) के कारण ऐसा न करें।" ताकि कोई पेशेवरों और विपक्षों को जानने के बाद इसे अनदेखा कर सके। जैसा कि यह खड़ा है, ऊपर दिए गए उत्तर में कहा गया है कि यह मत करो।
रे

@ रे उम ... पैकेज बनाते समय dpkg फाइलों (dpkg -L पैकेज) की एक सूची संग्रहीत करता है और बस टकराव की तलाश पहले उपाय के लिए पर्याप्त होनी चाहिए। और संपूर्ण परीक्षण से मेरा मतलब था कि वास्तविक विश्व परीक्षण, अस्थिर और परीक्षण इस तरह के सामान के लिए ठीक हैं
Braiam

97

अपनी समस्या को ठीक करने के लिए

sudo dpkg -i --force-overwrite /var/cache/apt/archives/libjline-java_1.0-1_all.deb

सब कुछ चलाने से तय होता है: sudo apt-get -f install

यदि आपको अभी भी समस्या है तो किसी भी dpkg: error processing (...)शेष के साथ पहला कदम फिर से चलाएँ

समाधान webupd8 पर पाया


9
यह पैकेज को प्रभावी रूप से स्थापित करेगा लेकिन समस्या तब बनी रहती है जब दोनों पैकेज एक ही पुस्तकालय / फ़ाइल / बाइनरी का उपयोग करने की कोशिश करते हैं।
ब्रिअम

11
अच्छाई, नहीं, यह एक टूटी हुई प्रणाली के लिए एक नुस्खा है ...
fkraiem

फिक्स्ड मेरे ओड्रॉयड Plex मीडिया सर्वर अपडेट .. धन्यवाद!
मार्क

मेरे लिए काम किया, धन्यवाद
मिगुएल मोटा

44

@ danjjl की कमांड .debफाइलों के लिए काम करती है । मैंने पाया इस आदेश के साथ काम करता apt/ apt-get:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install <package-name>

4
महान टिप्पी। हालांकि सावधान रहें: यदि फाइलें अलग हैं, तो चीजों को ओवरराइट करने से गंभीर परेशानी हो सकती है। आपका एक परस्पर विरोधी पैकेज अब ठीक से काम नहीं करेगा।
पोट्टिटो

1
sudo apt-get -o Dpkg::Options::="--force-overwrite" install -fमेरे लिए इसी तरह के मुद्दे पर काम किया
user2205916

@ कैट: फिर "शानदार हैक" की तरह। ; -]
डेविड फ़ॉर्स्टर

1

यह निश्चित नहीं है कि यह एक वैश्विक सुधार है क्योंकि मेरे पास एक ही मुद्दा था, लेकिन एनवीडिया-390 के साथ कैश संघर्ष में एक libglx-mesa फ़ाइल के साथ। मैं फ़ाइल निकाल दिया है और जारी किए गए एक apt install -f -y, चलो कि समाप्त और फिर साथ रवाना हुए apt update, upgradeऔर autoremoveउस क्रम में।

apt dist-upgradeउबंटू 18.04 को निष्पादित करते समय मुझे त्रुटि मिली और इस प्रक्रिया को फिर से जारी रखा, कोई और समस्या नहीं थी और यह "मेरा" ठीक लग रहा था।

आदेश:

sudo su -
mv /var/cache/apt/archives/libglx-mesa0_18.0.0~rc5-1ubuntu1_amd64.deb ~
apt install -f -y
apt update -y
apt upgrade -y
apt autoremove -y
apt dist-upgrade

पुनश्च: एक अधिलेखित व्यक्ति को मजबूर करना एक बुरा विचार था जो मैंने कोशिश की और मैं भाग्यशाली हो गया। लेकिन मूल कारण खोजने के लिए बेहतर है, और इसे ठीक करें। मुझे अभी भी जांच करनी है लेकिन त्रुटि मुझे फ़ाइल को बाहर ले जाने के लिए ले जाती है।

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