我正在打字sudo apt upgrade
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?
问题是什么?
答案1
您的设备很可能已在运行更新。应该有一个窗口最小化或位于另一个窗口后面,这是等待输入的标准更新程序。
答案2
您是否正在运行其他软件包管理器?这包括 Ubuntu Software、Synaptic、运行 apt/aptitude/dpkg 的终端窗口等。它不包括 Snapd、Pip、Flatpack 或 Appimage 管理器,因为它们都不使用 deb。您一次只能运行一个 deb 软件包管理器。关闭您不使用的那些。
无人值守升级可能正在运行。检查方法如下:
$ ls -la /var/lib/apt/periodic/
total 8
drwxr-xr-x 2 root root 4096 Sep 15 2017 .
drwxr-xr-x 5 root root 4096 Apr 2 19:08 ..
-rw-r--r-- 1 root root 0 Apr 2 19:06 download-upgradeable-stamp
-rw-r--r-- 1 root root 0 Apr 2 19:08 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Apr 2 19:05 update-stamp
-rw-r--r-- 1 root root 0 Apr 2 19:05 update-success-stamp
-rw-r--r-- 1 root root 0 Apr 2 19:08 upgrade-stamp
在这里您可以看到无人值守升级使用的整个过程:更新、更新成功、下载可升级、升级、无人值守升级。
查找该时间戳序列,所有时间戳都相隔几分钟。如果一些时间戳来自几分钟前,而其他时间戳来自昨天,那么您就知道 UU 可能仍在运行。尽可能避免中断它 - 不正常关机后的清理工作可能很繁琐。
- 关闭所有打开的包管理器后,并确认无人值守升级似乎没有运行,是时候检查正在运行的进程了:
$ ps -e | grep apt
(no output)
$ ps -e | grep dpkg
(no output)
$ ps -e | grep aptdaemon
(no output)
如果有输出,则说明您已找到正在运行的包管理应用程序。如果可能,请让它完成。如果遇到卡住的进程(非常罕见),请终止该进程并手动释放锁定文件。请勿关闭计算机或按住电源按钮 - 这样做可能会损坏您的系统。
答案3
这个错误表明您正在从另一个终端使用 apt 或被其他进程使用。
有两种方法可以解决这个问题。
重新启动您的电脑并尝试以下命令。
sudo apt update
终止进程并尝试更新
sudo ps -aux | grep apt kill -9 <Enter_the_proccess_id> kill -9 <Enter_the_proccess_id> sudo apt update