บางครั้งเมื่อพยายามติดตั้งซอฟต์แวร์Ubuntu ในเทอร์มินัลคุณจะเห็นข้อผิดพลาดล็อคไม่ได้ ข้อผิดพลาดนี้เกิดการระคายเคืองเพราะจะล็อคระบบและป้องกันไม่ให้คุณติดตั้งซอฟต์แวร์ที่คุณต้องการ
ไม่สามารถรับข้อผิดพลาดการล็อค
สาเหตุข้อผิดพลาดนี้เกิดขึ้นบ่อยครั้งผู้ใช้ Ubuntu จะปิดเทอร์มินัลที่ติดตั้งบางสิ่งก่อนกำหนดในขณะที่กำลังทำงาน เมื่อพวกเขาเปิดสถานีที่สองและพยายามใช้ตัวจัดการแพคเกจข้อผิดพลาด“ ไม่สามารถล็อคได้” จะปรากฏขึ้นเพราะไม่อนุญาตให้ระบบบรรจุภัณฑ์ทำงานมากกว่าหนึ่งอินสแตนซ์
ในขณะที่ดูได้ง่ายว่าทำไมผู้จัดการแพคเกจจะล็อคตัวเอง แต่ก็น่ารำคาญ น่าเศร้าเมื่อผู้ใช้ Ubuntu พบปัญหานี้พวกเขาตื่นตระหนกเนื่องจากระบบปฏิบัติการไม่ได้อธิบายวิธีแก้ไข
แก้ไขข้อผิดพลาด“ ไม่สามารถล็อค” ค่อนข้างง่ายถึงแม้ว่าหน้าจอพร้อมท์เทอร์มินัลจะทำให้ดูน่ากลัวและซับซ้อน ในโพสต์นี้เราจะแสดงให้คุณเห็นว่าต้องทำอย่างไรเมื่อคุณพบปัญหาวิธีแก้ไขและวิธีป้องกันไม่ให้เกิดข้อผิดพลาดในอนาคต
หมายเหตุ: คุณเป็นผู้ใช้ Debian หรือไม่? อย่าลังเลที่จะทำตาม! Ubuntu สร้างขึ้นบนระบบปฏิบัติการ Debian ดังนั้นคำสั่งที่เราใช้ในโพสต์นี้จะจับคู่อย่างสมบูรณ์แบบ! วิธีนี้จะใช้ได้กับ Linux Mint, Elementary OS และอนุพันธ์ Ubuntu อื่น ๆ ด้วย
ฆ่า Apt / Apt-get
ตามที่ระบุในบทนำของโพสต์นี้: เหตุผลที่ข้อผิดพลาด“ ไม่สามารถล็อคได้” ปรากฏขึ้นเมื่อตัวจัดการแพ็คเกจของ Ubuntu กำลังทำงานอยู่ (ในพื้นหลัง) และผู้ใช้พยายามเริ่มใหม่เป็นครั้งที่สอง
ตราบใดที่ปัญหาของตัวจัดการแพคเกจ Ubuntu ยังคงอยู่ในพื้นหลังคุณจะไม่สามารถใช้เครื่องมือแพ็คเกจการติดตั้งเพื่อติดตั้งโปรแกรมและข้อผิดพลาดที่น่ารำคาญจะยังคงอยู่
โชคดีที่ตัวจัดการแพคเกจ Ubuntu เป็นโปรแกรมที่เหมือนกันและสามารถจัดการได้เหมือนกัน
มีสองสามวิธีในการฆ่ากระบวนการบน Linux วิธีที่ดีที่สุด (และรวดเร็วที่สุด) คือการใช้ PS คำสั่งเพื่อรับ ID กระบวนการของกระบวนการปัญหา (ในกรณีนี้ Apt / Apt-get) จากนั้นใช้ ฆ่า คำสั่งเพื่อหยุดมัน
ดังนั้นในการเริ่มเปิดตัวเทอร์มินัลและเรียกใช้ ps aux สั่งด้วย Apt เมื่อสิ้นสุดการใช้งาน (หรือ Apt-get ถ้าคุณใช้งาน)

