在写我所面临的原始问题之前,我认为最好提供一些背景信息。
背景我在运行 apt-get 时尝试注册一个新源来获取包,最终安装 azure-iot-sdk-c-dev 以使用代码与 IoT 中心通信。
当我尝试运行以下命令时遇到了问题。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxxxxxxx
从错误来看,我的 PI 没有 dirmngr 目录。所以我开始寻找解决方案。其中一个解决方案是使用以下命令
sudo apt 删除 gnupg
sudo apt install--重新安装 gnupg2
安装 dirmngr
尽管我被告知第一个命令可能造成的损害,但我认为执行第二个命令可以解决问题,但第二个命令并没有运行。
问题它给了我类似的错误sudo:apt:未找到命令为了解决这个问题,我尝试了以下方法
sudo apt-get install --重新安装 gnupg2
apt-get 更新 && apt-get 升级
但两个错误都指出 -bash: apt-get: 未找到命令
答案1
删除gnupg
不应该影响apt
和apt-get
是否安装,但删除某些库可能会导致它们无法正常工作。
可能的解决方案取决于您安装的内容:-
- 如果有,那么您可以从 LaunchPad 下载的文件中
gdebi
安装;apt*
.deb
- 如果您有
aptitude
或synaptic
,您可以使用其中之一来恢复apt*
; - 否则,安装系统的安装光盘,然后修改
PATH
以引用安装光盘上的实用程序; - 如果一切都失败了,请启动安装光盘并重新安装操作系统。
如果您使用安装光盘,请确保下载您正在运行的最新版本。
可能还有其他解决方案(例如,使用chroot
从启动的安装光盘寻址已安装的系统),但如果不了解apt*
丢失的原因,我不愿意提出更多建议。