अद्यतन प्रबंधक / apt-get उन्नयन के माध्यम से किसी भी अद्यतन को स्थापित करने में असमर्थ


12

मैं पिछले कुछ हफ्तों से Ubuntu 12.04 चला रहा हूं। मैंने हाल ही में अद्यतन प्रबंधक के माध्यम से कुछ फ़ाइलों को डाउनलोड करने और स्थापित करने का प्रयास किया है। यह कुछ फ़ाइलों को स्थित करता है, उन्हें डाउनलोड करता है, लेकिन फिर उन्हें स्थापित करने में विफल रहा। इसने त्रुटि दी:

installArchives() failed: (Reading database ... 
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error

मैंने प्रयोग करने की कोशिश की apt-get upgradeलेकिन एक समान त्रुटि उत्पन्न हुई:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

किसी भी तरह की सहायता का स्वागत किया जाएगा। अग्रिम में धन्यवाद।

संपादित करें: यहाँ कुछ अतिरिक्त जानकारी है जो उपयोगी हो सकती है। मेरी मूल समस्या यह थी कि उबंटू सॉफ्टवेयर सेंटर नहीं खुलेगा। मैंने पाया कि अपडेट मैनेजर और सिनैप्टिक पैकेज मैनेजर भी खोलने में विफल रहे। उन्होंने सभी की तर्ज पर एक त्रुटि दी:

"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"

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


आपने कौन सी फाइलें डाउनलोड की हैं? कहाँ से? अपडेट मैनेजर का इससे क्या लेना-देना है?
मिखावतवर

आप संदेश में पैकेज को अनइंस्टाल (और बाद में पुन: स्थापित) करने का प्रयास कर सकते हैं। यदि वह विफल रहता है तो आप कैश को हटाने का प्रयास कर सकते हैं।
जॉन एस ग्रुबर

मैं अभी भी इसे ठीक करने पर काम कर रहा हूं, मुझे अभी तक मौका नहीं मिला है। मैं यहाँ दिए गए निर्देशों को आज़माने जा रहा हूँ: goo.gl/oOKqG जब मेरे पास मौका होगा।
user64654

आपने 12.04 और 14.04 को स्थापित करने का विकल्प क्यों चुना? आखिरकार, आपने कहा कि आपको यह कुछ हफ़्ते पहले मिला है, और ट्रस्टी नौ महीने के लिए बाहर हो गया है।
जॉन स्कॉट

जवाबों:


16

मैंने इन निर्देशों के साथ समस्या को ठीक कर दिया है

तो समाधान निम्नलिखित है:

  1. /var/lib/dpkgनिर्देशिका में जाओ
  2. statusफ़ाइल का बैकअप बनाएँ
  3. statusफ़ाइल को संपादित करें
  4. उस पैकेज को खोजें जिसमें त्रुटि दी गई थी
  5. बस इस पैकेज से लाइनों को हटा दें (लेकिन अन्य सभी लाइनों को अन्य पैकेजों की चिंता करने दें, भले ही उनके "रिपल्सेस" या "डिपेंड्स" फ़ील्ड में टूटे हुए पैकेज शामिल हों)

    [...]

  6. statusफ़ाइल में परिवर्तन सहेजें

  7. Daud: sudo dpkg --configure -a
  8. लापता निर्भरताओं की फिर से स्थापना को मजबूर करें (क्योंकि अब, कुछ हैं):

    sudo apt-get -f install
    

    मुझे लगता है कि अगर टूटा हुआ पैकेज किसी अन्य पैकेज पर निर्भर नहीं करता है (दुर्लभ हो सकता है), तो इसे पुनर्स्थापित करें:

    sudo apt-get install the_package
    
  9. सब कुछ ठीक है अब नए पैकेज अपडेट, अपग्रेड या इंस्टॉल कर सकते हैं!

यह ध्यान दिया जाना चाहिए कि मेरे पास वहां दिए गए समाधान के लिए कुछ मतभेद थे। स्थिति फ़ाइल को संपादित करना आसान नहीं था (क्योंकि यह एक महत्वपूर्ण फ़ाइल है और कभी भी संपादित होने का मतलब नहीं है)। वहां किए गए किसी भी संपादन को सावधानी से किया जाना चाहिए, और कोई भी बदलाव करने से पहले फ़ाइल का बैकअप लेना चाहिए।

मुझे 4-8 बार (हर बार त्रुटि एक अलग पैकेज के साथ ही होगी) चरणों को दोहराना पड़ा। अंत में जब सभी पैकेज हटा दिए गए, मैं उन्हें पुनः स्थापित करने में सक्षम था, और इसने मेरी समस्या को ठीक कर दिया।


आपने कैसे पाया कि किन पैकेजों में त्रुटि हुई?
Seanny123

@ Seanny123 पूर्व-स्थापित करने के लिए पूर्व प्रयास संभवतः त्रुटि दिखा रहा होगा। उदाहरण के लिए मेरे मामले में मेरे पास "मैनपाज-डीए": इनपुट / आउटपुट त्रुटि "प्रॉम्प्ट लौटने से ठीक पहले" पठन फ़ाइलें सूची है। स्थिति फ़ाइल में, मैंने "पैकेज: मैनपेस-देव" की खोज की और लाइनों को अगले "पैकेज:" लाइन तक हटा दिया। उसके बाद मुझे एक मैनुअल करना पड़ा "apt-get install manpages-dev" और फिर मेरी पहले वाली असफलता "एप-गेट डिस्ट-अप-अपग्रेड" बिना त्रुटियों के पूरी हुई। (धन्यवाद user64654!)
पीटर हैनसेन

2

ऐसा हो सकता है कि डिस्क इनोड से दूषित हो।

एक लाइव सीडी के साथ, इस कमांड को रन करें

sudo fdisk -l

डिस्क और विभाजन पर ध्यान दें, /dev/dsb1 फिर इसे मरम्मत किया जा सकता है:

sudo fsck -y /dev/sdb1

रिबूट, और सिस्टम पर वापस लौटें

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade

मैं के माध्यम से किया था sudo shutdown -rF nowऔर बिना कुछ आगे, सब कुछ फिर से ठीक था।
Klaws
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.