Computer >> कंप्यूटर >  >> प्रणाली >> Linux

लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

Apt और DNF जैसे Linux पैकेज मैनेजर बेहद शक्तिशाली और सहज ज्ञान युक्त हैं, लेकिन इसका मतलब यह नहीं है कि चीजें गलत नहीं हो सकती हैं। कभी-कभी, एक पैकेज इंस्टॉल गलत हो जाता है, और आप टुकड़ों को लेने के लिए छोड़ दिए जाते हैं। पैकेज प्रबंधकों के पास आपके सिस्टम को फिर से काम करने और भविष्य में परेशानी से बचने के लिए टूटे हुए पैकेजों को ठीक करने और टूटे हुए अपडेट को छोड़ने की क्षमता है। इस लेख में लिनक्स में टूटे हुए पैकेजों को ठीक करने का तरीका बताया गया है।

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

उबंटू/मिंट/डेबियन में टूटे हुए पैकेजों को ठीक करना

एपीटी में कुछ झंडे हैं जिनका उपयोग आप लापता निर्भरताओं या पैकेजों को ठीक करने के लिए कर सकते हैं जो एक कारण या किसी अन्य कारण से इंस्टॉल के दौरान टूट गए हैं। यहां एक सामान्य उपयोग तृतीय-पक्ष .deb स्थापित करना और यह पता लगाना होगा कि इसमें ऐसी निर्भरताएँ थीं जिनके बारे में आप नहीं जानते थे। उन निर्भरताओं को शायद अपने आप में नहीं खींचा जाएगा, और dpkg शिकायत करेंगे कि उनमें पैकेज गायब है। किसी भी स्थिति में, आप निम्न चरणों का प्रयास कर सकते हैं।

लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

सबसे पहले, यह सुनिश्चित करने के लिए एक अपडेट चलाएं कि आवश्यक पैकेज के नए संस्करण नहीं हैं।

sudo apt --fix-missing update

इसके बाद, जब आप आपत्तिजनक पैकेज को फिर से स्थापित करने का प्रयास करते हैं, तो आप किसी भी लापता निर्भरता या टूटे हुए पैकेजों को देखने और उन्हें ठीक करने के लिए Apt को मजबूर करने का प्रयास कर सकते हैं। यह वास्तव में किसी भी अनुपलब्ध निर्भरता को स्थापित करेगा और मौजूदा स्थापनाओं की मरम्मत करेगा।

sudo apt install -f

एक अन्य स्थान जहां संकुल संस्थापन में त्रुटि उत्पन्न हो सकती है वह है विन्यास प्रक्रिया। पर्दे के पीछे, dpkg इस भाग की देखभाल कर रहा है, Apt नहीं, इसलिए यह इस कारण से खड़ा होगा कि जब कॉन्फ़िगरेशन के दौरान कोई पैकेज विफल हो जाता है, तो dpkg इसे ठीक करने के लिए चालू करने का उपकरण है।

लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

किसी भी टूटे या आंशिक रूप से कॉन्फ़िगर किए गए पैकेज को पुन:कॉन्फ़िगर करने के लिए dpkg को बाध्य करने का प्रयास करके प्रारंभ करें।

sudo dpkg --configure -a

यदि वह समस्या का समाधान नहीं करता है, तो आप अधिक सशक्त दृष्टिकोण अपना सकते हैं। किसी भी पैकेज को सूचीबद्ध करके प्रारंभ करें जिसे dpkg को पुनः स्थापित करने की आवश्यकता के रूप में चिह्नित किया गया है।

sudo dpkg -l | grep ^..r

आपको वहां समस्याग्रस्त पैकेज देखना चाहिए। जब तक ऐसा कुछ भी नहीं है जो वहां से संबंधित नहीं लगता, आप टूटे हुए पैकेजों को बलपूर्वक हटा सकते हैं।

sudo dpkg --remove --force-remove-reinstreq [package name]

जब dpkg हो जाए, तो Apt से साफ करने का प्रयास करें।

sudo apt clean
sudo apt update

