सवाल प्रशासन निर्देशिका को लॉक करने में असमर्थ (/ var / lib / dpkg /) इसका उपयोग कर एक और प्रक्रिया है?


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

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?  

मैं इसे कैसे ठीक करूं?


838
2017-11-30 02:12


मूल


अगर आप रीबूट करते हैं तो यह भी सच है? हो सकता है कि कुछ पुराना एपीटी थ्रेड फ़ाइल को लॉक कर रहा हो, आपको यह पता लगाना होगा कि इसे कौन सा और मार डाला जाए या बस रीबूट करना होगा। - Bruno Pereira
यह कार्यविधि लगभग हमेशा इस समस्या को हल करता है, और जब ऐसा नहीं होता है, तो इसका आउटपुट (टर्मिनल से टेक्स्ट) कभी-कभी उपयोगी होता है। यदि आप इसे करने का निर्णय लेते हैं, तो आप इस पाठ को अपने प्रश्न में जोड़ सकते हैं। - Eliah Kagan
मैं इस मुद्दे का सामना करते समय एक और चीज सुझा सकता हूं जिसे आप नोट कर सकते हैं। जांचें कि क्या आपकी डिस्क ड्राइव आरोहित हैं। यदि वे नहीं हैं, तो आप लॉक प्राप्त करने में सक्षम नहीं हो सकते क्योंकि पैकेज इंस्टॉलर फाइल सिस्टम तक पहुंच नहीं पाएगा। उम्मीद है की यह मदद करेगा। :) - Hari
आप उपयोग कर सकते हैं sudo lsof /var/lib/dpkg/lock लॉक फ़ाइल का मालिक होने वाली प्रक्रिया को ढूंढने के लिए (यदि खाली है, तो मान लें कि लॉक पिछले बूट से छोड़ा गया है और हो सकता है sudo rmडी), फिर एक करने पर विचार करें sudo kill -9 <PID> (से <पीआईडी> प्राप्त करें lsof उत्पादन। - waltinator
यह एक संकेत हो सकता है कि कुछ और सॉफ्टवेयर स्थापित कर रहा है या हटा रहा है और क्रियाओं को निष्पादित करते समय उपयुक्त डेटाबेस को लॉक कर दिया है। - Foreever


जवाब:


इसका उपयोग अंतिम उपाय के रूप में किया जाना चाहिए। यदि आप इस लापरवाही से उपयोग करते हैं तो आप टूटी हुई प्रणाली के साथ समाप्त हो सकते हैं। कृपया कोशिश करें अन्य  जवाब  प्रथम ऐसा करने से पहले।

आप निम्न आदेश के साथ लॉक फ़ाइल को हटा सकते हैं:

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

आपको कैश निर्देशिका में लॉक फ़ाइल को हटाने की भी आवश्यकता हो सकती है

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

उसके बाद, फिर से सिनैप्टिक खोलने का प्रयास करें।


719
2018-02-07 02:22



ठीक है ... लेकिन यह क्यों हुआ? - Jaime Hablutzel
@जाइम: शायद एपीटी-गेट (या इसके लिए कुछ जीयूआई फ्रंटएंड) को लॉक किए गए राज्य में एपीटी छोड़कर निष्पादित करते समय रोक दिया गया था। - bouke
मैं इसे सबसे अच्छा जवाब मानता हूं। सही वाला। - Anwar
@ अनवरशह नहीं, सिस्टम की फाइलों को हटाने के लिए जाने से पहले अन्य विचार हैं। - Braiam
आरएम / var / lib / dpkg / ताला; dpkg --configure -a: - WitchCraft


मैं बहुत सारे जवाब लॉक हटाने की सलाह देते हैं। मैं इसे पहले उपाय के रूप में करने की अनुशंसा नहीं करता; शायद अगर कोई विकल्प नहीं है। लॉक तब रखा जाता है जब एक उपयुक्त प्रक्रिया चल रही है, और प्रक्रिया पूरी होने पर हटा दी जाती है। यदि कोई लॉक नहीं है जिसमें कोई स्पष्ट प्रक्रिया नहीं चल रही है, तो इसका मतलब यह हो सकता है कि प्रक्रिया किसी कारण से फंस गई है।

अगर तुम कोशिश करो

ps aux | grep apt

जो शब्द युक्त प्रक्रियाओं को पकड़ लेगा apt, कम से कम। यदि आप एक देखते हैं apt-get प्रक्रिया या एक aptitude प्रक्रिया जो फंस लगती है, आप कोशिश कर सकते हैं

kill processnumber

और अगर यह काम नहीं करता है तो कोशिश करें

kill -9 processnumber

यह प्रक्रिया को मारना चाहिए और ताला हटा सकता है। एक हत्या apt या aptitude प्रक्रिया हानिरहित है जब तक यह वास्तव में पैकेज स्थापना के बीच में नहीं है। किसी भी मामले में, अगर प्रक्रिया फंस गई है, तो शायद आपके पास इसे मारने के अलावा कोई विकल्प नहीं है।

एक मारना dpkg सीधे प्रक्रिया, अगर मौजूद है, तो एक अच्छा विचार नहीं है, क्योंकि अगर dpkg सक्रिय है, यह शायद पैकेज डेटाबेस में हेरफेर कर रहा है, और इसे मारने से पैकेज असंगत स्थिति में पैकेज डेटाबेस छोड़ सकता है; यानी दूषित

एक हत्या apt-get या aptitude प्रक्रिया सामान्य रूप से अधिक सुरक्षित है।


550
2017-07-03 09:01



@ लिंक्स मुझे हत्या नहीं लगता है dpkg आमतौर पर एक अच्छा विचार है dpkg सीधे पैकेज डेटाबेस में हेरफेर कर रहा है, और इससे भ्रष्टाचार हो सकता है। - Faheem Mitha
यदि डीपीकेजी की हत्या अपने डेटाबेस को दूषित कर सकती है, तो डीपीकेजी को बुरी तरह डिजाइन किया गया था। अवधि। - Jay Sullivan
मेरे लिए, इसके परिणामस्वरूप एक त्रुटि हुई dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. चलते समय sudo apt-get dist-upgrade फिर। आदेश को चलाने के बाद इस मुद्दे को हल किया गया। मुझे निक्स पसंद है! - Wayne Phipps
ध्यान दें, killall apt-get आपके जैसा ही काम करता है ps/kill कॉम्बो। - Cerin
ध्यान दें कि मैंने पाया कि मुझे दौड़ने की जरूरत है sudo dkpg --configure -a चीजों को सामान्य पर वापस लौटने के लिए नकली उपयुक्त प्रक्रिया को मारने के बाद। - starbeamrainbowlabs


अपना हटाओ /var/lib/dpkg/lock फ़ाइल और बल पैकेज पुनर्गठन।

sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a

इसके बाद इसे काम करना चाहिए।


175
2018-01-29 11:27



इन आदेशों ने मदद की, लेकिन अब जब मैंने दोबारा स्थापित करने का प्रयास किया, तो यह जवाब मिला: लॉक / var / cache / apt / archives / lock - open नहीं मिल सका। मुझे लगता है कि मुझे पिछले अनलॉकिंग समस्या की तरह करना होगा, लेकिन कृपया मुझे कमांड के लिए सटीक कीवर्ड बताएं। मैं एक पूर्ण शुरुआत कर रहा हूँ। - kern
sudo - रूट के रूप में कमांड निष्पादित करें, rm - फ़ाइल को हटाएं। शायद कोशिश करो sudo rm /var/cache/apt/archives/lock - kubahaha
यह एक अच्छा सुझाव नहीं है: भाग्य को अंधाधुंध हटाने से डीपीकेजी की स्थिति भ्रष्ट हो सकती है। - poolie
आजकल खुद को ठीक क्यों नहीं किया? - Marian Klühspies
यह मेरे लिए काम किया। उपरोक्त aws नहीं था। - 1rq3fea324wre


यदि आप उपयोग करना भूल जाते हैं तो आपको यह संदेश मिल जाएगा sudo एक apt कमांड निष्पादित करते समय।

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

  • सॉफ्टवेयर केंद्र
  • अद्यतन प्रबंधक
  • उपयुक्त लिंक इंस्टॉलर (मुझे लगता है कि यह अब अनुसूचित जाति के माध्यम से चला जाता है)
  • Apt-get या aptitude कमांड लाइन उपयोगिताओं।
  • सिनैप्टिक पैकेज प्रबंधक

महत्वपूर्ण: केवल अंतिम उपाय के रूप में नीचे आज़माएं क्योंकि यह आपके सिस्टम को क्रैश कर सकता है। सबसे पहले किसी भी चल रहे उदाहरण को मारने का प्रयास करें apt या aptitude जैसा कि वर्णन किया गया है फहीम का जवाब

आप फ़ाइल को हटाकर लॉक को मजबूर कर सकते हैं, लेकिन लॉक को सुरक्षित रूप से पकड़ने वाले प्रोग्राम को बंद किए बिना इसकी अनुशंसा नहीं की जाती है, क्योंकि आप भ्रष्टाचार का कारण बन सकते हैं या एक इंस्टॉलेशन (खराब) को बाधित कर सकते हैं। João द्वारा प्रदान किया गया आदेश उस प्रोग्राम को बंद करना चाहिए जो लॉक रखता है और फिर लॉक को हटा देता है लेकिन इंस्टॉल बाधा से आपको सुरक्षित नहीं करेगा:

sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   

और एपीटी कैश लॉक के लिए एक ही कमांड का उपयोग किया जा सकता है:

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock

97
2017-11-30 02:17



जब मुझे त्रुटि संदेश मिला तो मैं अपने सॉफ़्टवेयर को अपडेट कर रहा था। - raindrop
यह मेरे लिए दुर्घटनाग्रस्त हो गया- - umpirsky
sudo fuser -cuk /var/cache/apt/archives/lock सीधे मेरे कंप्यूटर को रिबूट किया। apt-get अब अनलॉक है। - Maxime R.
यह मेरा पूरा सर्वर दुर्घटनाग्रस्त हो गया। - 에이바
एपीटी या डीपीकेजी आधा रास्ता मारना एक अच्छा विचार नहीं है। - poolie


इसे हिट करने का सबसे संभावित तरीका यह है:

  • बूट उबंटू
  • एक टर्मिनल शुरू करें
  • प्रकार sudo apt-get install whatever

और कमांड लाइन apt के साथ अतिछादित होता है update-manager स्वचालित रूप से मतदान।

तो यदि आप कुछ मिनटों में फिर से प्रयास करते हैं तो इसे ठीक करना चाहिए।


67
2017-11-30 03:08



आधा दर्जन उत्तरों के विपरीत महान संकेत फ़ाइल को निकालने का सुझाव देते हैं ;-) मैं यादृच्छिक रूप से इस मुद्दे पर भाग गया और सबसे अधिक संभावना यह है! - Alex
पर्याप्त सुरक्षित, थोड़ा पहले इंतजार करना पड़ा sudo apt-get install काम कर सकता है। - sargas
वैसे यह हमेशा काम नहीं कर रहा है, हाँ मैंने कई बार रीबूट का उपयोग किया है। यदि यह उपयुक्त नहीं है तो इसे आजमाएं askubuntu.com/a/315791/378845 ताले को हटाने से पहले - Menuka Ishan
@menuka, क्यों न सिर्फ इसे खत्म करने दें। - poolie
@poolie क्योंकि अन्य बाधाएं हैं जो प्रक्रिया को खत्म करने से रोक रही हैं - Menuka Ishan


