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


1023

उपयोग करने का प्रयास करते समय मुझे यह त्रुटि मिली 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?  

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


18
यह भी सच है अगर आप रिबूट करते हैं? हो सकता है कि कुछ पुराने उपयुक्त थ्रेड फ़ाइल को लॉक कर रहे हों, आपको यह पता लगाने की जरूरत है कि कौन सा और इसे मारना है या सिर्फ रिबूट करना है।
ब्रूनो परेरा

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

54
आप sudo lsof /var/lib/dpkg/lockउस प्रक्रिया को खोजने के लिए उपयोग कर सकते हैं जो लॉक फ़ाइल का मालिक है (यदि खाली है, तो मान लें कि पिछले बूट से लॉक बचा हुआ है और sudo rmडी हो सकता है ), तो आउटपुट करने के लिए एक पर विचार करें sudo kill -9 <PID>(प्राप्त करें <PID>lsof
वॉल्टिनेटर

11
यह एक संकेत हो सकता है कि कुछ और सॉफ़्टवेयर स्थापित कर रहा है या हटा रहा है और यह क्रिया करते समय उपयुक्त डेटाबेस को लॉक कर दिया है।
हमेशा के लिए

5
मेरे उबंटू 18.04 वीएम पर एक प्रक्रिया है जिसे अनअटेंडेड-अपडेट कहा जाता है, जिसे एक प्रक्रिया द्वारा root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held installचलाया जाता है, जैसे कि मैं मशीन को चालू करने पर हर बार उपयुक्त अपडेट चलाता हूं। अद्यतन के आकार पर निर्भर करता है (जो अक्सर बहुत पहले से मेल खाती है क्योंकि मैंने उस मशीन का उपयोग पिछली बार किया था), इसे पूरा करने के लिए 1-10 मिनट से उपयोग कर सकते हैं। उसके बाद, मैनुअल एप इंस्टॉल और अपडेट के लिए लॉक को मुक्त किया गया है। कोशिश करो: sudo ps aux|grep aptया `sudo ps aux | grep अप्राप्य।
Kjetil S.

जवाबों:


871

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

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

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

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

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

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


13
ठीक है ... लेकिन ऐसा क्यों हुआ?
जैम हैबटलजेल

40
@ याइमेइम: शायद एप्ट-गेट (या कुछ जीयूआई सामने वाला) इसे निष्पादित करते समय रोक दिया गया था, जिसे एक बंद अवस्था में छोड़ दिया गया था।
बुके

10
मैं इसे सर्वश्रेष्ठ उत्तर के रूप में स्वीकार करूंगा। सही वाला।
अनवर

9
@AnwarShah नहीं, सिस्टम की फ़ाइलों को हटाने के आसपास जाने से पहले अन्य विचार हैं।
ब्रायन

22
rm / var / lib / dpkg / lock; dpkg --configure -a:
चुड़ैलक्राफ्ट

664

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

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

ps aux | grep [a]pt

या

pgrep -a apt

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

sudo kill processnumber

और अगर वह काम नहीं करता है

sudo kill -9 processnumber

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

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

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


18
@ मुझे नहीं लगता कि हत्या dpkgएक अच्छा विचार है, क्योंकि आमतौर पर dpkgसीधे पैकेज डेटाबेस में हेरफेर होता है, और इससे भ्रष्टाचार हो सकता है।
फहीम मीठा

18
यदि dpkg को मारना उसके डेटाबेस को दूषित कर सकता है, तो dpkg को बुरी तरह से डिज़ाइन किया गया था। अवधि।
जे। सुलिवन

10
मेरे लिए, यह फिर से dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.चलाते समय एक त्रुटि हुई sudo apt-get dist-upgrade। कमांड को चलाने के बाद समस्या हल हो गई। मैं निक्स से प्यार करता हूँ!
वेन Phipps

5
ध्यान दें, killall apt-getआपके ps/ killकॉम्बो के समान ही काम करता है ।
सेरिन

3
ध्यान दें कि मैंने पाया कि sudo dkpg --configure -aचीजों को वापस सामान्य करने के लिए दुष्ट प्रक्रिया को मारने के बाद मुझे दौड़ने की जरूरत थी ।
Starbeamrainbowlabs

219

अपनी /var/lib/dpkg/lockफ़ाइल और बल पैकेज पुन: कॉन्फ़िगर करने के लिए निकालें ।

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

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


इन आदेशों ने मदद की, लेकिन अब जब मैंने फिर से स्थापित करने का प्रयास किया, तो यह उत्तर मिला: लॉक / var / cache / apt / archives / lock - open नहीं मिल सका। मुझे लगता है कि मुझे पिछली अनलॉकिंग समस्या की तरह करना होगा, लेकिन कृपया मुझे कमांड के लिए सटीक कीवर्ड बताएं। मैं एक पूर्ण शुरुआत हूँ।
केरन

1
sudo- रूट के रूप में कमांड निष्पादित करें, rm- फ़ाइल को हटा दें। शायद कोशिश करेंsudo rm /var/cache/apt/archives/lock
kubahaha

5
यह एक अच्छा सुझाव नहीं है: नेत्रहीन रूप से भाग्य को हटाने से dpkg की स्थिति भ्रष्ट हो सकती है।
पूल

5
क्यों यह आजकल खुद को ठीक नहीं करता है?
मैरिएन Klühspies

2
इसने मेरे लिए काम किया। ऊपर aws नहीं किया।
1rq3fea324wre

108

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

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

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

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

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

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

और एक ही कमांड का इस्तेमाल apt कैश लॉक के लिए किया जा सकता है:

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

5
त्रुटि संदेश मिलने पर मैं अपना सॉफ़्टवेयर अपडेट कर रहा था।
बरसाती

20
यह मुझ के लिए दुर्घटनाग्रस्त हो गया
umpirsky

5
sudo fuser -cuk /var/cache/apt/archives/lockसीधे मेरे कंप्यूटर को रिबूट किया। apt-getअब अनलॉक किया गया है।
मैक्सिम आर।

15
इससे मेरा पूरा सर्वर क्रैश हो गया।
에이 에이

5
Apt या dpkg को आधे रास्ते से मारना एक महान विचार नहीं है।
poolie

99

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

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

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

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


21
आधा दर्जन जवाबों के विपरीत महान संकेत केवल फ़ाइल को हटाने का सुझाव देते हैं;; मैं बेतरतीब ढंग से इस मुद्दे में भाग गया और सबसे अधिक संभावना यह है कि यह है!
एलेक्स

2
पर्याप्त सुरक्षित, sudo apt-get installकाम करने से पहले थोड़ा इंतजार करना पड़ा ।
सर्ग

खैर यह हमेशा काम नहीं कर रहा है, हां मैंने कई बार रिबूट का इस्तेमाल किया है। यदि आपके द्वारा ताले हटाने से पहले यह पूछना उचित नहीं है, तो askubuntu.com/a/315791/378845
मेनुका ईशान

@menuka, क्यों न इसे खत्म कर दिया जाए।
poolie

@ पल्ली क्योंकि अन्य अड़चनें हैं जो प्रक्रिया को खत्म होने से रोक रही हैं
मेनुका ईशान

52

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

टर्मिनल में इस कमांड की कोशिश करें कि क्या चल रहा है

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

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

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

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


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

5
इसीलिए मैंने नोट किया है कि अगर Note.If में ऊपर का एकमात्र तरीका लॉक को हटाने में विफल रहता है। तब तक कोई समस्या नहीं होगी, जब तक कि dpkg और apt-get / aptitude प्रक्रिया नहीं चल रही हैं
karthick87

pgrep -f 'apt|adept|dpkg'बहुत छोटा है।
dhchdhd

धन्यवाद! यह काम। pgrep -f 'apt | adept | dpkg' और उसके बाद sudo skill (नंबर), सभी नंबर को मारें और फिर काम करें!
रचनाकार

@ बेरी जो पूरे रास्ते + प्रक्रिया के साथ मेल खाती है। मुझे लगता pgrep -a 'apt|adept|dpkg'है कि एक बेहतर छोटे समकक्ष है।
पाब्लो ए

46

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

त्रुटि:

# 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

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


सिस्टम को अपग्रेड करने और apt-daily.timer सेवा को फिर से शुरू करने के बाद मैं अब तक इस मुद्दे का सामना नहीं कर रहा हूं।
Jairelee

यह संभवतः उन सभी उच्चतर मतदान उत्तरों की तुलना में सबसे साफ विधि है। यह मेरे मामले में निर्दोष रूप से काम करता है, धन्यवाद!
CygnusX1

इसने 17.10 को निर्दोष रूप से काम किया
एल्डर गीक

17.10 +1
Eng.Fouad

2
18.04 में काम करना ठीक है। :)
नवीन कुमार V

33

सबसे पहले हमें यह देखना चाहिए कि किस प्रक्रिया ने लॉक फाइल का उपयोग करके बनाया है lsof:

sudo lsof /var/lib/dpkg/lock

या किसी अन्य स्थिति में जहां /var/lib/apt/lists/lockसमस्याग्रस्त है:

sudo lsof /var/lib/apt/lists/lock

आउटपुट कुछ इस तरह होगा:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
apt-get   12127 root   4uW  REG  252,1        0    86   /var/lib/apt/lists/lock

फिर हमें यह जांचना चाहिए कि कमोड क्या कर रहा है, हम इसका उपयोग करके पता लगा सकते हैं ps, pgrepआदि; कमांड apt-getतो मैं चला रहा हूँ:

pgrep apt-get -a

-aस्विच मेरे लिए पूर्ण आदेश को सूचीबद्ध करता है, मेरे मामले में यह बताया गया है:

 pgrep -a apt-get
 12127 apt-get update

हम देख सकते हैं कि यह updateसबकुम चल रहा है, मैं कुछ इस तरह भी चला सकता हूं:

ps -f 12127

जो पैदा करता है:

UID        PID  PPID  C STIME TTY      STAT   TIME CMD
root     12127 12126  0 09:39 pts/0    S+     0:00 apt-get update

इस मामले में मैं कुछ मिनट के लिए इंतजार करेंगे संसाधन मुक्त होने के लिए और अगर 2 या 3 मिनट समस्या के बाद अभी भी मौजूद हैं या आदेश कुछ है कि मैं के बारे में परवाह नहीं था या नहीं (इस तरह सिस्टम के लिए हानिकारक था apt-get update) मैं एक भेजने SIGTERMके लिए प्रक्रिया:

sudo kill -15 12127

यह काम करना चाहिए यह किया मुझे नहीं भेजने के लिए जा रहा हूँ SIGINTइस बार (यह दबाने की तरह है CTRL+ C):

sudo kill -2 12127

यदि यह भी काम नहीं करता है, तो हमें एक SIGHUP( kill -1) भेजना चाहिए , और अंत में अगर कुछ भी काम नहीं करता है तो मैं बस इस प्रक्रिया को मार सकता हूं:

sudo kill -9 12127

या

sudo pkill -9 apt-get

तब मैं व्यस्त संसाधनों को हटा देता हूं:

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

एक छोटी सी बात यह है कि प्रश्न में फ़ाइल के /var/lib/dpkg/lockबजाय है /var/lib/apt/lists/lock
चाई टी। रेक्स

1
मूल देवताओं का धन्यवाद करें कि कोई अंततः उल्लेख करता है pgrepऔर pkill
dhchdhd 21

1
यह स्वीकृत उत्तर होना चाहिए।
मारवान नबील

अगर एक स्थापित या अपग्रेड के कारण यह dpkg --configure -aआवश्यक हो सकता है
LUXS

यह मेरे लिए काम करता है
सुंदरदीप

21

यह त्रुटि अपडेट प्रबंधक द्वारा पृष्ठभूमि में पैकेजों की सूची को स्वचालित रूप से ताज़ा करने की कोशिश करने के कारण हो सकती है, आमतौर पर आपके लॉगिन के बाद, इस प्रकार निर्देशिका को लॉक करना।

इस स्थिति में स्थिति की जाँच करने के लिए अद्यतन प्रबंधक को पूरा करने या लॉन्च करने के लिए बस कुछ सेकंड (या अधिक, यदि आपका अंतिम अपडेट बहुत पहले हुआ था) प्रतीक्षा करें।


उबंटू 16.04 स्थापित करने के बाद मेरा यह अधिकार था। पता चला कि उबंटू सॉफ्टवेयर सेंटर में एक पृष्ठभूमि प्रक्रिया थी जो कुछ अपडेट को मैन्युअल रूप से स्थापित करने के लिए मेरा इंतजार कर रही थी।
jvriesem

16.04 की एक नई स्थापना के बाद डिट्टो। यह मेरे मामले में "कुछ सेकंड" की तुलना में बहुत अधिक है (मेरे पास इस पूरे प्रश्नोत्तर पृष्ठ को पढ़ने के लिए समय था!) ​​लेकिन psकुछ समय ताज़ा करने के बाद मैं देख सकता dpkgथा कि सामान की पूरी लोडिंग अपडेट हो रही थी और मैं यह सब खत्म होने का धैर्यपूर्वक इंतजार कर रहा था। । मैंने तब तक सॉफ्टवेयर अपडेटर चलाया जब तक कि कुछ भी नया स्थापित करने की कोशिश करने से पहले सब कुछ अद्यतित था।
चार्ली जॉयंट

16

ऐसा तब होगा जब आपके पास किसी भी अपडेट की जाँच के लिए 'अपडेट मैनेजर' समानांतर में चल रहा होगा या प्रक्रिया स्थानों को स्थापित करने के रूप में स्थापित होगा। यदि आप 'अपडेट मैनेजर' के बिना उसी त्रुटि का सामना कर रहे हैं, तो आपको इसे हटाना होगा /var/lib/dgkg/lock, जो निश्चित रूप से आप इसे मैन्युअल रूप से नहीं कर सकते

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

ठीक काम करता है। से लिया गया: https://askubuntu.com/a/15469/68707


1
मेरे मामले में यह समस्या थी!
लंदनरॉब

1
फ्यूज़र कमांड के बाद से बेहतर समाधान अन्य प्रक्रिया को ट्रैक करने के लिए उपयोग किया जाता है (यदि अभी भी जीवित है)
लार्स नॉर्डिन

16

कुछ हटाने के लिए इतनी जल्दी मत करो, यह आपके सिस्टम को पूरी तरह से नुकसान पहुंचा सकता है; बल्कि तब तक प्रतीक्षा करें जब तक कि वर्तमान में प्रोग्राम इंस्टॉल या अनइंस्टॉल करना अपना कार्य पूरा नहीं कर लेता है और उसके बाद आपको एक्सेस मिल जाएगा। यदि आपको लगता है कि वर्तमान में कुछ भी इंस्टॉल या अनइंस्टॉल नहीं हो रहा है, तो बस अपने सिस्टम को कमांड के साथ रिबूट करें sudo reboot


1
यह एक जवाब के बजाय एक टिप्पणी की तरह दिखता है। क्या आप इसके बजाय इसे उस उत्तर के लिए एक टिप्पणी के रूप में स्थानांतरित कर सकते हैं जो इसका जवाब दे रहा था
jvriesem

4
@jvriesem मुझे लगता है कि यह एक बहुत ही महत्वपूर्ण उत्तर है, क्योंकि वह जो बिंदु बना रहा है वह कई अन्य उत्तरों से गायब है!
वोल्कर सीगल

@jvriesem यह आमतौर पर सही उत्तर है। जब मैं उन्हें लंबे समय तक उपयोग नहीं करता हूं, तो मैं अपने लिनक्स कंटेनरों के साथ इस समस्या में भाग लेता हूं। बस इंतज़ार करें। हाँ थोड़ी देर हो सकती है। लेकिन अंदर जाने और चीजों को बाधित करने से पहले इसे अपना काम करने दें।
Earth2jason

यह पहली कोशिश होनी चाहिए। यह जवाब ज्यादातर समय समस्या को ठीक करता है। मेरे पास अभी तक शायद 4-5 बार था, और एक रिबूट ने हमेशा इसे हल किया।
जन

10

यदि आपके पास ऑटो-इंस्टॉल करने के लिए सुरक्षा अपडेट सेट है तो यह अक्सर होगा। मैं सचमुच 30 सेकंड प्रतीक्षा करता हूं और यह समस्या को ठीक करता है। अगर कोई और इस मुद्दे का सामना करता है तो बस इसे वहां फेंक देना चाहिए।


1
डिस्ट्रो को कितने समय के लिए बूट किया गया है, इसके आधार पर यह आधे घंटे तक लंबा हो सकता है। लेकिन यह संभव है कि चीजों को बाधित करने से पहले अपने डिस्ट्रो को अपना काम पूरा करने दें।
Earth2jason

6

मेरे मामले में, मुझे लॉक जारी होने के लिए कई मिनटों तक इंतजार करना पड़ा (ऐसा लगता है कि aptइसे धारण करने के लिए इस्तेमाल किया गया था)। यह सब सिस्टम बूट के ठीक बाद हुआ।


4

बस sudo rm -f /var/lib/apt/lists/lockऔर फिर से प्रयास करें।

उपयुक्त-तेजी से मई ठीक से अनलॉक न करने के लिए जिम्मेदार हो; यह कभी-कभी तब होता है जब आप गर्भपात करते हैं apt-getया dpkgबहुत अधिक।


4

मैं कई बार इस मुद्दे को पड़ा है। मेरे लिए, यह लगभग हमेशा apt-get या कुछ GUI के कारण होता है, जो इसे किसी कारण से लटका हुआ कहते हैं। मुझे इसे मारना पड़ा, जिससे विभिन्न तालों को जगह मिली।

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

जबकि अधिकांश या यह सब अन्य उत्तरों में प्रस्तुत किया जाता है, यह कुछ कमांड के लिए फिक्स को डिस्टिल्ड करता है।

sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a

किसी अन्य तरीके से समाप्त किए बिना किसी प्रकार के क्रैश या समाप्त होने के अपडेट के बाद पैकेज सिस्टम को अनलॉक करने के लिए उपयोग करें। इन आदेशों को प्रस्तुत क्रम में चलाया जाना चाहिए।


3

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

एक अजीब बात यह थी कि लॉक की गई फ़ाइल की तारीख और समय सटीक तारीख और समय था जो मैंने कार्यक्रम चलाया था।

मैंने तब "फ्यूज़र" का उपयोग किया जैसा कि पहले के पदों में वर्णित है और उपयुक्त काम किया है, लेकिन मुझे चलाने की आवश्यकता के बारे में शिकायतें मिल रही थीं dpkg -a -reconfigure। जब मैंने ऐसा किया, तो मुझे त्रुटियाँ मिलीं:

newline in field name #padding

'/ var / lib / dpkg / अपडेट / 0003' जैसी फाइलों में।

यह सब बहुत अजीब था क्योंकि मैंने इसे पहले कभी नहीं देखा। इसलिए, मैंने सोचा कि ये लक्षण थे और मैंने अपने डेटा और समय को मैन्युअल रूप से बदल दिया। मुझे पता था कि जब मैंने लॉग इन किया था तो तारीख / समय के साथ एक समस्या थी, लेकिन इसे अनदेखा कर रहा था। (पहले, यह इंटरनेट और एनटीपी के माध्यम से इसे स्वचालित रूप से सेट कर रहा था)।

फिर, उपरोक्त सभी समस्याओं को ठीक कर दिया गया था ... उम्मीद है, यह किसी और की मदद करता है! सबसे उल्लेखनीय लक्षण संभवतः लॉक फ़ाइल की तारीख / समय है सटीक तिथि / समय जो आप कमांड चलाने की कोशिश कर रहे हैं।


3

मेरे मामले में, एक्स दुर्घटनाग्रस्त हो गया जबकि apt-getअभी भी पुरानी गुठली निकाल रहा था। मैंने सिस्टम मॉनिटर का उपयोग यह पुष्टि करने के लिए किया था कि यह अभी भी चल रहा है और अटक नहीं रहा है। प्रक्रिया समाप्त होते ही सबकुछ ठीक हो गया।


3

यह देखने के लिए लॉन्चर की जाँच करें कि Software Updaterक्या चल रहा है। यदि ऐसा है तो इसे अधिकतम करें और इस पर ध्यान दें कि यह क्या कर रहा है। यदि यह अभी भी जाँच कर रहा है, तो इसके पूरा होने की प्रतीक्षा करें। जब यह पूरा हो जाता है तो आपको बता सकता है कि सॉफ्टवेयर अप-टू-डेट है इसलिए ऐप को बंद कर दें। यदि यह कहता है कि अपडेट उपलब्ध हैं, तो अपडेट करें या "बाद में मुझे याद दिलाएं" पर क्लिक करें। इसके बाद यह ऐप बंद हो जाता है आप उपयोग करने के लिए वापस जा सकते हैं apt-getया apt

अगर Software Updaterनहीं चल रहा है, तो इसे लागू करने के लिए डैश का उपयोग करें और पूरा होने की प्रतीक्षा करें और फिर तय करें कि क्या आप "बाद में याद दिलाना" अपडेट या क्लिक करना चाहते हैं। इसके बाद यह ऐप बंद हो जाता है आप उपयोग करने के लिए वापस जा सकते हैं apt-getया apt


2

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


2
यह समस्या का कारण नहीं है, क्योंकि आप रूट के रूप में चला सकते हैं sudo(और यहां तक ​​कि अगर आप नहीं कर सकते, तो यह इस त्रुटि संदेश का उत्पादन नहीं करेगा)। अधिक संभावना यह है कि जब आप अगली कमांड लिख रहे थे तो दूसरी प्रक्रिया समाप्त हो गई थी।
wjandrea 5

कभी-कभी यह उसी त्रुटि संदेश का उत्पादन करता है।
कारेल


1

मेरे मामले में, के बाद:

  1. फ़ायरफ़ॉक्स खोलें।
  2. टर्मिनल खोलें

मैंने लिखा


sudo apt update
sudp apt 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 apt update

apt list --upgradable

यह कमांड आपको मेरे मामले में केवल फ़ायरफ़ॉक्स के कार्यक्रमों की एक सूची दिखाएगा, मैंने फ़ायरफ़ॉक्स को बंद कर दिया, फिर बिना किसी समस्या के फिर से कमांड चला सकता है।

sudo apt upgrade

0

उन लोगों के लिए जो अपनी स्क्रिप्ट्स में इस बग को रोकने में रुचि रखते हैं, मैंने पाया कि -q झंडा apt upgrade -yqमेरे लिए इस मुद्दे का कारण बन रहा था। उन्नयन प्रक्रिया के दौरान मुझे लगता है कि यह मुझे कभी-कभी चेतावनी देता है (डेस्कटॉप को अपडेट करने की लाइनों के साथ कुछ, क्या मैं जारी रखना पसंद करूंगा), और अगर ये चेतावनी दबा दी गई थी, तो मुझे लगता है कि उपयुक्त फ़ाइलों को अनलॉक नहीं करने का कारण बनता है जो इसे संरक्षित कर रहा था। और यह फंस गया।

बेशक, मुझे 100% समय में इस त्रुटि को पुन: पेश करने में परेशानी हुई, लेकिन उस -q विकल्प को पूरी तरह से समाप्त करना मेरे लिए मुद्दा तय हो गया


0

ज्यादातर सभी की तरह मैं भी ताला हटने का इंतजार करने लगा। 30 मिनट के बाद मैंने हार मान ली और एक अलग वितरण के लिए कड़ी मेहनत की। वहां से मैंने कुछ शोध के लिए इंटरनेट का इस्तेमाल किया, जो मुझे यहां पहुंचा।

यह पता चला है unattended-upgrades.serviceकि चल रहा है। मैंने पाया कि टूटी प्रणाली में रिबूट हो रहा है और चल रहा है:

sudo systemctl disable apt-daily.service
sudo systemctl disable unattended-upgrades.service
sudo systemctl disable apt-daily-upgrade.service
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer
sudo shutdown -r # Note it will take a couple minutes to reboot

मुझे टूटी हुई प्रणाली को फिर से काम करने की अनुमति दी:

sudo apt update
sudo apt upgrade
sudo apt install -f

हालाँकि यह पहले से रखे गए पैकेज और असंभव स्थिति को ठीक नहीं करता था apt। ऐसा प्रतीत होता है कि यह aptबूट में लॉक होने की वजह से था ।

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