किसी भी भाग्य के साथ, यह आपको वापस वहीं ले जाएगा जहां से आपने शुरुआत की थी। यह आपको टूटे हुए पैकेज नहीं देगा जिसे आपने स्थापित करने का प्रयास किया था, लेकिन कम से कम Apt फिर से कार्यात्मक होगा, और आप पैकेज और उसकी निर्भरता को स्थापित करने के प्रयास के लिए इसका उपयोग करने के लिए वापस जा सकते हैं।

स्थायी DPKG लॉक

आपको कुछ भी करने से रोकने वाले dpkg लॉक के साथ एक कम आम समस्या है। हर बार जब आप Apt या dpkg का उपयोग करने का प्रयास करते हैं, तो आपको यह कहते हुए एक त्रुटि मिलती है कि कोई अन्य एप्लिकेशन पहले से है ... जब यह नहीं है।

लॉक फ़ाइल को हटाना वास्तव में आसान है जो आपको Apt का उपयोग करने से रोकता है और आपको जो करना है उसे वापस करने से रोकता है। कभी-कभी ये लॉक फ़ाइलें इंस्टॉल त्रुटि या पावर आउटेज के बाद यथावत रहती हैं, प्रक्रिया को पटरी से उतार देती हैं और फ़ाइल को स्वचालित रूप से हटाए जाने से रोकती हैं। इस मामले में, आपको इसे स्वयं करना होगा।

sudo rm /var/lib/apt/lists/lock

अच्छे उपाय के लिए, कैश में लॉक को हटा दें।

sudo rm /var/cache/apt/archives/lock

Fedora/CentOS/RHEL में टूटे हुए पैकेज को ठीक करना

फेडोरा/सेंटोस/आरएचईएल में टूटे हुए पैकेजों को ठीक करना कम आम है, क्योंकि यम और डीएनएफ वास्तव में यह सुनिश्चित करने में बहुत अच्छा काम करते हैं कि पैकेज सही तरीके से स्थापित हैं। हालांकि, कभी-कभी पैकेज के उपयोग में चीजें मिश्रित हो जाती हैं। आरपीएम-आधारित सिस्टम पर ऐसा करने का आदेश है:

sudo rpm -Va
लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

-V विकल्प सत्यापित करने के लिए है, जिसका अर्थ है कि यह rpm में संग्रहीत जानकारी के साथ स्थापित फ़ाइलों पर जानकारी की तुलना करेगा और तुलना करेगा डेटाबेस। यह थोड़ा अनुपयोगी है, क्योंकि यह आमतौर पर आपको फाइलों की एक लंबी सूची देगा, लेकिन यदि आप किसी विशेष एप्लिकेशन के साथ समस्या कर रहे हैं तो यह आपको कहीं से शुरू करने के लिए दे सकता है। आप एक dnf reinstall चला सकते हैं उस सूची में दिखाई देने वाले किसी भी पैकेज पर जो आपको परेशानी दे सकता है।

sudo dnf --refresh reinstall PACKAGE_NAME

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

टूटे हुए पैकेज को आर्क में ठीक करना

हालाँकि आर्क के पैकेज मैनेजर में डेबियन की कई समानताएँ हैं, लेकिन यह पूरी तरह से अलग जानवर है। आपकी समस्या के निदान में पहला कदम यह सुनिश्चित करना है कि रिपॉजिटरी अद्यतित हैं और पूर्ण अपग्रेड का प्रयास करें:

sudo pacman -Syu

यदि आपके पैकेज को स्थापित करने या सिस्टम अपग्रेड करने के आपके प्रयास अभी भी विफल हो रहे हैं, तो हमें टर्मिनल द्वारा आपको बताए गए कारणों के अनुसार अलग करना होगा:

“अमान्य या दूषित पैकेज”

"pacman.conf" में किसी भी तरह से बदलाव करने से pacman . का कारण बनने वाली समस्याएं हो सकती हैं संकुल को भ्रष्ट के रूप में गलत तरीके से लेबल करने के लिए। यहां सबसे संभावित अपराधी पैकेज प्रबंधक कैश में आंशिक (". भाग") फ़ाइल है, और आपका समाधान इसे निकालना है:

sudo find /var/cache/pacman/pkg/ -iname "*.part" -delete

