dpkg 错误:“无法执行 dpkg!E:子进程 /usr/bin/dpkg 返回错误代码 (100)”

dpkg 错误:“无法执行 dpkg!E:子进程 /usr/bin/dpkg 返回错误代码 (100)”

我正在使用 ubuntu 13.10,并且我已删除该dpkg目录。我删除了/var/lib/dpkg,因为系统给了我一个错误,例如:

Could not open lock file /var/lib/dpkg/lock

当我安装 ubuntu-restricted-extras 时。

有人能帮助我吗?

答案1

您必须将 dpkg 的目录恢复到以下状态:

$ ls /var/lib/dpkg/ -l
total 12543
drwxr-xr-x 2 root root    4128 апр.   8 13:01 alternatives
-rw-r--r-- 1 root root      11 сент. 10  2013 arch
-rw-r--r-- 1 root root 3075761 апр.   8 13:15 available
-rw-r--r-- 1 root root 3075761 апр.   8 13:00 available-old
-rw-r--r-- 1 root root       8 апр.  24  2013 cmethopt
-rw-r--r-- 1 root root    2052 апр.   2 07:51 diversions
-rw-r--r-- 1 root root    2096 апр.   2 07:50 diversions-old
drwxr-xr-x 2 root root  483752 апр.   8 13:16 info
-rw-r----- 1 root root       0 апр.   8 13:16 lock
drwxr-xr-x 2 root root      48 марта 23  2013 parts
-rw-r--r-- 1 root root     288 февр. 12 11:45 statoverride
-rw-r--r-- 1 root root     260 февр. 12 09:58 statoverride-old
-rw-r--r-- 1 root root 3081465 апр.   8 13:16 status
-rw-r--r-- 1 root root 3082826 апр.   8 13:15 status-old
drwxr-xr-x 2 root root     744 апр.   8 13:00 triggers
drwxr-xr-x 2 root root      48 апр.   8 13:16 updates

问题在于你切断了你所在的分支。简单的重新安装 dpkg 不起作用,因为它依赖于你删除的目录。幸运的是,我们有 dpkg 状态文件备份/var/backups。因此你必须这样做:

sudo mkdir /var/lib/dpkg
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/
sudo mv /var/lib/dpkg/dpkg.status.0 /var/lib/dpkg/status
sudo mkdir /var/lib/dpkg/updates
sudo mkdir /var/lib/dpkg/info
sudo touch /var/lib/dpkg/available
sudo apt-get install --reinstall dpkg

之后,你应该能够使用apt-get。最后,一个很好的建议:除非您知道自己在做什么,否则不要删除系统中的任何文件/目录!

相关内容