dpkg 退出并出现错误“无法扫描更新目录‘/var/lib/dpkg/updates/’:没有此文件或目录”,如何修复?

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

答案1

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

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 实例来摆脱“无法锁定”消息。第三,让我们清理软件包缓存,更新软件列表缓存并升级。

答案2

首先,您需要重新创建 /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

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

 mkdir /var/lib/dkpg/update

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

笔记:

/var/backups/ 中有额外的备份,即 dpkg.status.1、dpkg.status.2,但都是压缩格式。如果要使用它,则必须解压缩。最好使用如上所述的默认备份。有关更多信息,请参阅下面的来源

来源

答案3

当你跑步的时候

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

您破坏了 dpkg 软件使用的许多重要文件和目录。

不幸的是,没有简单的方法可以恢复正常工作的系统,除非从备份或重新安装进行完全恢复。您可能可以手动逐个恢复丢失的文件,但这将是一件非常令人头疼的事情。

当你问同样的问题你被告知(在评论中)重新安装或从备份中恢复。这仍然是一个好主意,提出新问题不会帮助你得到更好的答案。

编辑:我现在意识到你在问另一个问题之前问了这个问题。但你也问了其他人。不要再问同样的问题了。

您会发现,通常当您对应用程序进行攻击时,您可以通过清除并重新安装相关软件包来修复它。在这种情况下,您攻击的应用程序正是您安装和删除软件包所需的应用程序。

答案4

手动创建目录,mkdir然后执行您之前所做的操作。这应该可以解决问题。

相关内容