हमेशा एक मौका होता है कि जिस पैकेज को आप स्थापित करने का प्रयास कर रहे हैं वह वास्तव में दूषित है और आर्क को मान्य मेटाडेटा प्रदान नहीं करता है। उस स्थिति में, आपको इसे अपडेट करने के लिए पैकेज मेंटेनर की प्रतीक्षा करनी होगी। यदि पैकेज आपके सिस्टम पर स्थापित है और अपग्रेड के दौरान समस्या उत्पन्न कर रहा है, तो इसे निम्न के साथ हटा दें:

sudo pacman -Rns [package name]

“डेटाबेस लॉक करने में असमर्थ”

डेबियन के उपयुक्त की तरह, आर्क का पैकेज मैनेजर ऑपरेशन के दौरान लॉक फाइल बनाता है। अगर आपको बिजली की कमी या pacman का अनुभव हुआ है एक कठिन रुकावट का अनुभव किया जिससे यह लॉक को हटा नहीं सका, इसके लॉक फ़ाइल को पीछे छोड़ने की बहुत संभावना है।

सबसे पहले, पता करें कि क्या आपके कंप्यूटर पर कोई प्रक्रिया अभी भी फ़ाइल का उपयोग कर रही है:

sudo fuser /var/lib/pacman/db.lck
लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

ऊपर की छवि में, आईडी 121497 के साथ एक प्रक्रिया फ़ाइल लॉक का उपयोग कर रही है। यदि आप प्रक्रिया के बारे में उत्सुक हैं और अधिक जानकारी चाहते हैं, तो ps . का उपयोग करें :

