安装 gsutil

本页面介绍了 gsutil 的安装和设置,该工具可让您从命令行使用 HTTPS 访问 Cloud Storage。

只需安装 gsutil,您即可获得公共数据的读取和/或写入权限。向 Cloud Storage 服务进行身份验证,您可以获得与您共享的受保护数据的读取和/或写入权限。通过启用结算功能,您可以创建和管理自己的存储桶。

系统要求

  • gsutil 工具在 Linux/Unix、Mac OS、Windows(XP 或更高版本)上运行。

  • gsutil 5.0 及更高版本需要使用 Python 3。

  • 如果您计划使用复合对象,则需要安装已编译的 crcmod。在 Windows 系统中,已编译的 crcmod 仅适用于 32 位 Python。

安装 gsutil

官方支持的 gsutil 安装和更新方法已包含在 Google Cloud CLI 中。

将 gsutil 作为 Google Cloud CLI 的一部分进行安装

按照您的操作系统对应的说明操作,将 gsutil 作为 Google Cloud CLI 的一部分进行安装:

Linux
  1. 确认您拥有受支持的 Python 版本。Google Cloud CLI 需要 Python 3.8 到 3.12。请注意,x86_64 Linux 软件包中包含默认首选的捆绑式 Python 解释器。如需了解如何选择和配置 Python 解释器,请参阅 gcloud topic startup
  2. 下载以下内容之一:
    平台 软件包名称 大小 SHA256 校验和
    Linux 64 位

    (x86_64)

    google-cloud-cli-471.0.0-linux-x86_64.tar.gz 202.0 MB d53ed9f881953cb35c8312125ae24a201aba8660b724143d3ba048e2a7cc794d
    Linux 64 位

    (Arm)

    google-cloud-cli-471.0.0-linux-arm.tar.gz 118.9 MB 62af142a8e42aea090873d8316c9e0cd80ee5a418f325168a4bfd14bd862ecdb
    Linux 32 位

    (x86)

    google-cloud-cli-471.0.0-linux-x86.tar.gz 117.0 MB a59f0f4c314f2f57009cf0aac47fb5c5be7e718f05e2b9a94efab2b40303f687

    如需下载 Linux 归档文件,请运行以下命令:

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-471.0.0-linux-x86_64.tar.gz

    请参阅上表并将 google-cloud-cli-471.0.0-linux-x86_64.tar.gz 替换为适用于您的配置的 *.tar.gz 软件包名称。

  3. 如需将文件内容解压缩到文件系统(最好是解压缩到您的主目录),请运行以下命令:
    tar -xf google-cloud-cli-471.0.0-linux-x86_64.tar.gz
    可选:如需替换现有安装,请移除现有的 google-cloud-sdk 目录,然后将归档解压缩到同一位置。
  4. 将 gcloud CLI 添加到路径中。使用以下命令从解压缩到的文件夹的根目录运行安装脚本:
    ./google-cloud-sdk/install.sh
    也可以通过提供偏好设置作为标志以非交互方式(例如使用脚本)完成此操作。如需查看可用标志,请运行以下命令:
    ./google-cloud-sdk/install.sh --help
    可选:
    • 如需发送匿名使用情况统计信息以帮助改进 gcloud CLI,请在出现提示时回答 Y
    • 如需将 gcloud CLI 添加到您的 PATH 并启用命令补全功能,请在出现提示时回答 Y
  5. 打开新终端,以使更改生效。
  6. 如需初始化 gcloud CLI,请运行 gcloud init
  7. ./google-cloud-sdk/bin/gcloud init
  8. 可选:使用组件管理器安装其他组件。
Debian/Ubuntu

软件包内容

对于 Debian 和 Ubuntu 系统,可以通过软件包格式的 gcloud CLI 进行安装。此软件包仅包含 gcloudgcloud alphagcloud betagsutil、和 bq 命令,而不包括 kubectl 或使用 gcloud 命令部署应用所需的 App Engine 扩展程序。如果您需要这些组件,则必须单独安装

准备工作

在安装 gcloud CLI 之前,请确保您的操作系统满足以下要求:

  • 这是尚未达到服务终止期限的 Ubuntu 版本或尚未达到服务终止期限的 Debian 稳定版本
  • 它最近更新了其软件包:
    sudo apt-get update
  • 它安装了 apt-transport-httpscurl
    sudo apt-get install apt-transport-https ca-certificates gnupg curl
