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