dpkg退出错误“无法扫描更新目录`/ var / lib / dpkg / updates /’:没有这样的文件或目录”,如何解决?

早些时候,我遇到了一个包的问题,​​我(错误地)运行了这个:

rm -r /var/lib/dpkg/* 

另见我的另一个问题 。

现在,当我尝试升级时,我得到了这个:

 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? masoud@masoud-PC:~$ sudo apt-get upgrade E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? 

当我使用时: sudo dpkg --configure -a

我明白了:

 dpkg: error: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory 

在此处输入图像描述

并为sudo apt-get upgrade -f get:

 Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... failed. The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable wine1.4 : Depends: wine1.4-i386 (= 1.4.1-0ubuntu5) but it is not installable E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. E: Unable to correct dependencies 

打开终端并键入以下内容:

 sudo mkdir -p /var/lib/dpkg/{updates,alternatives,info,parts,triggers} sudo killall apt* software-center* dpkg sudo apt-get update sudo apt-get purge wine1.4 ia32-libs-multiarch sudo apt-get upgrade 

第一个命令摆脱了“无法扫描更新目录” (以及rm -r的灾难),然后我们需要结束任何dkpg / apt实例以摆脱“无法锁定”消息。 第三,让我们清理包缓存,更新软件列表缓存并升级。

首先,您需要重新创建/ var / lib / dpkg / status文件。 您可能应该在/var/backups/dpkg.status.0进行备份

首先我们创建dpkg文件夹,然后将/var/backups/dpkg.status.0复制到/var/lib/dpkg/status ,如下所示

  mkdir /var/lib/dpkg cp /var/backups/dpkg.status.0 /var/lib/dpkg/ mv /var/lib/dpkg/dpkg.status.0 /var/lib/dpkg/status 

/var/lib/dpkg创建一个名为update的文件夹

  mkdir /var/lib/dkpg/update 

现在您必须重新安装所有已安装的应用程序。

注意:

/ var / backups /还有额外的备份,即dpkg.status.1,dpkg.status.2,但是采用压缩格式。 如果你想使用它,你将不得不解压缩它。请按照上面的解释使用默认的。有关额外信息,请参阅下面的来源

资源

当你跑

 sudo rm -r /var/lib/dpkg/* 

你销毁了dpkg软件使用的许多重要文件和目录。

遗憾的是,如果没有从备份或重新安装的完全恢复,就没有简单的方法来恢复工作系统。 您可以一个接一个地手动恢复丢失的文件,但这不亚于一个主要问题。

当您在此处提出相同的问题时,您被告知(在评论中)从备份重新安装或恢复。 这仍然是个好主意,打开一个新问题无助于您获得更好的答案。

编辑:我现在意识到你在另一个问题之前问了这个问题。 但你也问别人。 停止创建询问同样问题的新问题。

您可以看到,通常在软管应用程序时,您可以通过清除并重新安装相关软件包来修复它。 在这种情况下,您已经使用的应用程序是安装和删除软件包所需的应用程序。

使用mkdir手动创建目录并执行之后已执行的操作。 这应该解决它。