วิธีแก้ไขข้อผิดพลาด "ล้มเหลวในการล็อก /var/lib/dpkg/lock"

ล็อก ⁄var⁄lib⁄dpkg⁄lock ไม่สำเร็จ

แม้ว่าการแจกจ่าย Linux อาจเลือกที่จะติดตั้งซอฟต์แวร์ตามที่เห็นสมควร แต่บ่อยครั้งกว่าไม่ พวกเขาสามารถติดตั้งซอฟต์แวร์ดังกล่าวจากแหล่งเก็บข้อมูลที่เป็นทางการของตนได้ ที่เก็บเหล่านี้สามารถดูแลได้โดยตรงโดยการแจกจ่ายและ/หรืออ้างอิงจากที่อื่น เช่นที่เกิดขึ้นกับ Debian->Ubuntu->Linux Mint เป็นต้น ในกรณีเหล่านี้ ตัวจัดการแพ็คเกจคือ APT และบางครั้งเราสามารถเห็นข้อความได้ "ไม่สามารถล็อค /var/lib/dpkg/lock" ในเทอร์มินัลหรือแม้แต่ในเครื่องมือที่มีอินเทอร์เฟซแบบกราฟิก

บทความนี้จะพยายามให้ความกระจ่าง ว่ามันคืออะไรและแก้ไขข้อผิดพลาดได้อย่างไร ที่ทำให้เราเห็นข้อความว่า "/var/lib/dpkg/lock could not be lock" แต่ฉันบอกคุณได้ว่ามีวิธีง่ายๆ ที่สามารถแก้ไขปัญหานี้และปัญหาอื่นๆ อีกมากมาย ไม่ว่าจะเป็นใน Linux- การกระจายตามหรือระบบปฏิบัติการอื่น ๆ รวมถึงมือถือ

ข้อผิดพลาด "ไม่สามารถล็อค /var/lib/dpkg/lock" หมายถึงอะไร

โดยทั่วไป เมื่อเราเห็นข้อผิดพลาด "ไม่สามารถล็อก /var/lib/dpkg/lock" เทอร์มินัลหรือซอฟต์แวร์ที่แสดงข้อผิดพลาดนี้แสดงว่ามีกระบวนการ APT อื่นกำลังทำงานอยู่และใช้ฐานข้อมูลเดียวกันซึ่งเรากำลังพยายามเข้าถึง . กล่าวอีกนัยหนึ่ง กระบวนการ APT ใหม่พยายามล็อกไฟล์ /var/lib/dpkg/lock เขาไม่สามารถรับได้เพราะเขายุ่ง และแจ้งให้เราทราบ

ที่พบบ่อยที่สุดก็คือ กระบวนการ APT อื่นเช่น การอัปเดตกำลังทำงานอยู่แล้วและล็อกไฟล์ล็อกไว้ จึงไม่สามารถดำเนินการขั้นตอนแรกได้ ซึ่งก็คือล็อกไฟล์ดังกล่าวนั่นเอง

วิธีแก้ไขข้อผิดพลาด

สิ่งแรกที่เราต้องทำ โดยเฉพาะอย่างยิ่งหากเราไม่ชอบใช้เทอร์มินัลก็คือ ตรวจสอบว่ามีแอปพลิเคชันซอฟต์แวร์ทำงานอยู่หรือไม่. ตัวอย่างเช่น ในอูบุนตู เราสามารถดูว่าซอฟต์แวร์อูบุนตู (ทางแยกของซอฟต์แวร์ GNOME) กำลังทำอะไรอยู่หรือไม่ และซอฟต์แวร์อัปเดต แอปพลิเคชันที่รับผิดชอบในการอัปเดตซอฟต์แวร์ตามชื่อที่แนะนำ หากเราไม่เห็นแอปพลิเคชันเหล่านั้นเปิดอยู่ เราสามารถเริ่มการตรวจสอบระบบและค้นหาแอปพลิเคชันเหล่านั้นเพื่อดูว่าแอปพลิเคชันกำลังทำงานในพื้นหลังหรือไม่

