我正在使用以下命令在我的 Ubuntu VM 上安装 Google Cloud SDK
# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
我认为它现在坏了。
apt-get install unixODBC unixODBC-dev
E: Conflicting values set for option Signed-By regarding source https://packages.cloud.google.com/apt/ cloud-sdk: /usr/share/keyrings/cloud.google.gpg !=
E: The list of sources could not be read.
E: Conflicting values set for option Signed-By regarding source https://packages.cloud.google.com/apt/ cloud-sdk: /usr/share/keyrings/cloud.google.gpg !=
E: The list of sources could not be read.
无论如何可以修复它,以便我可以继续下载软件包。
由于没有足够仔细地遵循安装说明,我今天遇到了非常类似的情况。我认为发生的事情是我不小心粘贴并执行了一些命令,这些命令只应该在前面的任何步骤遇到问题时才运行。(上面有">故障排除提示"的那些。
看起来我现在通过删除这些文件"解决"了它
sudo rm /usr/share/keyrings/cloud.google.gpg
sudo rm /usr/share/keyrings/cloud.google.gpg~
sudo rm /etc/apt/sources.list.d/google-cloud-sdk.list
然后再次按照安装说明(这次更仔细)安装 Google Cloud SDK。
通过运行单个命令删除现有 sdk:
sudo rm /usr/share/keyrings/cloud.google.gpg && sudo rm /usr/share/keyrings/cloud.google.gpg~ && sudo rm /etc/apt/sources.list.d/google-cloud-sdk.list
通过运行单个命令安装 Google Cloud SDK
sudo apt-get install apt-transport-https ca-certificates gnupg && echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && sudo apt-get update && sudo apt-get install google-cloud-sdk && sudo apt-get install google-cloud-sdk-app-engine-java && sudo apt-get install google-cloud-sdk-app-engine-python && gcloud init
希望这个问题能得到解决。
我遵循了所有这些命令(用于尝试在系统中重现错误)
第一个命令
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
第二个命令
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
第三个命令
sudo apt-get update && sudo apt-get install google-cloud-sdk
第四个命令
sudo apt-get install unixODBC unixODBC-dev
上面的命令提示 E:找不到包 unixODBC E:找不到软件包 unixODBC-dev
然后我通过以下命令安装了所有的gCloud sdk依赖项 第五个命令
sudo apt-get install google-cloud-sdk-app-engine-java google-cloud-sdk-app-engine-python google-cloud-sdk-pubsub-emulator google-cloud-sdk-bigtable-emulator google-cloud-sdk-datastore-emulator kubectl
以上所有命令均由您给出,除了第 5 个,
我无法在我的机器中重现该错误,
但似乎您的 apt 需要清理已签名的证书并再次重新配置。
请参阅下面的链接,它可能会对您有所帮助。
https://www.fossmint.com/keep-ubuntu-system-clean/
如果您有解决方案,请告诉我解决方案。
随意讨论相同的内容。
我遇到了同样的问题,这是我如何解决的
第 1 步:删除 sudo rm google-cloud-sdk.list
cd /etc/apt/sources.list.d
sudo rm google-cloud-sdk.list
第 2 步:重新安装 Google Cloud
sudo snap remove google-cloud-sdk # skip if you had installed gcp sdk before
sudo apt-get install apt-transport-https ca-certificates gnupg -y
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
gcloud init
参考: https://askubuntu.com/a/1389272
这个为我解决了:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list > /dev/null
如果没有找到此类文件,您可以删除sources.list或sources.list.save中的相关链接。它对我有用。
我的笔记本电脑正在运行 Debian 12(书虫),在将密钥添加到共享密钥环和/etc/apt/sources.list.d
中的相应条目后,我收到了类似的错误消息。
以下是常用步骤:
-
使用您喜欢的方法(
curl
,wget
,Ctrl-C/Ctrl-V
,等等)从Google在文档(https://packages.cloud.google.com/apt/doc/apt-key.gpg)中提供的位置下载最新的密钥 -
检查密钥是否真实(
gpg --show-keys /path/to/key.gpg
并验证指纹) -
将文件移动到
/usr/share/keyrings/cloud.google.gpg
-
在
/etc/apt/sources.list.d
下创建一个新的 apt 源文件,其中包含以下条目:deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
-
运行
apt update
-
安装所需的软件包
几乎是签名包的标准过程,但是它在步骤 5 中失败,说密钥具有无效的文件类型。
事实证明,Google在该URL上提供的文件具有.gpg
扩展名,而实际上它应该是.asc
,因为它包含GPG密钥的ASCII装甲版本,而不是预期的二进制格式。
为 GPG 密钥文件提供正确的扩展名/usr/share/keyrings/cloud.google.asc
并更改对/etc/apt/sources.list.d/google-cloud-sdk.list
中文件的引用就可以解决问题。