Stay organized with collections Save and categorize content based on your preferences.
Important: gsutil is not the recommended CLI for Cloud Storage. Usegcloud storage
commands in the Google Cloud CLI instead.
This page describes the installation and setup of gsutil, a tool that lets you access Cloud Storage from the command line using HTTPS.
Installing gsutil provides immediate access to public data, enabling you to read and write as permitted. To interact with the protected data shared with you, authentication with the Cloud Storage service is required. Enabling billing gives you the ability to create and manage your own buckets.
System requirementsThe gsutil tool runs on Linux/Unix, Mac OS, and Windows (XP or later).
gsutil versions 5.35 or later require Python 3.9 to 3.13, which you can obtain by using your Python version manager or by installing an appropriate version.
The following instructions show how to manage Python versions:
LinuxPrerequisites: Install a Python version manager (pyenv) and install a suitable Python version.
pyenv global 3.13
pyenv local 3.13
python --version
You should see:
Python 3.13
Prerequisites: Install Homebrew and install a suitable Python version through homebrew.
$PATH
. For example, to use Python 3.13:
export PATH="/usr/local/opt/python@3.13/bin:$PATH"
~/.bash_profile
, ~/.zshrc
, or ~/.bashrc
).python --version
You should see:
Python 3.13
Prerequisites: Install Python version manager (pyenv) and install a suitable python version through pyenv.
pyenv global 3.13
pyenv local 3.13
python --version
You should see:
Python 3.13
Prerequisites: Install Python version manager (pyenv-win) and install a suitable Python version through pyenv.
pyenv global 3.13
pyenv local 3.13
python --version
You should see:
Python 3.13
gsutil help crc32c
."Choose one of -b, -d, -e, or -r to do something"
. If this happens, you can either move the Cloud Storage version of gsutil to the front of your PATH
environment variable, or you can specify the full path when running Cloud Storage gsutil (for example, /home/users/joan/gsutil/gsutil ls
). Installing gsutil Note: If you have previously installed the Google Cloud CLI, then gsutil is already included. Additionally, the Google Cloud CLI, including gsutil, is installed by default on a number of Google Compute Engine images; see OS details for a full list.
The officially supported installation and update method for gsutil is as part of the Google Cloud CLI.
Before you beginGoogle Cloud CLI and gsutil have Python version dependencies that might cause compatibility issues. Google Cloud CLI requires Python 3.9 to 3.14, while gsutil requires Python 3.9 to 3.13.
To install gsutil, we recommend that you install it as part of the Google Cloud CLI. If you choose to install gsutil directly, use Python 3.9 to 3.13 to avoid compatibility issues.
Installing gsutil as part of the Google Cloud CLIFollow the instructions for your operating system to install gsutil as a part of the Google Cloud CLI:
Linuxgcloud topic startup
.uname -a
at the command line.
To download the Linux archive file, run the following command:
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz
Refer to the table above and replace google-cloud-cli-linux-x86_64.tar.gz with the *.tar.gz
package name that applies to your configuration.
tar -xf google-cloud-cli-linux-x86_64.tar.gzOptional: To replace an existing installation, remove the existing
google-cloud-sdk
directory and then extract the archive to the same location.PATH
. You can also opt-in to command-completion for your shell and usage statistics collection. Run the installation script (from the root of the folder you extracted in the last step) using the following command:
./google-cloud-sdk/install.shThis can also be done non-interactively (for example, using a script) and by providing preferences as flags. To view the available flags, run:
./google-cloud-sdk/install.sh --help
Y
when prompted.PATH
and enable command completion, answer Y
when prompted.PATH
in the previous step, open a new terminal so that the changes take effect.gcloud init
:./google-cloud-sdk/bin/gcloud init
gcloud
to automatically update to the latest version and you're running a modern Ubuntu release that uses the Snap Package Manager, you can install the Google Cloud CLI as a snap package.The gcloud CLI is available in package format for installation on Debian and Ubuntu systems. This package contains the gcloud
, gcloud alpha
, gcloud beta
, gsutil
, and bq
commands only. It doesn't include kubectl
or the App Engine extensions required to deploy an application using gcloud
commands. If you want these components, you must install them separately.
Before you install the gcloud CLI, make sure that your operating system meets the following requirements:
sudo apt-get update
apt-transport-https
and curl
installed:
sudo apt-get install apt-transport-https ca-certificates gnupg curl
For newer distributions (Debian 9+ or Ubuntu 18.04+) run the following command:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
If your distribution's apt-key command doesn't support the --keyring
argument, run the following command:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
If you can't get latest updates due to an expired key, obtain the latest apt-get.gpg key file.
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
For older distributions that don't support the signed-by option, run the following command:
echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
cloud-sdk
repo in /etc/apt/sources.list.d/google-cloud-sdk.list
.sudo apt-get update && sudo apt-get install google-cloud-cliFor additional
apt-get
options, such as disabling prompts or dry runs, refer to the apt-get
man pages.
Docker Tip: If installing the gcloud CLI inside a Docker image, use a single RUN step instead:
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://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 | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && apt-get update -y && apt-get install google-cloud-cli -yFor older base images that do not support the
gpg --dearmor
command:
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://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
google-cloud-cli
google-cloud-cli-anthos-auth
google-cloud-cli-app-engine-go
google-cloud-cli-app-engine-grpc
google-cloud-cli-app-engine-java
google-cloud-cli-app-engine-python
google-cloud-cli-app-engine-python-extras
google-cloud-cli-bigtable-emulator
google-cloud-cli-cbt
google-cloud-cli-cloud-build-local
google-cloud-cli-cloud-run-proxy
google-cloud-cli-config-connector
google-cloud-cli-datastore-emulator
google-cloud-cli-firestore-emulator
google-cloud-cli-gke-gcloud-auth-plugin
google-cloud-cli-kpt
google-cloud-cli-kubectl-oidc
google-cloud-cli-local-extract
google-cloud-cli-minikube
google-cloud-cli-nomos
google-cloud-cli-pubsub-emulator
google-cloud-cli-skaffold
google-cloud-cli-spanner-emulator
google-cloud-cli-terraform-validator
google-cloud-cli-tests
kubectl
For example, the google-cloud-cli-app-engine-java
component can be installed as follows:
sudo apt-get install google-cloud-cli-app-engine-java
gcloud init
to get started:
gcloud init
Downgrading gcloud CLI versions
To revert to a specific version of the gcloud CLI, where VERSION
is of the form 123.0.0
, run the following command:
sudo apt-get update && sudo apt-get install google-cloud-cli=123.0.0-0
The ten most recent releases are always available in the repo.
NOTE: For releases prior to 371.0.0, the package name is google-cloud-sdk
The gcloud CLI is available in package format for installation on Red Hat Enterprise Linux 7, 8, and 9; Fedora 41 and 42; and CentOS 7 and 8 systems. This package contains the gcloud
, gcloud alpha
, gcloud beta
, gsutil
, and bq
commands only. It doesn't include kubectl
or the App Engine extensions required to deploy an application using gcloud
commands, which can be installed separately as described later in this section.
The following sample command is for a Red Hat Enterprise Linux 7, 8, or 9-compatible installations, but make sure that you update the settings as needed for your configuration:
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM [google-cloud-cli] name=Google Cloud CLI baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el9-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM
For RHEL 10-compatible installations, use the following command with the updated gpgkey
:
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM [google-cloud-cli] name=Google Cloud CLI baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el10-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key-v10.gpg EOM
libxcrypt-compat.x86_64
.
sudo dnf install libxcrypt-compat.x86_64
sudo dnf install google-cloud-cli
dnf
on your system, you can run these commands using yum
instead.
You can also use dnf
/yum
options, such as disabling prompts or dry runs, with the provided commands.
google-cloud-cli
google-cloud-cli-anthos-auth
google-cloud-cli-app-engine-go
google-cloud-cli-app-engine-grpc
google-cloud-cli-app-engine-java
google-cloud-cli-app-engine-python
google-cloud-cli-app-engine-python-extras
google-cloud-cli-bigtable-emulator
google-cloud-cli-cbt
google-cloud-cli-cloud-build-local
google-cloud-cli-cloud-run-proxy
google-cloud-cli-config-connector
google-cloud-cli-datastore-emulator
google-cloud-cli-firestore-emulator
google-cloud-cli-gke-gcloud-auth-plugin
google-cloud-cli-kpt
google-cloud-cli-kubectl-oidc
google-cloud-cli-local-extract
google-cloud-cli-minikube
google-cloud-cli-nomos
google-cloud-cli-pubsub-emulator
google-cloud-cli-skaffold
google-cloud-cli-spanner-emulator
google-cloud-cli-terraform-validator
google-cloud-cli-tests
kubectl
For example, the google-cloud-cli-app-engine-java
component can be installed as follows:
sudo dnf install google-cloud-cli-app-engine-java
gcloud init
to get started:
gcloud init
Downgrading gcloud CLI versions
If you'd like to revert to a specific version of the gcloud CLI, where VERSION
is of the form 123.0.0
, run: sudo dnf downgrade google-cloud-cli-VERSION
The ten most recent releases will always be available in the repository. NOTE: For releases prior to 371.0.0, the package name is google-cloud-sdk
python3 -V
or python -V
. Supported versions are Python 3.9 to 3.14.xcode-select -p
.sudo xcode-select --install
.gcloud topic startup
.uname -m
from a command line..tar.gz
archive file in the preferred location. Or run the following command:
tar -xf google-cloud-cli-darwin-arm.tar.gz
Optional: To replace an existing installation, remove the existing google-cloud-sdk
directory and then extract the archive to the same location.
./google-cloud-sdk/install.sh
The script will prompt to install Python 3.12 and certain recommended modules.
The install can also be done non-interactively (for example, using a script) by providing preferences as flags. To describe the available flags, run:./google-cloud-sdk/install.sh --helpTo run the install script with screen reader mode on:
./google-cloud-sdk/install.sh --screen-reader=trueOptional:
Y
when prompted.PATH
and enable command completion, answer Y
when prompted.PATH
in the previous step, open a new terminal so that the changes take effect.gcloud init
:./google-cloud-sdk/bin/gcloud init
Download the Google Cloud CLI installer.
Alternatively, open a PowerShell terminal and run the following PowerShell commands:
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe") & $env:Temp\GoogleCloudSDKInstaller.exe
Launch the installer and follow the prompts. The installer is signed by Google LLC.
If you're using a screen reader, check the Turn on screen reader mode checkbox. This option configures gcloud
to use status trackers instead of unicode spinners, display progress as a percentage, and flatten tables. For more information, see the Accessibility features guide.
Google Cloud CLI requires Python; supported versions are Python 3.9 to 3.14. By default, the Windows version of Google Cloud CLI comes bundled with Python 3. To use Google Cloud CLI your operating system must be able to run a supported version of Python.
The installer installs all necessary dependencies, including the needed Python version. While Google Cloud CLI installs and manages Python 3 by default, you can use an existing Python installation if necessary by unchecking the option to Install Bundled Python. See gcloud topic startup
to learn how to use an existing Python installation.
After installation is complete, the installer gives you the option to create Start Menu and Desktop shortcuts, start the Google Cloud CLI shell, and configure the gcloud CLI. Make sure that you leave the options to start the shell and configure your installation selected. The installer starts a terminal window and runs the gcloud init
command.
gcloud
commands. These components can be installed using the gcloud CLI component manager.find
command not being recognized, ensure your PATH
environment variable is set to include the folder containing find
. Usually, this is C:\WINDOWS\system32;
.As part of installing gsutil
, you must set the CLOUDSDK_PYTHON
environment variable to use the correct Python version. For more details, see the gcloud startup topic
.
Perform updates with the components update
command: gcloud components update
.
In order to access protected data or write to a protected bucket, you need to set up credentials (authenticate). For example, if someone else has created a Cloud Storage account and uploaded data that is only accessible to you or other specific individuals, you must set up your credentials to the Cloud Storage service to be able to access this data.
When using gsutil as part of the Google Cloud CLI, OAuth2 is used to authenticate and authorize access to your Cloud Storage resources. To establish access, run the command gcloud init
and follow the instructions provided in the command line, which include logging into your user account. Note that you likely already performed this setup if you followed the installation steps. If you ran gcloud init
previously, when you run the command again you are asked if you want to re-initialize the configuration or create a new one. For more information, see Initialize the Google Cloud CLI.
That's it. You're ready to access protected data. To see a listing of gsutil commands, type gsutil
at the command prompt.
If you try to authenticate gsutil using the gcloud init
command, but are still not able to access the expected buckets or objects, your system might have both the legacy, stand-alone version of gsutil and the Google Cloud CLI-bundled version of gsutil installed on it. Run the command gsutil version -l
and check the value for using cloud sdk
. If False
, your system is using the stand-alone version of gsutil when you run commands. It's recommended that you remove the stand-alone version of gsutil from your system; however, you can alternatively authenticate using gsutil config -a
or gsutil config -e
.
While OAuth 2.0 is the recommended way to authenticate gsutil, you can also use HMAC keys for your credentials. To authenticate with HMAC, use the following command:
gsutil config -a
Using this command takes you through an authentication process in which you are prompted for the access ID and secret associated with your HMAC key.
When authenticating with HMAC keys, you should disable credential passing from the Google Cloud CLI by using the command: gcloud config set pass_credentials_to_gsutil false
.
You might also want to enable mutual TLS (mTLS). When mTLS is enabled on your device, your device attempts to connect to the mTLS request endpoint for the JSON API. Before the connection is allowed, Cloud Storage verifies the certificate on your device.
Note: This feature only works when gsutil makes requests through the Cloud Storage JSON API.The simplest way to to obtain a certificate is through Google Cloud CLI. You can set one manually in the .boto file by setting the following values under "Credentials":
use_client_certificate
: A flag controlling whether or not to use mTLS.cert_provider_command
: A shell command that prints a certificate to stdout for gsutil to read.If you're new to Google Cloud, create an account to evaluate how Cloud Storage performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
Try Cloud Storage freeExcept as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-10-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-10-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.5