1

首先,我在 Fedora 25 上安装了独立的 gsutil,它运行了几个月。然后我安装了 Cloud SDK,从那以后我的 Google Cloud 凭据就被破坏了。

毕竟我不需要 Cloud SDK。我只想再次使用 gsutil。有没有办法从 Linux 卸载 Cloud SDK 和凭据?或者也许卸载所有 Google Cloud 产品并重新安装独立的 gsutil?

4

1 回答 1

1

为了解释发生这种情况的可能原因:

当您安装 Cloud SDK 时,需要一些步骤来确保当您gsutil从 shell 键入时,它会解析为 Cloud SDK 版本(取决于安装方法,它可能会在 中制作一些可执行脚本/usr/local/bin/,或者放在/path/to/cloud/sdk/bin前面您的 PATH 环境变量)。这个用于 gsutil 的 Cloud SDK 包装脚本执行一些额外的身份验证逻辑,加载一个额外的 .boto 文件,该文件包含运行时生成的凭据gcloud auth login。运行时可以看到这个额外的 .boto 文件gcloud version -l

$ gsutil version -l
[...]
using cloud sdk: True
config path(s): /home/USER/.boto, /home/USER/.config/gcloud/legacy_credentials/USER@gmail.com/.boto
[...]

该额外 .boto 文件中的身份验证凭据可能会覆盖您$HOME/.boto文件中的凭据。

如何再次使用独立 gsutil:

您需要确保gsutil您的 shell 找到的第一个是独立版本。这实质上意味着包含独立 gsutil 可执行文件的目录应该位于 PATH 环境变量中的 cloud sdk 目录之前。这可以通过将其添加到 PATH 变量中来完成,方法是在 .bashrc 文件的末尾添加类似的内容:

if [ -d "/path/to/standalone/gsutil/directory" ]; then
  PATH="/path/to/standalone/gsutil/directory:$PATH"
fi

完成此操作后,您可以运行此命令以重新加载 .bashrc 文件并检查 gsutil 信息的“使用云 sdk”值:

$ source "$HOME/.bashrc"; gsutil version -l

如果这仍然表明您使用的是 Cloud SDK 版本的 gsutil,则您可能为 gsutil 定义了一个别名 - 您可以通过运行以下命令进行检查:

$ type gsutil

如果您在使用独立版本的 gsutil 时仍然遇到身份验证问题,则需要生成新的凭据:

$ gsutil config
于 2017-03-27T04:45:30.483 回答