'Error when installing Google Cloud SDK on Ubuntu, how to fix?

I'm attempting to set up Google Cloud SDK CLI to manage some compute resources, and I'm just following a guide for this part. I ran this command and it installed lots of stuff successfully but ran into the problem below. Can anyone suggest a solution or how to debug?

$ 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.   


Solution 1:[1]

I had the same issue with Ubuntu 20. The solution is to install using snap.

snap install google-cloud-sdk --classic

Make sure you have --classic at the end, otherwise you'll get this error:

error: This revision of snap "google-cloud-sdk" was published using classic confinement and thus may perform arbitrary system changes outside of the security sandbox that snaps are usually confined to, which may put your system at risk. If you understand and want to proceed, repeat the command including --classic.

Solution 2:[2]

Looks like the problem is in not updated documentation on Google. I used this for creating Docker image but I believe it solved normal installation too:

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

keep attention on http://packages.cloud.google.com/apt cloud-sdk main. In Google website is http://packages.cloud.google.com/apt cloud-cli main so seems like name of package has been changed from cloud-cli to cloud-sdk.

Solution 3:[3]

In my case the solution was to install the earlier 18.04 LTS version of Ubuntu (uninstalling 20.04). Having done this the Google Cloud Compute SDK install steps worked successfully.

I found a similar problem / solution described here: https://forums.fast.ai/t/platform-gcp/27375/716

Solution 4:[4]

I don't think it's possible to get gcloud on Ubuntu 20.04.3 with apt, at least not a recent version. I was tempted to get the latest through snap:

sudo snap install google-cloud-sdk --classic

But I can't think of a good reason for "arbitrary system changes outside of the security sandbox". By the way, there's the same warning for node so it's not that uncommon. Nonetheless, I prefer to run it in a container, which by the way, I also do for Node.js.

If you already run docker or podman, this could be another option. See an example shell session below, where I get version 360.0.0. I went for slim for now, because the default is around 1GB, but there are plenty of tags to choose.

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

Alternatively, for a container that will stop when you exit the shell:

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

There's detailed documentation on the official google cloud-sdk docker hub overview page.

I have the following on my ~/.bashrc for quick access into a "gcloud shell":

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

Note that it can be used multiple times, even if the container is already running.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Oras
Solution 2 wiesiu_p
Solution 3 Jules
Solution 4