之前,我遇到了一个包问题,我(错误地)运行了这个:
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
创建一个名为update
inside 的文件夹/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
然后执行您之前所做的操作。这应该可以解决问题。