像其他用户一样,我意外删除了/var/lib/dpkg
并且备份不充分。我需要dpkg
从头开始重新安装。该答案提供的解决方案对我不起作用。
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial
$ ls -l /var/lib/dpkg
total 16
drwxr-xr-x 2 root root 4096 Mar 25 21:26 alternatives
drwxr-xr-x 2 root root 4096 Mar 25 21:26 info
-rw-r----- 1 root root 0 Mar 25 21:46 lock
-rw-r----- 1 root root 0 Mar 25 21:46 lock-frontend
drwxr-xr-x 2 root root 4096 Mar 25 21:26 parts
drwxr-xr-x 2 root root 4096 Mar 25 21:26 status
我尝试过的方法
参考我曾经尝试过的方法:
从 (1),我能够恢复sudo cp /var/backups/dpkg.status.0
到/var/lib/dpkg/status
。但尝试apt-get download dpkg
失败。因此,尝试上述链接 (2) 中的解决方案,我得到了部分结果:
mkdir /tmp/dpkg
cd /tmp/dpkg
wget http://security.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.17.5ubuntu5.2_i386.deb
ar x dpkg*.deb data.tar.gz
tar xvzf data.tar.gz ./usr/bin/dpkg
cp ./usr/bin/dpkg /usr/bin/
sudo apt-get update
apt-get update
获取我的软件包列表,但随后返回错误。按照解决方案 3 中的建议,首先尝试返回相同的错误。对于与以下内容相关的任何内容(除了):apt-get clean
我都会得到相同的错误:apt-get
apt-get clean
正在读取软件包列表...错误!
E:读取错误 - 读取(21:是目录)
E:无法解析或打开软件包列表或状态文件。
请注意,我丢失了/已删除文件/var/lib/dpkg/status-old
。
继续寻找帮助资源,我找到了解决方案 4。但是当我尝试时sudo dpkg -a configure
,它产生了:
dpkg:加载共享库时出错:libselinux.so.1:无法打开共享对象文件:没有此文件或目录`
这与我在运行解决方案(1)时遇到的错误相同sudo dpkg -i dpkg*.deb
解决方案 4 进一步建议使用 synaptic 程序。但我无法安装,因为包管理器坏了 :(。
任何帮助将不胜感激!!
答案1
总是先尝试简单的步骤。既然你没有提到,那就试试这个吧。
在终端输入以下内容:
sudo apt install dpkg
按下 Enter 键,它就可以正常工作。
希望对您有所帮助。如果您遇到错误,请在此处报告。我们会一步一步解决。