丢失/删除了 dpkg(Debian 的包管理器)。我该如何找回它?

丢失/删除了 dpkg(Debian 的包管理器)。我该如何找回它?

操作系统:Ubuntu 12.04

意外删除了dpkg。现在无法安装软件包。因此,需要一个dpkg安装软件包的安装程序。

答案1

根据你删除的内容,你可能可以通过从手动下载的.deb文件中提取必要的部分来挽救这种情况。当然,诀窍是找到一种方法来解压.deb文件,而无需工作dpkg- 幸运的是这里有一个解决方案

如何在不使用 dpkg 命令的情况下提取并安装 .deb?


首先去packages.ubuntu.com并下载适合.deb您的操作系统版本和体系结构的文件,例如

mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb

现在解压 deb 文件,代替ar通常的dpkg -x

ar -x dpkg_1.18.4ubuntu1_amd64.deb

(替换dpkg_1.18.4ubuntu1_amd64.deb为您下载的实际 deb 的名称)。您现在应该有以下内容

control.tar.gz  data.tar.gz  debian-binary  dpkg_1.18.4ubuntu1_amd64.deb

软件包的文件应该位于 so 中,data.tar.gz以便提取dpkg二进制文件本地

tar xf data.tar.gz ./usr/bin/dpkg

如果可行,你应该有一个./usr/bin/dpkg 可以复制到/usr/bin目录中的文件

sudo cp ./usr/bin/dpkg /usr/bin/

[请注意,您可以直接解压文件,/sudo tar -C ...分两步进行会感觉更安全一些。]


如果可行,我建议从存储库重新安装整个内容以保持一致性,即

sudo apt-get update
sudo apt-get install --reinstall dpkg

(在较新的系统上,您可以用 替换apt-getapt

答案2

从以下位置下载适用于你的版本的 dpkg 包 https://launchpad.net/ubuntu/+source/dpkg/

提取文件。

cd到 dpkg 源目录的根目录。

./configure
make
sudo make install

./configure如果失败,你可能需要下载一些软件包

相关内容