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
手动创建目录并执行之后已执行的操作。 这应该解决它。