ลา แอปพลิเคชันที่เราต้องหาจะขึ้นอยู่กับการกระจาย ที่เรากำลังใช้อยู่ เนื่องจากซอฟต์แวร์ Ubuntu ไม่ได้อยู่ใน Kubuntu หรือ Discover ในเวอร์ชันหลักของ Debian การแจกจ่ายแต่ละรายการจะจัดการซอฟต์แวร์ด้วยเครื่องมือที่เลือกเพิ่ม และสามารถบล็อกที่เก็บถาวรของซอฟต์แวร์ GNOME, Discover, ที่เก็บซอฟต์แวร์อื่น ๆ หรือเครื่องมืออัปเดต

ไม่ว่าจะอยู่เบื้องหน้าหรือเบื้องหลัง ทางเลือกหนึ่งคือ มีความอดทน และรอดูว่างานที่คุณทำอยู่จะเสร็จหรือไม่ บางครั้งเราเห็นข้อความแสดงข้อผิดพลาดและเราต้องการให้แก้ไขในทันที ซึ่งวิธีแก้ไขคือรอสักครู่

การรีบูตหรือออกจากระบบควรเพียงพอ

หลายปีก่อน เพื่อนถามฉันเสมอว่าจะแก้ไขข้อขัดข้องใน Windows ได้อย่างไร มีอยู่ครั้งหนึ่งที่ฉันแทบไม่ได้ถามเขาอีกเลย และฉันก็แนะนำเขา รีบูต เพราะมันเป็นทางออกที่ดีที่สุดสำหรับเขาเกือบทุกครั้ง ในกรณีของข้อผิดพลาด "ไม่สามารถล็อค /var/lib/dpkg/lock" ก็เป็นวิธีแก้ไขที่เป็นไปได้เช่นกัน เมื่อเริ่มต้นตั้งแต่ต้น คุณอาจเริ่มต้นด้วยไฟล์ที่ถูกล็อกโดยเครื่องมืออัปเดต แต่จะปลดล็อกในไม่ช้า เมื่อคุณตรวจสอบว่าไม่มีอะไรใหม่ให้ติดตั้งหรือมี แต่คุณได้แจ้งให้เราทราบเกี่ยวกับเรื่องนี้แล้ว

แน่นอนว่าไม่ใช่โซลูชันที่หรูหราที่สุด แต่เป็นโซลูชันที่แพงน้อยที่สุด และอาจดีที่สุดและเร็วที่สุดหากคุณไม่มีเหตุผลที่จะให้คุณเข้าสู่ระบบต่อไป

เมื่อข้อความ "ไม่สามารถล็อก /var/lib/dpkg/lock" ไม่หายไป

เมื่อเรารีสตาร์ทหรือรอสักครู่และยังคงเห็นข้อความ สิ่งที่เกิดขึ้นกับเราไม่ใช่เรื่องปกติ การปิดกั้นถูก "หยุด" หรือคุ้มค่ากับความซ้ำซ้อนที่ถูกปิดกั้น ดังนั้นจึงคุ้มค่าที่จะดึงเทอร์มินัลออก

  1. สิ่งแรกที่เราจะทำคือเปิดเทอร์มินัลและระบุกระบวนการ APT ที่กำลังทำงานอยู่ด้วยคำสั่งนี้:
sudo lsof /var/lib/dpkg/lock
  1. เมื่อระบุกระบวนการแล้ว เราจะฆ่ามันด้วยคำสั่งนี้ แทนที่ PID ด้วยหมายเลขของกระบวนการที่เราจะพบด้วยคำสั่งจากขั้นตอนที่ 1:
sudo kill PID
  1. สุดท้าย เราลองอีกครั้งเพื่อดำเนินการจัดการ APT ที่ข้อผิดพลาดกลับมา น่าจะทำให้เราไปต่อได้

