Come appare il messaggio
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2314 (unattended-upgr)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?Cause frequenti
unattended-upgradesinstalla in background gli aggiornamenti di sicurezza, spesso subito dopo l'avvio.- Un altro comando
aptodpkggira in un secondo terminale o in uno script. - Un aggiornatore grafico (PackageKit, Aggiornamenti software) è attivo.
- Un'esecuzione precedente è stata interrotta e ha lasciato un lock vecchio e uno stato di dpkg interrotto.
Verifica
- Quale processo tiene il lock?
sudo lsof /var/lib/dpkg/lock-frontend - Strumenti dei pacchetti in esecuzione
ps aux | grep -E '[a]pt|[d]pkg|[u]nattended' - L'aggiornamento automatico è attivo?
systemctl status unattended-upgrades --no-pager
Soluzione
- Aspetta qualche minuto. Se viene mostrato un processo, sta lavorando. Poi ripeti il comando.
- Se devi proseguire subito, ferma l'aggiornatore in modo pulito, quando è inattivo:
sudo systemctl stop unattended-upgrades. - Solo se nessun processo tiene il lock, ripara lo stato:
sudo dpkg --configure -a, poisudo apt update. - Rimuovi i file di lock solo come ultima risorsa e solo se sei sicuro che nulla li usi:
sudo rm /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock. - Negli script usa
apt-get -o DPkg::Lock::Timeout=120 …così il comando aspetta invece di fallire.
Domande frequenti
È sicuro cancellare il file di lock?
Non finché un processo lo usa. Cancellare un lock sotto un dpkg in esecuzione può danneggiare il database dei pacchetti. Aspetta, e non terminare nulla prima di sapere cosa gira.
Perché succede subito dopo l'avvio?
Il sistema controlla gli aggiornamenti di sicurezza poco dopo l'avvio. Dagli qualche minuto, oppure aspetta che unattended-upgrades finisca.