在Ubuntu上安装谷歌云SDK时出错,如何修复



我正在尝试设置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,否则你会得到这个错误:

错误:此版本的快照;谷歌云sdk"发表时使用了经典禁闭,因此可以在快照通常使用的安全沙箱之外执行任意系统更改限制在,这可能会使您的系统面临风险。如果您理解并希望继续,请重复包括--classic在内的命令。

问题似乎出现在谷歌上未更新的文档中。我用这个创建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

关注CCD_ 2。在谷歌网站上是http://packages.cloud.google.com/apt cloud-cli main,所以看起来包的名称已经从cloud-cli改为cloud-sdk

在我的案例中,解决方案是安装Ubuntu的早期18.04 LTS版本(卸载20.04(。完成这一操作后,谷歌云计算SDK的安装步骤成功运行。

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

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

sudo snap install google-cloud-sdk --classic

但我想不出一个好的理由安全沙箱之外的任意系统更改";。顺便说一句,node也有同样的警告,所以它并不罕见。尽管如此,我更喜欢在容器中运行它,顺便说一句,我也为Node.js.这样做

如果您已经运行dockerpodman,这可能是另一个选项。请参阅下面的shell会话示例,在这里我可以获得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外壳时将停止的容器:

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

官方的谷歌云sdk docker hub概览页面上有详细的文档。

我在我的CCD_ 10上有以下内容;gcloud shell":

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

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

我在使用WSL时遇到一个错误,我通过运行修复:

sudo snap  install google-cloud-sdk --classic
sudo snap  install google-cloud-cli --classic

最新更新