使用 zypper 安装 Azure CLI

对于附带 zypper 的 Linux 分发版(例如 openSUSE 或 SLES),可以安装适用于 Azure CLI 的包。 此包已在 openSUSE 42.2 及更高版本和 SLES 12 SP 2 及更高版本上经过了测试。

CLI 的当前版本为 2.0.69。 有关最新版本的信息,请参阅发行说明。 若要查找你已安装的版本并查看是否需要更新,请运行 az --version

Important

Azure CLI 的 RPM 包依赖于 python 包。 在你的系统上,这可能是早于所要求的 Python 2.7.x 的 Python 版本。 如果这对你有影响,请找到一个替代 python 包,或按照手动安装说明执行操作。

请注意,Python 2 将于 2020 年 1 月 1 日停用并且不会再收到更新。 出于此原因,请升级到 Python 3(如果可能)。 Azure CLI 与 Python 3.6 及更高版本兼容。

安装

  1. 安装 curl

    sudo zypper install -y curl
    
  2. 导入 Microsoft 存储库密钥:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. 创建本地 azure-cli 存储库信息:

    sudo zypper addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli
    
  4. 更新 zypper 包索引并安装:

    sudo zypper install --from azure-cli -y azure-cli
    

然后即可使用 az 命令来运行 Azure CLI。 若要登录,请使用 az login 命令。

az login

若要详细了解不同的身份验证方法,请参阅使用 Azure CLI 登录

故障排除

下面是使用 zypper 安装时出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 github 上提出问题

代理阻止连接

如果由于代理而无法连接到外部资源,请确保已在 shell 中正确设置了 HTTP_PROXYHTTPS_PROXY 变量。 你需要与系统管理员联系以了解要对这些代理使用哪些主机和端口。

许多 Linux 程序(包括那些在安装过程中使用的程序)也会采用这些值。 若要设置这些值,请执行以下操作:

# No auth
export HTTP_PROXY=http://[proxy]:[port]
export HTTPS_PROXY=https://[proxy]:[port]

# Basic auth
export HTTP_PROXY=http://[username]:[password]@[proxy]:[port]
export HTTPS_PROXY=https://[username]:[password]@[proxy]:[port]

Important

如果你位于代理后面,则必须设置这些 shell 变量以通过 CLI 连接到 Azure 服务。 如果不使用基本身份验证,建议将这些变量导出到 .bashrc 文件中。 请始终遵循企业的安全策略和系统管理员的要求。

你可能还想要显式配置 zypper(通过 yast2)以便在所有情况下都使用此代理。 为此,请以超级用户身份运行 yast2 proxy 命令,并填充窗体中显示的信息。 如果系统上有可用的窗口管理器,还可以使用 YaST Control Center 中的 Network Services > Proxy 窗格。

有关高级配置或详细信息,请参阅 OpenSUSE 代理配置文档

为了获取 Microsoft 签名密钥并从我们的存储库中获取包,代理必须允许与以下地址之间的 HTTPS 连接:

  • https://packages.microsoft.com
  • https://download.opensuse.org

CLI 未能在适用于 Linux 的 Windows 子系统上安装或运行

由于适用于 Linux 的 Windows 子系统 (WSL) 是基于 Windows 平台的一个系统调用转换层,因此,在尝试安装或运行 Azure CLI 时可能会发生错误。 CLI 依赖于在 WSL 中可能具有 bug 的某些功能。 如果无论你以何方式安装 CLI 都会发生错误,则很可能是因为 WSL 有问题而不是 CLI 安装过程有问题。

若要对 WSL 安装进行故障排除并尽可能解决问题,请执行以下操作:

  • 如果可以,在 Linux 计算机或 VM 上运行相同的安装过程来看看它是否会成功。 如果成功,则几乎可以肯定问题与 WSL 有关。 若要启动 Azure 中的 Linux VM,请参阅在 Azure 门户中创建 Linux VM 文档。
  • 确保运行的是最新版本的 WSL。 若要获取最新版本,请更新 Windows 10 安装
  • 检查 WSL 是否存在可能会解决你的问题的待解决问题。 那里通常会提供有关如何解决该问题的建议,或者提供有关将修复该问题的发行版的信息。
  • 如果没有与你的问题对应的现有问题,请提交一个新的 WSL 问题并确保提供尽可能多的信息。

如果在 WSL 上安装或运行时继续出现问题,请考虑安装适用于 Windows 的 CLI

更新

可以使用 zypper update 命令来更新包。

sudo zypper refresh
sudo zypper update azure-cli

卸载

如果你决定卸载 Azure CLI,我们会很遗憾。 在卸载之前,请使用 az feedback 命令告诉我们在哪些方面需要改进或修复。 我们的目标是消除 Azure CLI 中的 bug 并使其变得用户友好。 如果你在发现 bug 后提出 GitHub 问题,我们将十分感激。

  1. 从系统中删除包。

    sudo zypper remove -y azure-cli
    
  2. 如果不打算重新安装 CLI,请删除存储库信息。

    sudo zypper removerepo azure-cli
    
  3. 如果不使用其他 Microsoft 包,请删除 Microsoft 签名密钥。

    MSFT_KEY=`rpm -qa gpg-pubkey /* --qf "%{version}-%{release} %{summary}\n" | grep Microsoft | awk '{print $1}'`
    sudo rpm -e --allmatches gpg-pubkey-$MSFT_KEY
    

后续步骤

现在你已经安装了 Azure CLI,下面简要介绍其功能和常用命令。