LINUXSEC

Mengatasi "E: Could not get lock /var/lib/dpkg/lock-frontend" di Ubuntu

Mengatasi Error “E: Could not get lock /var/lib/dpkg/lock-frontend” di Ubuntu Linux. Baru-baru ini saya mengalami error ketika ingin menginstall paket di Ubuntu. Error tersebut menyebabkan paket tidak bisa terinstall meski kita sudah menjalankan perintah dengan hak akses sudo atau root.

Kasus yang saya alami, error tersebut berbunyi E: Could not get lock /var/lib/dpkg/lock-frontend. Namun bisa jadi error lain yang sejenis contohnya:

  • 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/
  • 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?

Berikut beberapa cara memperbaikinya.

Menggunakan PS dan KILL

Hal tersebut biasanya dikarenakan adanya proses apt yang masih berjalan di background. Cara mengatasinya cukup mudah yakni dengan melakukan kill pada proses tersebut.

Pertama, kita cari proses apt yang berjalan dengan perintah ps.

ps aux | grep -i apt

Selanjutnya tinggal kita kill proses yang berjalan dengan perintah

kill -9 PID

contoh

kill -9 1397

Atau yang lebih simple kalian bisa jalankan perintah killall untuk menghentikan seluruh proses dari apt dan apt-get.

sudo killall apt apt-get

Sekarang tinggal kita jalankan perintah apt kembali.

Menggunakan LSOF dan KILL

Namun di beberapa kasus, tidak ada proses yang berjalan di background, namun error tetap muncul. Misalnya terjadi “insiden” secara tidak sengaja kalian meng-close terminal saat melakukan update. Tidak ada proses yang berjalan, namun lock files masih ada. Lock files sendiri digunakan untuk mencegah adanya dua proses apt yang berjalan bersamaan di sistem yang sama.

Kita bisa memperbaikinya dengan emnghentikan proses dan menghapus lock files tersebut dan mengkonfigurasi ulang dpkg.

sudo lsof /var/lib/dpkg/lock

sudo lsof /var/lib/dpkg/lock-frontend

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

Jalankan perintah diatas satu persatu. Mungkin tidak semua perintah diatas keluar outputnya, namun jika sudah ketemu PID dari proses yang menganggu tersebut bisa kita kill dengan perintah

sudo kill -9

Sekarang kalian bisa hapus file lock yang menghambat proses instalasi.

sudo rm /var/lib/apt/lists/lock  
sudo rm /var/cache/apt/archives/lock  
sudo rm /var/lib/dpkg/lock 
sudo dpkg --configure -a

Seharusnya perintah diatas sudah bisa untuk memperbaiki masalah yang ada. Tinggal kita jalankan perintah apt kembali.

Solusi Permanen

Setelah mengatasi masalah diatas, ada kemungkinan masalah ini akan kembali terjadi di masa mendatang. Cara mengatasinya adalah dengan melakukan disable service daily update package repository yang memang diaktifkan oleh Canonical di Ubuntu 18.04 keatas. Caranya adalah dengan melakukan mask ke service systemd pada service apt-daily.service dan apt-daily-upgrade.service.

sudo systemctl mask apt-daily.service apt-daily-upgrade.service

Oke mungkin sekian tutorial kali ini. Jika ada yang kurang jelas silahkan ditanyakan.

Komentar

    Tinggalkan Komentar

    Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.