หากวิธีนี้ไม่สามารถแก้ไขได้ เราสามารถดำเนินการบางอย่างที่รุนแรงกว่านี้ได้ ดังนั้นคุณจะต้องใช้ความระมัดระวังหรือใช้ขั้นตอนเพิ่มเติม สิ่งนี้กำลังทำ "วิธีที่ยาก": การลบไฟล์ /var/lib/dpkg/lock ขั้นตอนในการปฏิบัติตามอย่างปลอดภัยจะเป็นดังนี้:

  1. เราทำการสำรองข้อมูลไฟล์ /var/lib/dpkg/lock เนื่องจากสิ่งที่เราจะทำคือคัดลอก เราสามารถใช้ตัวจัดการไฟล์ได้ เนื่องจากไม่จำเป็นต้องใช้สิทธิ์ของผู้ใช้ระดับสูง จากเทอร์มินัลสามารถทำได้ด้วย cp /var/lib/dpkg/ล็อคเส้นทางใหม่เปลี่ยน "เส้นทางใหม่" เป็นเส้นทางที่เราต้องการทำสำเนาสำรอง
  2. เราลบไฟล์. สำหรับสิ่งนี้จำเป็นต้องดึงสิทธิ์ หากตัวจัดการไฟล์ของเราอนุญาต เราสามารถเขียน ตัวอย่างเช่น "sudo nautilus" โดยไม่ต้องใส่เครื่องหมายอัญประกาศเพื่อลบออกด้วยอินเทอร์เฟซแบบกราฟิก แต่ฉันคิดว่าการเปิดเทอร์มินัลและเขียนจะเร็วกว่าและง่ายกว่า:
sudo rm /var/lib/dpkg/lock
  1. เมื่อลบไฟล์แล้ว เราสามารถลองอีกครั้งในสิ่งที่เราไม่ได้รับอนุญาต ถ้าเราเขียน sudo apt update และเราไม่เห็นข้อผิดพลาด ข้อบกพร่องได้รับการแก้ไขแล้ว

การรีบูตและความอดทนมักจะดีที่สุด

แม้ว่าจะมีวิธีแก้ไขเช่นที่อธิบายไว้ในจุดก่อนหน้า ข้อผิดพลาด "ไม่สามารถล็อก /var/lib/dpkg/lock" มันไม่มีอะไรร้ายแรงจริงๆ และสามารถแก้ไขได้โดยรอสักครู่หรือรีบูตเครื่อง เป็นสิ่งที่มักจะแก้ไขตัวเอง และหากไม่เป็นเช่นนั้น การรีบูตจะรุนแรงน้อยที่สุดและมีประสิทธิภาพมากที่สุด ตอนนี้ นี่คือ Linux และทุกอย่างหรือเกือบทุกอย่างมีทางออกจากเทอร์มินัล ไม่ต้องพูดถึงว่าเราสามารถ "ฆ่า" อะไรก็ได้ที่เราต้องการ

ไม่ว่าจะด้วยเหตุผลใดก็ตาม เราหวังว่าสิ่งที่ระบุไว้ในที่นี้สามารถช่วยคุณได้ ทั้งในการทำให้ข้อความหายไปด้วยกระบวนการที่ก้าวร้าวมากขึ้น หรือเพื่อให้คุณอดทนสักนิด


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   ดานิโล กิสเป ลูกาน่า dijo

    สวัสดี:

    คำสั่งนี้ใช้งานได้สำหรับฉัน (ทดสอบบน Xubuntu 18.04 LTS):

    sudo fuser -vki /var/lib/dpkg/lock.php

    นอกจากนี้ยังใช้ได้กับไฟล์ที่ถูกล็อกอื่นๆ เช่น /var/lib/dpkg/lock-frontend หรือ /var/lib/apt/lists/lock

    ความนับถือ