如何卸载 Cloud SDK?

How to uninstall Cloud SDK?

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

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

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

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

时,您可以看到这个额外的 .boto 文件
$ 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:

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

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

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

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

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

进行检查
$ type gsutil

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

$ gsutil config