什么进程在 Ubuntu 中创建了 /var/lib/dpkg/lock-frontend 文件?

N0r*_*ert 12 package-management apt dpkg

我刚刚启动了干净的 Ubuntu 18.04 LTS VM 并尝试使用sudo apt install.

但收到错误信息:

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?

什么进程在 Ubuntu 中创建了 /var/lib/dpkg/lock-frontend 文件?
如何在APT上轻轻停止并手动控制?

N0r*_*ert 15

正如评论中所推荐的 - 我已经检查了文件的所有者

$ sudo fuser -v /var/lib/dpkg/lock-frontend
                     USER        PID ACCESS COMMAND
/var/lib/dpkg/lock-frontend:
                     root       2112 F.... unattended-upgr

$ ps aux | grep 2112
root      2112 66.5  8.1 366108 113508 ?       Sl   13:03   0:28 /usr/bin/python3 /usr/bin/unattended-upgrade --download-only

$ dpkg -S /usr/bin/unattended-upgrade
unattended-upgrades: /usr/bin/unattended-upgrade
Run Code Online (Sandbox Code Playgroud)

所以这个文件是由/usr/bin/unattended-upgradefrom unattended-upgradespackage创建的。我可以用以下方法杀死它:

sudo kill -KILL 2112 
Run Code Online (Sandbox Code Playgroud)

并控制

sudo apt install -f
sudo dpkg --configure -a
sudo apt-purge unattended-upgrades
Run Code Online (Sandbox Code Playgroud)

因为我忘了在这个虚拟机上清除它。


注意:如果不确定,请不要清除系统上的无人值守升级。它需要一些时间才能完成(取决于互联网连接速度和磁盘速度),然后您可以像往常一样使用 APT。

  • 您可能想补充一点,无人值守升级只需要一点时间,然后锁定文件将消失而无需任何交互。 (2认同)
  • 该问题要求轻轻停止该进程,但 KILL 信号确实会立即终止该进程。您应该使用默认的 TERM 信号,请参阅 [`man Kill`​​](http://man7.org/linux/man-pages/man1/kill.1.html#DESCRIPTION)。 (2认同)