繁体   English   中英

在 Ubuntu 上安装 Google Cloud SDK 时出错,如何解决?

[英]Error when installing Google Cloud SDK on Ubuntu, how to fix?

我正在尝试设置 Google Cloud SDK CLI 来管理一些计算资源,我只是按照这部分的指南进行操作。 我运行了这个命令,它成功地安装了很多东西,但遇到了下面的问题。 谁能提出解决方案或如何调试?

$ sudo apt-get update && sudo apt-get install google-cloud-sdk                                   
[sudo] password for #######:                                                                                              
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease                                                                  
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]                                                         
Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]                                                   
Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]                                              
Get:5 https://packages.cloud.google.com/apt cloud-sdk InRelease [6349 B]                                                
Ign:6 http://packages.cloud.google.com/apt cloud-sdk-focal InRelease                                                    
Err:7 http://packages.cloud.google.com/apt cloud-sdk-focal Release                                                        
404  Not Found [IP: 216.58.204.238 80]                                                                                
Get:8 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [255 kB]                                       
Get:9 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [7492 B]                                 
Get:10 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [132 kB]                                  
Get:11 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [4732 B]                            
Reading package lists... Done                                                                                           
E: The repository 'http://packages.cloud.google.com/apt cloud-sdk-focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.   

我遇到了与 Ubuntu 20 相同的问题。解决方案是使用 snap 安装。

snap install google-cloud-sdk --classic

确保你有--classic最后,否则你会得到这个错误:

错误:此版本的 snap“google-cloud-sdk”是使用经典限制发布的,因此可能会在通常限制 snap 的安全沙箱之外执行任意系统更改,这可能会使您的系统面临风险。 如果您理解并想继续,请重复包含 --classic 的命令。

看起来问题出在 Google 上未更新的文档中。 我用它来创建 Docker 图像,但我相信它也解决了正常安装问题:

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 467B942D3A79BD29
 RUN apt-get update && apt-get install -y apt-transport-https ca-certificates curl gnupg

 RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | \
     tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
     apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - && apt-get update -y && apt-get install google-cloud-cli -y

关注http://packages.cloud.google.com/apt cloud-sdk main 在谷歌网站上是http://packages.cloud.google.com/apt cloud-cli main所以似乎 package 的名称已经从cloud-cli更改为cloud-sdk

在我的例子中,解决方案是安装早期的 18.04 LTS 版本 Ubuntu(卸载 20.04)。 完成此操作后,Google Cloud Compute SDK 安装步骤成功运行。

我在这里发现了一个类似的问题/解决方案: https://forums.fast.ai/t/platform-gcp/27375/716

我认为不可能在 Ubuntu 20.04.3 上使用apt获取gcloud ,至少不是最新版本。 我很想通过 snap 获取最新消息:

sudo snap install google-cloud-sdk --classic

但我想不出“在安全沙箱之外任意更改系统”的充分理由。 顺便说一句, node也有同样的警告,所以它并不少见。 不过,我更喜欢在容器中运行它,顺便说一句,我也为 Node.js 这样做。

如果您已经运行dockerpodman ,这可能是另一种选择。 请参阅下面的示例 shell session,其中我获得版本 360.0.0。 我现在选择了 slim,因为默认值是 1GB 左右,但是有很多标签可供选择。

docker pull google/cloud-sdk:360.0.0-slim
# run a dummy tail so the container does not exit
docker run --name gcloud -d google/cloud-sdk:360.0.0-slim tail -f /dev/null
# now get a shell into it
docker exec -ti gcloud /bin/bash

root@ff77152a65ee:/# gcloud --version
Google Cloud SDK 360.0.0
alpha 2021.10.04
beta 2021.10.04
bq 2.0.71
core 2021.10.04
gsutil 5.3

或者,对于将在您exit shell 时停止的容器:

docker run -ti google/cloud-sdk:360.0.0-slim /bin/bash

官方google cloud-sdk docker hub 概述页面上有详细的文档。

我的~/.bashrc上有以下内容,可以快速访问“gcloud shell”:

alias gcloudshell='docker start gcloud && docker exec -ti gcloud /bin/bash'

请注意,它可以多次使用,即使容器已经在运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM