安装 gsutil

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

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

系统要求

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

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

安装 gsutil

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

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

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

Linux
  1. Cloud SDK 要求安装 Python;支持的版本是 Python 3(首选,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)。

    python --version
    如需详细了解如何选择和配置 Python 解释器,请参阅 gcloud topic startup
  2. 下载以下软件包之一:
  3. 平台 软件包 大小 SHA256 校验和
    Linux 64 位

    (x86_64)

    google-cloud-sdk-338.0.0-linux-x86_64.tar.gz 84.8 MB 0278e1a03b2ce562503f0b93357eeba9ea23bacfcf4ac9c648eb5232771cd5b3
    Linux 32 位

    (x86)

    google-cloud-sdk-338.0.0-linux-x86.tar.gz 82.1 MB b8c1a810e895a48418135d76ab6a90322e05591496601eee166e00a99fd081ec

  4. 或者,如需通过命令行下载 Linux 64 位归档文件,请运行以下命令:

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

    对于 32 位归档文件,请运行以下命令:

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-338.0.0-linux-x86.tar.gz
  5. 将文件内容提取到文件系统上的任意位置(最好是主目录)。如果您想替换现有安装,请移除现有的 google-cloud-sdk 目录并将归档解压缩到同一位置。
  6. 可选。使用安装脚本将 Cloud SDK 工具添加至您的 PATH。您还可以选择为您的 shell 启用命令补全功能以及选择开启使用情况统计信息收集功能

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

    ./google-cloud-sdk/install.sh
    
    也可以通过提供偏好设置作为标志来以非交互方式(例如,使用脚本)完成此操作。相关说明,请参阅:
    ./google-cloud-sdk/install.sh --help
    
    打开新终端,以使更改生效。
  7. 运行 gcloud init 来初始化 SDK:
  8. ./google-cloud-sdk/bin/gcloud init
    
  9. 可选。使用组件管理器安装其他组件。
Debian/Ubuntu

软件包内容

对于 Debian 和 Ubuntu 系统,可以通过软件包格式的 Cloud SDK 进行安装。此软件包仅包含 gcloudgcloud alphagcloud betagsutilbq 命令,而不包括 kubectl 或使用 gcloud 命令部署应用所必需的 App Engine 扩展程序。如果您需要这些组件,则必须按照本部分稍后所述的方法另行安装。

前提条件

在安装 Cloud SDK 之前,请确保您的操作系统是下面某一项:

安装
  1. 添加 Cloud SDK 分发 URI 作为软件包源:
    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
    请确保您已安装 apt-transport-https
    sudo apt-get install apt-transport-https ca-certificates gnupg
  2. 导入 Google Cloud 公钥:
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
  3. 更新并安装 Cloud SDK:
    sudo apt-get update && sudo apt-get install google-cloud-sdk
    如需了解其他 apt-get 选项(例如停用提示或试运行),请参阅 apt-get 手册页面

    Docker 提示:如果在 Docker 映像中安装 Cloud SDK,请改用单个 RUN 步骤:

    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-sdk -y
          

  4. 您可以选择安装以下任何其他组件
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

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

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

降级 Cloud SDK 版本

如果您想还原到特定版本的 Cloud SDK(其中 VERSION 的格式为 123.0.0),请运行以下命令:sudo apt-get update && sudo apt-get install google-cloud-sdk=123.0.0-0 最新的 10 个版本将始终显示在代码库中。

Red Hat/Fedora/CentOS

软件包内容

对于 Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 8、Fedora 33 以及 CentOS 7 和 8 系统,可以通过软件包格式的 Cloud SDK 进行安装。此软件包仅包含 gcloudgcloud alphagcloud betagsutilbq 命令,而不包括 kubectl 或使用 gcloud 命令部署应用所必需的 App Engine 扩展程序,但您可以单独安装这些内容,如本部分稍后所述。

安装
  1. 利用 Cloud SDK 代码库信息更新 DNF:
    sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
    [google-cloud-sdk]
    name=Google Cloud SDK
    baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=0
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
           https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    
  2. 安装 Cloud SDK:
    sudo dnf install google-cloud-sdk
  3. 您可以选择安装以下任何其他组件
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

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

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

降级 Cloud SDK 版本

