dpkg:错误:dpkg状态数据库被另一个进程锁定

我只是想知道是否有人可以告诉我这意味着什么:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. reidsr@ubuntu:~$ sudo dpkg --configure -a dpkg: error: dpkg status database is locked by another process reidsr@ubuntu:~$ 

如何手动运行sudo dpkg --configure -a

第一次运行:

 lsof /var/lib/dpkg/lock 

然后确保该进程未运行:

 ps cax | grep PID 

如果它正在运行:

 kill PID #wait kill -9 PID 

确保流程完成:

 ps cax | grep PID 

然后删除锁定文件:

 sudo rm /var/lib/dpkg/lock 

让dpkg修复自己:

 sudo dpkg --configure -a 

你之后应该没事:)

您无法同时运行多个软件包应用程序/命令/工具。 有时,这意味着synaptic,apt-get或包更新工具正在后台运行。 只需关闭其他包工具,或等待它们完成。 并且dpkg将运行。

人们也可以尝试:

 sudo apt-get install -f 

修复任何损坏的包:

固定; 尝试纠正具有破坏的依赖关系的系统。 此选项与install / remove一起使用时,可以省略任何包以允许APT推断出可能的解决方案。 如果指定了包,则必须完全解决问题。 第一次运行APT时有时需要该选项; APT本身不允许在系统上存在破坏的包依赖性。 系统的依赖结构可能是如此腐败,以至于需要手动干预(这通常意味着使用dselect(1)dpkg --remove来消除一些违规的包)。 在某些情况下,将此选项与-m一起使用可能会产生错误。 配置项:APT :: Get :: Fix-Broken。

以下应该有所帮助

 sudo rm /var/lib/dpkg/lock sudo dpkg --configure -a 

如果升级过程中断(例如您的连接丢失),就会发生这种情况。 您可以尝试使用屏幕作为root( sudo su )重新进入会话。

 screen -r