在 Ubuntu 18.04 LTS 上安装 Google Cloud SDK 后,Apt-get 被破坏了



我正在使用以下命令在我的 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中的相应条目后,我收到了类似的错误消息。

以下是常用步骤:

  1. 使用您喜欢的方法(curlwgetCtrl-C/Ctrl-V,等等)从Google在文档(https://packages.cloud.google.com/apt/doc/apt-key.gpg)中提供的位置下载最新的密钥

  2. 检查密钥是否真实(gpg --show-keys /path/to/key.gpg并验证指纹)

  3. 将文件移动到/usr/share/keyrings/cloud.google.gpg

  4. /etc/apt/sources.list.d下创建一个新的 apt 源文件,其中包含以下条目:

    deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
    
  5. 运行apt update

  6. 安装所需的软件包

几乎是签名包的标准过程,但是它在步骤 5 中失败,说密钥具有无效的文件类型。

事实证明,Google在该URL上提供的文件具有.gpg扩展名,而实际上它应该是.asc,因为它包含GPG密钥的ASCII装甲版本,而不是预期的二进制格式。

为 GPG 密钥文件提供正确的扩展名/usr/share/keyrings/cloud.google.asc并更改对/etc/apt/sources.list.d/google-cloud-sdk.list中文件的引用就可以解决问题。

相关内容

  • 没有找到相关文章

最新更新