केवल एक प्रोग्राम लॉक पकड़ सकता है। सुनिश्चित करें कि आप योग्यता, synaptic या adept नहीं चल रहे हैं। प्रोग्राम बंद करें और इसे फिर से चलाएं इसे काम करना चाहिए। आप या तो सिनैप्टिक खुले हो सकते हैं, या एक और टर्मिनल विंडो खुली चल रही है, या अपडेट मैनेजर चल रहा है। इसे जांचें और देखें कि उनमें से कोई भी चल रहा है, अगर इनमें से कोई भी चल रहा है वे इसे बंद कर रहे हैं और पुनः प्रयास करें।

क्या चल रहा है यह जानने के लिए टर्मिनल में इस कमांड को आज़माएं

ps -e | grep -e apt -e adept | grep -v grep

ध्यान दें:
अगर वह कुछ भी प्रिंट नहीं करता है, तो लॉक को हटाने के लिए टर्मिनल में निम्न टाइप करें

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

अब आप किसी भी पैकेज को स्थापित कर सकते हैं।


48
2017-11-30 04:55



लॉक फ़ाइल को हटाना, मैं क्या सोचूंगा, एक खतरनाक चीज है। यदि कोई अन्य प्रक्रिया वैध कारण के लिए लॉक हो रही है - और आप उस लॉक फ़ाइल को हटा दें और जो भी आप पहले कर रहे थे उसके साथ इंस्टॉल करें - आप गंभीर रूप से, नकारात्मक तरीके से, अपने सिस्टम को प्रभावित कर सकते हैं। - Marco Ceppi♦
यही कारण है कि मैंने इसे नोट में दिया है। अगर उपरोक्त सभी विफल रहता है तो ताला को हटाने का एकमात्र तरीका है। यह तब तक कोई समस्या नहीं पैदा करेगा जब तक डीपीकेजी और एपीटी-गेट / योग्यता प्रक्रियाएं नहीं चल रही हैं - karthick87
pgrep -f 'apt|adept|dpkg' बहुत छोटा है। - Barry
धन्यवाद! यह काम। pgrep -f 'apt | adept | dpkg' और फिर सुडो कौशल (संख्या), सभी संख्याओं को मार डालो और फिर काम स्थापित करें! - creator


