无法在 ubuntu 18.04 中使用 sudo apt-get <command name>

Rup*_*esh 7 updates cloud apt repository 18.04

当我尝试使用诸如 sudo apt-get update 之类的任何命令时,我得到了

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
Run Code Online (Sandbox Code Playgroud)

这是我的 cd 到 /usr/share/keyrings/

rupeshiya@devil:/usr/share/keyrings$ ls
ubuntu-archive-keyring.gpg          ubuntu-esm-keyring.gpg
ubuntu-archive-removed-keys.gpg     ubuntu-fips-keyring.gpg
ubuntu-cloudimage-keyring.gpg       ubuntu-fips-updates-keyring.gpg
ubuntu-cloudimage-removed-keys.gpg  ubuntu-master-keyring.gpg
Run Code Online (Sandbox Code Playgroud)

这是我的文件 /etc/apt/sources.list.d/google-cloud-sdk.list 的内容

rupeshiya@devil:/etc/apt/sources.list.d$ cat google-cloud-sdk.list 
deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main
deb https://packages.cloud.google.com/apt cloud-sdk main
deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main
deb http://packages.cloud.google.com/apt cloud-sdk main
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我不是一个非常有经验的 ubuntu 用户,而是试图在 Ubuntu 中实现一些东西。

小智 35

这是我修复它的方法:

步骤 1:删除 sudo rm google-cloud-sdk.list

cd /etc/apt/sources.list.d
sudo rm google-cloud-sdk.list
Run Code Online (Sandbox Code Playgroud)

第 2 步:再次重新安装 Google Cloud

sudo snap remove google-cloud-sdk
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
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,你的指南比谷歌的更好 (2认同)

小智 8

您很可能完全按照 Cloud SDK 安装说明进行操作。某些步骤是可选的(即,您执行其中一个步骤)。

因此,您的 /etc/apt/sources.list.d/google-cloud-sdk.list 将有重复的条目:

deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt  cloud-sdk main 
deb https://packages.cloud.google.com/apt cloud-sdk main
Run Code Online (Sandbox Code Playgroud)

如您所见,两行是相同的,只是其中一行指定了密钥环文件,而另一行不指定(因此它使用默认值)。有你的冲突。

您应删除包含“签名者”的行,然后就可以开始了。


Ole*_*uer 1

我有同样的问题。我认为问题是您缺少此文件:cloud.google.gpg in /usr/share/keyrings/

要修复它,你可以这样做:

  1. 删除 google-cloud-sdk,以便您可以再次使用 apt-get:

    cd /etc/apt/sources.list.d

    sudo rm google-cloud-sdk.list

  2. 安装curl(如果你没有):

    sudo apt-get 安装curl

  3. 复制密钥:

    卷曲https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg 添加 -

  4. 再次将源添加到列表中:

    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

    echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

  5. 再次安装sdk:

    sudo apt-get 更新

    sudo apt-get 安装 google-cloud-sdk

我认为这对我有用,但我也不是很有经验,所以如果有人可以提供更多细节,那将是理想的。

希望它有效:)