安装
  1. 导入 Google Cloud 公钥。
    • 对于较新的发行版(Debian 9+ 或 Ubuntu 18.04+),请运行以下命令:

      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 -
    • 如果您的发行版的 apt-key 命令不支持 --keyring 参数,请运行以下命令:

      curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    • 如果您由于密钥过期而无法获取最新更新,请获取最新的 apt-get.gpg 密钥文件

  2. 添加 gcloud CLI 发行版 URI 作为软件包源。
    • 对于较新的发行版(Debian 9+ 或 Ubuntu 18.04+),请运行以下命令:
      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
    • 对于不支持 signed-by 选项的旧发行版,请运行以下命令:

      echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
  3. 更新并安装 gcloud CLI:
    sudo apt-get update && sudo apt-get install google-cloud-cli
    如需了解其他 apt-get 选项(例如停用提示或试运行),请参阅 apt-get 手册页面

    Docker 提示:如果安装 Docker 映像中的 gcloud CLI,请改用单个 RUN 步骤:

    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 | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && apt-get update -y && apt-get install google-cloud-sdk -y
        
    对于不支持 gpg --dearmor 命令的旧基础映像:
    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
          
  4. (可选)安装以下任何其他组件
    • 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

    例如,google-cloud-cli-app-engine-java 组件可以按以下方式安装:

    sudo apt-get install google-cloud-cli-app-engine-java
  5. 运行 gcloud init 以开始执行初始化操作:
    gcloud init

降级 gcloud CLI 版本

如需还原到特定版本的 gcloud CLI(其中 VERSION123.0.0 形式),请运行以下命令:

sudo apt-get update && sudo apt-get install google-cloud-cli=123.0.0-0

代码库中始终提供最新的十个版本。

注意:对于 371.0.0 之前的版本,该软件包名称为 google-cloud-sdk

Red Hat/Fedora/CentOS

软件包内容

对于 Red Hat Enterprise Linux 7、8 和 9、Fedora 33 和 34 以及 CentOS 7 和 CentOS 8 系统,可以通过软件包格式的 gcloud CLI 进行安装。此软件包仅包含 gcloudgcloud alphagcloud betagsutil、和 bq 命令,而不包括 kubectl 或使用 gcloud 命令部署应用所需的 App Engine 扩展程序,您可以按照本部分稍后所述的方法单独安装。

安装
  1. 使用 gcloud CLI 仓库信息更新 DNF。以下示例命令适用于与 Red Hat Enterprise Linux 9 兼容的安装,但请务必根据您的配置的需要更新设置:
    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
    
  2. 如果您要在 Fedora 34 或 35 上安装,请安装 libxcrypt-compat.x86_64
    sudo dnf install libxcrypt-compat.x86_64
  3. 安装 gcloud CLI:
    sudo dnf install google-cloud-cli
  4. (可选)安装以下任何其他组件
    • 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

    例如,google-cloud-cli-app-engine-java 组件可以按以下方式安装:

    sudo dnf install google-cloud-cli-app-engine-java
  5. 运行 gcloud init 以开始执行初始化操作:
    gcloud init

降级 gcloud CLI 版本

如果您想还原到特定版本的 gcloud CLI(其中 VERSION 的格式为 123.0.0),请运行 sudo dnf downgrade google-cloud-cli-VERSION。仓库中始终提供最新的十个版本。注意:对于 371.0.0 之前的版本,该软件包名称为 google-cloud-sdk

macOS
  1. 确认您拥有受支持的 Python 版本:
    • 如需查看当前的 Python 版本,请运行 python3 -V python -V。支持的版本是 Python 3.8 到 3.12。
    • 主安装脚本可安装 CPython 的 Python 3.11。
    • 否则,如需安装支持的 Python 版本,请访问 Python.org 适用于 macOS 的 Python 版本
    • 如果您的机器上安装了多个 Python 解释器,请在 shell 中设置 CLOUDSDK_PYTHON 环境变量,使其指向首选解释器的路径。
    • 如需详细了解如何选择和配置 Python 解释器,请参阅 gcloud topic startup
  2. 下载以下内容之一:
  3. 平台 软件包 大小 SHA256 校验和
    macOS 64 位

    (x86_64)

    google-cloud-cli-471.0.0-darwin-x86_64.tar.gz 124.7 MB b03ab8e095efa9d4530f541120541c2a212515858ff478ac92a835d9f6307765
    macOS 64 位

    (ARM64, Apple M1 silicon)

    google-cloud-cli-471.0.0-darwin-arm.tar.gz 121.8 MB b875070c7a572edc70657e822708890b82d4319142809e8499340d07cdfcdea2
    macOS 32 位

    (x86)

    google-cloud-cli-471.0.0-darwin-x86.tar.gz 123.4 MB c1e376e7504ffabda7671a830630e74d3c589e7d58093748e47089ae31d65b0b
    1. 将归档解压缩到文件系统上的任意位置(最好是解压缩到您的主目录)。在 macOS 上,此操作可通过打开下载到首选位置的 .tar.gz 归档文件来实现。

      如需替换现有安装,请移除现有的 google-cloud-sdk 目录,然后将归档解压缩到同一位置。

    2. (可选)使用安装脚本将 gcloud CLI 工具添加到您的 PATH。您还可以选择为 shell 启用命令补全功能、使用情况统计信息收集功能,并安装 Python 3.11。

      使用以下命令运行脚本(从您在上一步中解压缩的文件夹的根目录运行):

      ./google-cloud-sdk/install.sh
      
      This 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 --help
      
      To run the install script with screen reader mode on:
      ./google-cloud-sdk/install.sh --screen-reader=true
      
      Open a new terminal so that the changes take effect.
    3. To initialize the gcloud CLI, run gcloud init:
    4. ./google-cloud-sdk/bin/gcloud init
      
    5. Optional. Install additional components using the component manager.
