簡體   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