如果您想还原到特定版本的 Cloud SDK(其中 VERSION 的格式为 123.0.0),请运行以下命令:sudo dnf downgrade google-cloud-sdk-VERSION 最新的 10 个版本将始终显示在代码库中。

macOS
  1. Cloud SDK 要求安装 Python;支持的版本是 Python 3(首选,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)。现代版本的 macOS 包含 Cloud SDK 所需的适当版本的 Python。

    但是,如果您希望使用 Cloud SDK 安装 Python 3,可以选择捆绑了 Python 的 macOS 64 位安装服务。

    如需查看当前的 Python 版本,请运行以下命令:

      python -V
      
    如需详细了解如何选择和配置 Python 解释器,请参阅 gcloud topic startup
  2. 下载以下内容之一:
  3. 平台 软件包 大小 SHA256 校验和
    macOS 64 位

    (x86_64)

    google-cloud-sdk-338.0.0-darwin-x86_64.tar.gz 85.3 MB cff5641001846e50632b2ac30138d94b6df7d5254a3c44cad978df0f81f1f117
    macOS 64 位

    (arm64)

    google-cloud-sdk-338.0.0-darwin-arm.tar.gz 85.2 MB d06c53e2cb17cad7c47fe11ee509b4a4d10ab218c7e9d8965f770259c29d2dac
    macOS 64 位,捆绑了 Python

    (x86_64)

    google-cloud-sdk-338.0.0-darwin-x86_64-bundled-python.tar.gz 127.2 MB baeb0b08e2219aeb8a840d054d60dc6e38b16b33f1e57a23e4d93b64fb44ed61
    macOS 32 位

    (x86)

    google-cloud-sdk-338.0.0-darwin-x86.tar.gz 89.0 MB c6f74996b1ac03a4ced045e7db9ac7abb477661dd4708a0c859d1901ca9a47a3

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

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

    2. 可选。使用安装脚本将 Cloud SDK 工具添加至您的 PATH。您还可以选择为您的 shell 启用命令补全功能以及选择开启使用情况统计信息收集功能

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

      ./google-cloud-sdk/install.sh
      
      也可以通过提供偏好设置作为标志来以非交互方式(例如,使用脚本)完成此操作。相关说明,请参阅:
      ./google-cloud-sdk/install.sh --help
      
      如果您要在开启屏幕阅读器模式的情况下运行安装脚本,请执行以下操作:
      ./google-cloud-sdk/install.sh --screen-reader=true
      
      打开新终端,以使更改生效。
    3. 运行 gcloud init 来初始化 SDK:
    4. ./google-cloud-sdk/bin/gcloud init
      
    5. 可选。使用组件管理器安装其他组件。