Windows
    The Google Cloud CLI works on Windows 8.1 and later and Windows Server 2012 and later.
  1. 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
        
  2. 启动安装程序并按提示操作。安装程序已经过 Google LLC 签名。

    如果您使用的是屏幕阅读器,请选中启用屏幕阅读器模式复选框。此选项会将 gcloud 配置为使用状态跟踪器而不是 Unicode 旋转图标,以百分比表示显示进度和展开的表。如需了解详情,请参阅无障碍功能指南

  3. Google Cloud CLI 要求安装 Python;受支持的版本是 Python 3.8 到 3.12。默认情况下,Windows 版本的 Google Cloud CLI 捆绑了 Python 3。如需使用 Google Cloud CLI,您的操作系统必须能够运行受支持的 Python 版本。

    安装程序会安装所有必需的依赖项(包括所需的 Python 版本)。虽然 Google Cloud CLI 默认安装和管理 Python 3,但您可以根据需要通过取消选中“安装捆绑的 Python”选项来使用已安装的 Python。请参阅 gcloud topic startup,了解如何使用现有 Python 安装。

  4. 安装完成后,安装程序会为您提供创建开始菜单和桌面快捷方式、启动 Google Cloud CLI shell 以及配置 gcloud CLI 的选项。确保已选择用于启动 shell 并配置安装的选项。安装程序会启动终端窗口并运行 gcloud init 命令。

  5. 默认安装不包括使用 gcloud 命令部署应用所必需的 App Engine 扩展程序。您可以使用 gcloud CLI 组件管理器安装这些组件。
问题排查提示
  • 如果由于 find 命令未被识别而导致安装失败,请确保您的 PATH 环境变量设置为将包含 find 的文件夹包括在内。通常,此文件夹为 C:\WINDOWS\system32;
  • 如果您卸载了 gcloud CLI,则必须先重新启动系统,然后才能再次安装 gcloud CLI。
  • 如果解压缩失败,请以管理员身份运行安装程序。

使用 components update 命令执行更新操作:gcloud components update

设置凭据以访问受保护的数据

如需访问受保护的数据或向受保护的存储桶写入数据,您需要设置凭据(身份验证)。例如,如果其他人创建了 Cloud Storage 账号并上传了只有您或其他特定人员可访问的数据,您必须向 Cloud Storage 服务设置凭据才能访问此数据。

将 gsutil 作为 Google Cloud CLI 的一部分时,系统将使用 OAuth2 来对 Cloud Storage 资源访问进行身份验证和授权。如需建立访问,请运行命令 gcloud init 并按照命令行中提供的说明操作,包括登录用户账号。请注意,如果您已完成上面的安装步骤,则可能已经执行了此设置。如果您之前运行过 gcloud init,则再次运行该命令时,系统会询问您是要重新初始化配置还是要创建新配置。如需了解详情,请参阅初始化 Google Cloud CLI

大功告成!您已准备好访问受保护的数据。如需查看 gsutil 命令列表,请在命令提示符处输入 gsutil

问题排查

如果您尝试使用 gcloud init 命令对 gsutil 进行身份验证,但仍无法访问预期的存储桶或对象,则您的系统可能同时安装了独立的旧版 gsutil 和 Google Cloud CLI 捆绑式 gsutil 版本。请运行 gsutil version -l 命令并检查 using cloud sdk 的值。如果为 False,则说明在您运行命令时,系统使用的是独立版 gsutil。建议您从系统中移除独立版 gsutil;但是,您也可以使用 gsutil config -agsutil config -e 进行身份验证。

使用 HMAC 进行身份验证

虽然我们建议您使用 OAuth 2.0 对 gsutil 进行身份验证,但您也可以将 HMAC 密钥用于您的凭据。如需使用 HMAC 进行身份验证,请使用以下命令:

gsutil config -a

使用此命令后,系统会引导您完成一个身份验证过程,在该过程中,系统会提示您输入与 HMAC 密钥关联的访问 ID 和密文。

使用 HMAC 密钥进行身份验证时,您应使用以下命令停用从 Google Cloud CLI 传递的凭据:gcloud config set pass_credentials_to_gsutil false

启用 mTLS

您可能还需要启用双向 TLS (mTLS)。在设备上启用 mTLS 后,您的设备会尝试连接到 storage.mtls.googleapis.com。在允许连接之前,Cloud Storage 会验证您设备上的证书。

获取证书的最简单方法是使用 Google Cloud CLI。您可以手动在 .boto 文件的“Credentials”下设置以下值以设置一个证书:

  1. use_client_certificate:用于控制是否使用 mTLS 的标志。
  2. cert_provider_command:一个 shell 命令,用于将证书输出到 stdout,供 gsutil 读取。

自行试用

如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud Storage 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 Cloud Storage