अब तक संभव पृष्ठभूमि चलने के इंस्टॉलेशन को तोड़ने के बिना इसे काम करने का सबसे अच्छा तरीका है (क्योंकि यह लॉक फाइल को हटाकर हो सकता है), एपीटी का उपयोग कर सेवा को रोक रहा है:

त्रुटि:

# sudo apt-get upgrade
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?`

उपाय:

sudo systemctl stop apt-daily.timer

सिस्टम को अपग्रेड करने के बाद, मैं इसे पुन: सक्षम करने का सुझाव देता हूं, क्योंकि बग लॉकिंग को अपग्रेड के साथ ठीक किया जा सकता है।

sudo systemctl start apt-daily.timer 

मैंने सत्यापित नहीं किया है कि यह त्रुटि अपग्रेड करने के बाद ठीक हो जाती है। एक बार मेरे पास सत्यापित होने के बाद मैं एक नई टिप्पणी जोड़ूंगा


35
2018-02-02 10:01



सिस्टम को अपग्रेड करने और apt-daily.timer सेवा को फिर से शुरू करने के बाद मुझे अब तक इस समस्या का सामना नहीं करना पड़ेगा। - Jairelee
इसने मेरा मुद्दा हल किया, धन्यवाद। - inkredibl
यह शायद उन सभी उच्च वोट किए गए उत्तरों की तुलना में सबसे साफ विधि है। यह मेरे मामले में बेकार ढंग से काम किया, धन्यवाद! - CygnusX1
यह 17.10 पर भी बेकार ढंग से काम किया - Elder Geek
18.04 में ठीक काम करना :) - Naveen Kumar V