แก้ไข: ไม่สามารถเปิดไฟล์ล็อค / var / lib / dpkg / lock



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

การรับข้อความแสดงข้อผิดพลาดไม่สามารถเปิดไฟล์ล็อก / var / lib / dpkg / lock อาจทำให้เกิดความสับสนได้เนื่องจากอาจถามได้เป็นอย่างดีว่าคุณรูทในภายหลังหรือไม่แม้ว่าคุณจะเรียกใช้คำสั่งอัปเดตด้วยคำนำหน้า sudo คำสั่งข้อผิดพลาดนี้จะแสดงเกือบทุกอย่างที่ใช้ apt-get package manager ไม่ว่าคุณจะอัปเดตเดสก์ท็อปหรือแล็ปท็อปที่ใช้ Ubuntu เวอร์ชันต่างๆหรือ Raspberry Pi ด้วยสปิน Raspbian Debian คุณอาจพบว่าอาจเป็นปัญหากับแพลตฟอร์มเหล่านี้



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



วิธีที่ 1: ตรวจสอบให้แน่ใจว่า sudo สามารถเข้าถึงทุกส่วนของคำสั่ง

หากคุณเรียกใช้ sudo apt-get update && apt-get upgrade คุณอาจได้รับข้อผิดพลาดนี้เนื่องจากกระบวนการที่สองไม่มีสิทธิ์ที่เหมาะสมในการเข้าถึงไฟล์ / var / lib / dpkg / lock



ลองวิ่งแทน sudo apt-get update && sudo apt-get upgrade เพื่อดูว่าสิ่งนั้นสร้างความแตกต่างหรือไม่ หากเป็นเช่นนั้นแสดงว่าปัญหาของคุณได้รับการแก้ไขแล้วและเป็นเพียงเพราะคุณไม่ได้ให้สิทธิ์เพียงพอในกระบวนการที่สองในการเข้าถึงไฟล์ โปรดทราบว่าคำสั่งนี้จะอัปเดตและอัปเกรดแพ็กเกจทั้งหมดของคุณดังนั้นคำสั่งอาจแจ้งให้คุณอนุมัติและอาจใช้เวลาสักครู่ในการรัน

มิฉะนั้นปัญหาได้รับการจัดการอย่างสมบูรณ์แล้วและคุณไม่จำเป็นต้องทำอะไรอีก



วิธีที่ 2: การลบไฟล์ / var / lib / dpkg / lock

ผู้ที่ใช้ curl, wget หรือคำสั่งอื่นที่ดาวน์โหลดไฟล์อย่างไม่ถูกต้องอาจต้องนำหน้าคำสั่งนั้นด้วย sudo หากพวกเขาทำงานจาก Raspbian เนื่องจากสิ่งนี้จะเข้ามาแทนที่ apt-get ในบางกรณี ผู้ที่ทำงานกับ Debian, Xubuntu, Lubuntu, Linux Mint และเดสก์ท็อป / แล็ปท็อปอื่น ๆ ที่คล้ายคลึงกันจะไม่ต้องกังวลกับเรื่องนี้ แต่ก็คุ้มค่าที่จะลองอีกครั้ง

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

โปรดทราบว่าการมีสิทธิ์อ่านและเขียนสำหรับแอปพลิเคชันเพื่อเปิดไฟล์นี้หมายถึงโดยส่วนขยายที่กล่าวว่าโปรแกรมต้องมีสิทธิ์ระดับรากดังนั้นคุณจะต้องมีสิทธิ์ระดับรากเพื่อปิดโปรแกรม คุณยังสามารถลองดูแอปพลิเคชันตัวจัดการงานได้หากคุณใช้สภาพแวดล้อมเดสก์ท็อปแบบกราฟิกที่รองรับคุณลักษณะนี้ เพียงคลิกขวาที่กระบวนการที่กระทำผิดและปิดหากคุณมีสิทธิ์ในการดำเนินการดังกล่าว ลองใช้คำสั่ง kill หรือ killall จากบรรทัดคำสั่งด้วย

ตอนนี้คุณสามารถลองเรียกใช้คำสั่ง apt-get ของคุณอีกครั้งและดูว่ามันสร้างความแตกต่างได้หรือไม่ แต่คุณจะไม่ต้องทำอะไรอีกถ้ามี หากคุณยังคงประสบปัญหาให้ลองลบไฟล์ล็อกทันที แม้ว่าสิ่งนี้ควรถูกมองว่าเป็นทางเลือกสุดท้าย แต่ก็มักจะไม่ก่อให้เกิดปัญหาใด ๆ ที่เกี่ยวข้องกับโปรแกรม apt-get คุณยังคงต้องการใช้วิธีการอื่น ๆ ก่อนที่จะทำเช่นนี้เนื่องจากอาจทำให้ระบบ apt เสียหายได้

การรีบูตบางครั้งอาจช่วยได้ แต่ถ้าคุณใช้งานเซิร์ฟเวอร์หรืออุปกรณ์ Raspbian อยู่ตลอดเวลานี่อาจไม่ใช่ตัวเลือกที่ใช้งานได้ ลองวิ่ง sudo rm / var / lib / dpkg / lock && sudo rm / var / lib / apt / รายการ / ล็อค ซึ่งจะช่วยเพิ่มพื้นที่ว่างเฉพาะไฟล์ที่ฉลาดจะดูเมื่อคุณเรียกใช้งาน อย่าลืมระวังชื่อของไฟล์เหล่านั้นเนื่องจากการรัน rm ในฐานะรูทเป็นการทำลาย

สมมติว่าคุณได้ดำเนินการดังกล่าวหลังจากใช้ตัวเลือกอื่น ๆ จนหมดแล้วคุณสามารถลองเรียกใช้คำสั่งอัปเดตของคุณอีกครั้งและดูว่าเกิดอะไรขึ้น คุณไม่ควรมีปัญหาใด ๆ อีกต่อไปเนื่องจากไฟล์จะไม่มีอยู่ ณ จุดนั้นอีกต่อไปแม้ว่ารูทีน apt-get จะสามารถสร้างขึ้นมาใหม่ได้ในขณะที่รัน

อ่าน 3 นาที