แก้ไข “E: Could not get lock /var/lib/dpkg/lock” Error ใน Ubuntu
ผมใช้งาน Ubuntu 18.04 LTS บน VM บ่อยมากผ่าน Digital ocean เพื่อลองเล่นอะไรหลายๆ อย่าง หรือนำมาใช้งานจริง แต่วันนี้ดันเจอเหตุการณ์ที่ว่าพอสั่ง apt-get update
หรือ apt-get install
มัน error
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
หรือบ้างครั้งก็เจอประมาณนี้
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?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
อาการมันก็คือมีการใช้งาน apt
อยู่นะห้ามใช้งานซ้ำ ผมก็ งง ดิใช้ซ้ำไรวะ พึ่งสร้างขึ้นมาแล้วพิมพ์ครั้งแรกเนี้ย -_- ก็เลยไปหาวิธีแก้มา ดังนี้
แก้ไข “E: Could not get lock /var/lib/dpkg/lock”
เราต้องหา id process ของตัว lock file ก่อนซึ่งสังเกตุจากที่มันแสดง error ออกมา เช่น /var/lib/dpkg/lock
หรือ /var/lib/dpkg/lock-frontend
โดยใช้คำสั่ง
sudo lsof /var/lib/dpkg/lock
มันจะ output ออกมาประมาณนี้
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock
สังเกตุเลข PID จะเป็น 1548 เราก็ทำการ kill มันซะ
sudo kill -9 1548
จากนั้นก็ลบมันด้วย
sudo rm /var/lib/dpkg/lock
หรือ
sudo rm /var/lib/dpkg/lock-frontend
หรือ
sudo rm /var/lib/apt/lists/lock
โดยเราควรลบ lock file ใน cache directory ด้วย
sudo rm /var/cache/apt/archives/lock
หลังจากลบแล้วสั่งคำสั่ง
sudo dpkg --configure -a
จบ เพียงเท่านี้เราก็จะสามารถสั่ง apt-get update
หรือ apt-get install
ได้ละ