ps aux | egrep "apt"
หรือสำหรับผู้ใช้ Apt-get:
ps aux | egrep "apt-get"
ดูเทอร์มินัลแล้วอ่านตัวเลขที่ปรากฏในเอาต์พุต นั่นคือหมายเลขกระบวนการสำหรับผู้จัดการแพ็คเกจ ใช้หมายเลขนั้นและเสียบเข้ากับ ฆ่า สั่งให้หยุด
หมายเหตุ: เมื่อใช้คำสั่ง kill กับยูทิลิตีของระบบให้ใช้สวิตช์“ SIGTERM” หรือ“ SIGKILL” เสมอ หากคุณไม่ดำเนินการอาจจะไม่หยุดทำงาน
sudo kill -SIGKILL process-id-number
หรือ
sudo kill -SIGTERM process-id-number
เรียกใช้ ฆ่า คำสั่งควรจบกระบวนการตัวจัดการแพคเกจ หากคุณไม่แน่ใจว่าตัวจัดการแพคเกจของ Ubuntu ได้ถูกหยุดใช้งานจริงแล้วคุณสามารถเปิดใช้งานได้อีกครั้ง ps aux สั่งข้างต้นอีกครั้ง หากไม่มีหมายเลขกลับมาแสดงว่าปัญหาหมดไปและคุณจะสามารถใช้ตัวจัดการแพคเกจของ Ubuntu ได้อีกครั้ง!
ลบไฟล์ล็อค
ส่วนใหญ่แล้วหากตัวจัดการแพ็กเกจ Apt ติดอยู่ในพื้นหลังและไม่ตอบสนองกระบวนการสามารถสิ้นสุดได้ด้วย ฆ่า คำสั่ง อย่างไรก็ตามบางครั้งการสิ้นสุดกระบวนการไม่เพียงพอ
หากคุณพบข้อผิดพลาดและฆ่าตัวจัดการแพคเกจของ Ubuntu ไม่ช่วยมีวิธีอื่นที่คุณสามารถลองได้ มันเกี่ยวข้องกับการแก้ไขโดยตรงด้วย“ ล็อค” ที่เครื่องมือบรรจุภัณฑ์วางไว้บนคอมพิวเตอร์ของคุณ

ไฟล์ล็อคอยู่ในสามไดเรกทอรีแยกกัน ในการเข้าถึงไฟล์เซสชันเทอร์มินัลของคุณต้องมีการเข้าถึงรูท รูทการเข้าถึงบน Ubuntu ได้รับพร้อมกับ sudo คำสั่ง
sudo -s
หลังจากได้รับสิทธิ์การเข้าถึงรูต ซีดี ลงในไดเรกทอรีแรก
cd /var/lib/dpkg/ rm lock
หลังจากที่คุณดูแลไฟล์ล็อคไฟล์แรกแล้วก็ถึงเวลาจัดการกับไฟล์ที่สอง
cd /var/lib/apt/lists/ rm lock
เมื่อไฟล์ล็อคที่สองได้รับการดูแลให้กำจัดไฟล์ล็อคที่สามและไฟล์สุดท้าย
cd /var/cache/apt/archives/ rm lock
เมื่อไฟล์ล็อคทั้งสามถูกลบด้วย RM คำสั่งคุณจะดีและผู้จัดการแพคเกจ Ubuntu ควรเริ่มทำงานอีกครั้ง เพื่อทดสอบการทำงาน:
sudo apt update
แก้ไขแพ็คเกจที่เสียหาย
เมื่อคุณปิดเทอร์มินัลก่อนกำหนดใน Ubuntu ขณะที่ติดตั้งโปรแกรมแพคเกจมักจะแตกหัก ในการแก้ไขปัญหานี้คุณจะต้องเรียกใช้ dpkg คำสั่งข้างตัวเลือก "กำหนดค่า"
dpkg --configure -a
หลังจากที่คุณเรียกใช้คำสั่งด้านบนเสร็จสิ้นทุกอย่างควรได้รับการแก้ไขและแพคเกจที่ใช้งานไม่ได้ควรพร้อมใช้งาน
ความคิดเห็น