Windows
  1. 下载 Cloud SDK 安装程序

    或者,打开 PowerShell 终端,然后运行以下 PowerShell 命令。

    (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 签名。

    如果您要启用屏幕阅读器模式,请选择启用屏幕阅读器模式 (Turn on screen reader mode) 选项,以畅享更精简的屏幕阅读器体验。如需详细了解 Cloud SDK 屏幕阅读器体验,请参阅无障碍功能指南

    Windows 中“Google Cloud SDK 安装程序”(Google Cloud SDK Setup) 的“欢迎使用”对话框,其中包含用于启用屏幕阅读器模式的复选框

  3. Cloud SDK 要求安装 Python;支持的版本是 Python 3(首选,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)。

    安装程序将安装所有必需的依赖项(包括所需的 Python 版本)。 虽然 Cloud SDK 目前默认使用 Python 3,但您可以根据需要通过取消选中“安装捆绑的 Python”选项来使用已安装的 Python。

  4. 安装完成后,安装程序会提供几个选项:

    Windows 安装程序提示

    确保选中以下选项:

    • 启动 Google Cloud SDK Shell (Start Google Cloud SDK Shell)
    • 运行 gcloud init

    安装程序会启动终端窗口并运行 gcloud init 命令。

  5. 默认安装不包括使用 gcloud 命令部署应用所必需的 App Engine 扩展程序。这些组件可通过 Cloud SDK 组件管理器进行安装。
问题排查提示
  • 如果 Cloud SDK 在安装版本 274.0.0 后无法运行,请参阅此跟踪 bug,了解最新的解决方法。
  • 如果由于 find 命令未被识别而导致安装失败,请确保您的 PATH 环境变量设置为将包含 find 的文件夹包括在内。通常,此文件夹为 C:\WINDOWS\system32;
  • 如果您刚刚卸载了 Cloud SDK,则需要重新启动系统才能再次安装 Cloud SDK。

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

如需了解如何使用 gsutil,请参阅《快速入门:使用 gsutil 工具》练习,或运行 gsutil help

其他安装方法

您可以通过多种方法以独立产品的形式安装 gsutil。如果您不需要 Cloud SDK 附带的任何其他组件,或者您使用 PyPI 管理软件包,可能更愿意使用这些方法。

如果要以独立版的形式安装 gsutil,您必须在计算机上安装 Python(首选 Python 3.5 到 3.8)。默认情况下,Python 会安装在大多数 Linux 和 macOS 发行版上,但不会安装在 Windows 上;您必须首先安装 Python,然后才能在 Windows 上运行 gsutil。

展开所需的方法以查看相关说明。

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

安装 gsutil 后,您可以下载和访问可公开访问的对象,但是,若要访问受保护的数据或向受保护的存储分区写入数据,您需要设置凭据(身份验证)。例如,如果其他人创建了 Cloud Storage 帐号并上传了只有您或其他特定人员可访问的数据,您必须向 Cloud Storage 服务设置凭据才能访问此数据。

如果您将 gsutil 作为 Google Cloud SDK 的一部分进行安装,请按照这些说明操作。否则,请参阅“对独立 gsutil 进行身份验证”部分

对 Google Cloud SDK 进行身份验证

将 gsutil 作为 Google Cloud SDK 的一部分时,系统将使用 OAuth2 来对访问进行身份验证并授予访问权限。请注意,如果您已执行了上面的将 gsutil 作为 Google Cloud SDK 的一部分进行安装过程,则您可能已执行了以下步骤。如果您之前运行过 gcloud init,系统会询问您是否要重新初始化配置或创建新配置。

  1. 打开命令提示符实例。

  2. 在命令提示符处运行 gcloud init

    您会收到以下输出结果:

    Welcome! This command will take you through the configuration of gcloud.
     
    Your current configuration has been set to: [default]
     
    To continue, you must login. Would you like to login (Y/n)?
    

  3. 依次按“Y”键和 Enter 键登录。

    • 该命令会输出一个网址,并尝试打开一个浏览器窗口来请求访问您的项目。 如果此时系统打开了一个浏览器窗口,您将收到以下输出结果:

      Your browser has been opened to visit:
       
      https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2F...
      

      转到下一步。

    • 如果您正在使用本地机器并且浏览器未自动加载该网址,请重试 gcloud init 命令并附上 --console-only 标志:

      gcloud init --console-only
      

      如果您使用此命令,或者 Cloud SDK 检测到无法打开浏览器(例如,您正在使用远程机器时),您会收到以下输出结果:

      Go to the following link in your browser:
       
      https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3A...
       
      Enter verification code:
      

      打开浏览器并导航到提供的网址。

  4. 如果出现提示,请在浏览器窗口中使用与您的 Cloud Storage 数据关联的 Google 帐号登录。

  5. 授予访问权限。

    • 如果浏览器窗口自动打开,请审查应用权限,并在准备就绪后点击接受。随后,验证码会自动发送至命令行工具。

    • 如果您正在使用远程机器或使用了 --console-only 标志,请从该网址中复制验证码并将验证码粘贴到终端命令行中“Enter verification code:”之后。

  6. 选择此配置的默认项目。

    设置凭据后,gcloud 命令行工具会提示您输入此配置的默认项目,并且会提供可用项目的列表。从列表中选择一个项目 ID 即可。

    设置此属性后,需要项目的 gsutil 命令(例如 gsutil mb)会使用默认项目 ID,除非您使用 -p 标志替换项目 ID 或设置 CLOUDSDK_CORE_PROJECT 环境变量。

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

对独立 gsutil 进行身份验证

使用 HMAC 进行身份验证

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

gsutil config -a

使用此命令后,系统会引导您完成一个类似于对独立 gsutil 进行身份验证的过程(请参阅上一部分),不同的是,系统会提示您输入与 HMAC 密钥相关联的访问 ID 和密文

如果您使用的是 Google Cloud SDK,您还应使用以下命令停用凭据传递功能:

gcloud config set pass_credentials_to_gsutil false

启用 mTLS

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

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

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

亲自尝试

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

免费试用 Cloud Storage