ps -p [PID#]
लिनक्स में टूटे हुए पैकेज को कैसे ठीक करें

मेरे मामले में, एक अन्य pacman उदाहरण लॉक फ़ाइल का स्वामी है। ताला हटाने का सबसे सुरक्षित तरीका है कि पहले उस प्रक्रिया को समाप्त कर दिया जाए:

sudo kill [PID#]

अब जबकि प्रक्रिया समाप्त हो गई है, लॉक फ़ाइल को हटा दें:

sudo rm /var/lib/pacman/db.lck

अब आप जाने के लिए तैयार हैं!

“विरोधाभासी फ़ाइलें/फ़ाइल फ़ाइल सिस्टम में मौजूद हैं”

यह अपग्रेड के दौरान होता है जहां pacman एक संघर्ष का पता लगाता है। कुछ भी ठीक करने से पहले, उस फ़ाइल के पथ पर ध्यान दें जिसके बारे में पैकेज प्रबंधक शिकायत कर रहा है।

सबसे पहले हमें यह पता लगाना होगा कि फाइल का मालिक कौन है:

pacman -Qo [path to the file]

यदि यह किसी उपयोगकर्ता के स्वामित्व में है और किसी अन्य पैकेज के पास नहीं है, तो बस इसे हटा दें:

sudo rm [path to the file]

यदि यह किसी अन्य पैकेज के स्वामित्व में है, तो आप जो सबसे सुरक्षित काम कर सकते हैं, वह है पैकेज के अनुरक्षक द्वारा इस संघर्ष को स्वयं ठीक करने की प्रतीक्षा करना। हालांकि, कभी-कभी यह विकल्प नहीं होता, और आप अभी things काम करना चाहते हैं

इसे पूरा करने का सबसे आसान तरीका है --overwrite . का उपयोग करना pacman . में फ़्लैग करें . बस इतना जान लें कि यह आम तौर पर असुरक्षित है और आपके सिस्टम में कुछ एप्लिकेशन ठीक से काम नहीं कर रहे हैं। मेरा सुझाव है कि इसे चलाने से पहले बैकअप बना लें।

--overwrite ध्वज आर्क के पैकेज मैनेजर को किसी विशेष फ़ाइल के स्वामित्व नियमों को अनदेखा करने और अद्यतन के माध्यम से बस स्टीमरोल करने की अनुमति देता है। उदाहरण:

pacman -Syu --overwrite [file name]

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

अक्सर पूछे जाने वाले प्रश्न

<एच3>1. क्या मैं आर्क फिक्स को AUR हेल्पर के साथ लागू कर सकता हूँ?

सामान्य तौर पर, हाँ। इस गाइड में दिए गए कमांड में "pacman" को अपने AUR हेल्पर से बदलें। उदाहरण:

yay -Qo /path/to/file
<एच3>2. क्या ये निर्देश सुरक्षित हैं?

अधिकांश भाग के लिए, यहां प्रत्येक निर्देश किसी भी अन्य पैकेज प्रबंधन संचालन के रूप में सुरक्षित है। प्रमुख अपवाद तब होता है जब आप लॉक फ़ाइलें हटा रहे होते हैं। यदि आपके पास ऐसा करने का कोई तरीका है, तो उन फ़ाइलों को हटाने से पहले उन प्रक्रियाओं को समाप्त करना हमेशा महत्वपूर्ण होता है जो उन फ़ाइलों का उपयोग कर रहे हैं। इस बात से अवगत रहें कि आपका सिस्टम क्या कर रहा है। आप शायद भूल गए होंगे कि उपयुक्त या पॅकमैन कहीं दौड़ रहा है!

किसी भी अपग्रेड से पहले हमेशा अपने सिस्टम का बैकअप लेना सबसे अच्छा अभ्यास होगा।

<एच3>3. अगर मैं किसी अपडेट में बाधा डालता हूं तो मुझे क्या करना चाहिए?

Ctrl . दबाकर अपडेट प्रक्रिया को तोड़ना + सी , पैकेज प्रबंधक की प्रक्रिया को समाप्त करना, या समय से पहले टर्मिनल को बंद करना आपके पैकेज डेटाबेस में कुछ स्तर के भ्रष्टाचार का परिणाम देगा जो आपके लिए कुछ और स्थापित करने का प्रयास करने पर आपके लिए चीजों को जटिल कर सकता है। इसे ठीक करने के लिए, कैशे साफ़ करें और अपडेट दोहराएं।

डेबियन/उबंटू/मिंट/पॉप!_ओएस/आदि में:

sudo apt-get clean

फेडोरा/सेंटोस/आरएचईएल में:

sudo dnf clean all

आर्क में:

sudo pacman -Scc

रैपिंग अप

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

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


  1. Windows 10 में टूटे हुए रजिस्ट्री आइटम को कैसे ठीक करें

    विंडोज रजिस्ट्री आपके पीसी के सबसे जटिल हिस्सों में से एक है और शायद यह एक ऐसी जगह है जिसे आपने कभी नहीं देखा है। रजिस्ट्री एक जटिल डेटाबेस है जिसमें सेटिंग्स, हार्डवेयर जानकारी, एप्लिकेशन जानकारी, और मूल रूप से आपके पीसी से संबंधित प्रासंगिकता की कोई भी चीज़ शामिल है . यदि आप यह सुनिश्चित करना चाहत

  1. Excel में टूटे हुए हाइपरलिंक को कैसे ठीक करें (5 तरीके)

    हाइपरलिंक किसी भी डेटा या संसाधन को केवल क्लिक या टैप करके अनुसरण करने के लिए एक बहुत ही उपयोगी विशेषता है। कई अन्य Office सॉफ़्टवेयर की तरह, Microsoft Excel हमें अपनी सामग्री में हाइपरलिंक बनाने, सम्मिलित करने और संपादित करने की अनुमति देता है। लेकिन कभी-कभी हाइपरलिंक अमान्य हो जाते हैं। यह विभिन्न

  1. मैं अवास्ट ब्रोकन रजिस्ट्री आइटम को कैसे ठीक करूं

    “गोपनीयता कोई ऐसी चीज़ नहीं है जिसका मैं केवल हकदार हूं, यह एक पूर्ण शर्त है . इसलिए, अपने डिवाइस को एंटीवायरस सॉफ़्टवेयर के साथ स्थापित करना महत्वपूर्ण हो जाता है ताकि आपके संवेदनशील डेटा और फ़ाइलों को खतरों के संपर्क में कभी न छोड़ें। वायरस, मैलवेयर, स्पाइवेयर, एडवेयर, ट्रोजन, रूटकिट, और सूची अंत