我意外地删除了/usr/bin/dpkg
运行 debian jessie 的 raspberry pi 上的内容,我几乎检查了所有内容,但没有任何效果,我需要紧急帮助。
当我尝试安装任何软件包,或者甚至运行dpkg
命令时,我得到如下信息:
open (2:/usr/dpkg/lock does not exist
答案1
首先下载软件包dpkg
:
apt-get download dpkg
现在,您可以.deb
在当前工作目录中看到该包。可以通过以下方式手动解压:
ar x dpkg_<package_version>.deb
该软件包包含一个名为的文件data.tar.gz
。其中包含可执行文件。在当前目录中解压它:
tar xf data.tar.gz
您想要的可执行文件现已存在./usr/bin/dpkg
并可以使用以下命令复制回来:
cp ./usr/bin/dpkg /usr/bin/dpkg
你的二进制文件已经返回并且可以被 shell 调用:
dpkg --version
答案2
哦,你这个可怜的不幸的 sudoer......但是,这可以修复!
首先,您需要知道您的 Pi 使用的是 armel 还是 armhf,这可以通过使用您的 Pi 型号在 Google 上快速搜索找到。示例:(Raspberry pi 2 armel or armhf
抱歉,我暂时不知道……)
要获取文件运行的 armel 版本:
wget http://ftp.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.17.25_armel.deb
对于 armhf:
wget http://ftp.us.debian.org/debian/pool/main/d/dpkg/dpkg_1.17.25_armhf.deb
下载后使用以下命令:
ar -x <package name>
这将提取一些文件。您需要的文件可以data.tar.gz
使用以下命令提取:
tar xf data.tar.gz
现在您有一个usr/
和sbin/
目录。最后一条命令:
sudo cp usr/bin/dpkg /usr/bin/dpkg
注意该命令最后一部分“/”的位置
现在您应该可以再次获得 dpkg 包并能够随心所欲地安装包。
希望这可以帮助!
答案3
由于我尝试的所有解决方案都不起作用(包括这里发布的 2 个),我不得不使用 NOOBS 在我的 Raspberry Pi 上重新安装操作系统。不过还是感谢大家的帮助。