使用 apt 安装 Azure CLI

如果运行附带 apt 的发行版(例如 Ubuntu 或 Debian),则可以安装适用于 Azure CLI 的 x86_64 包。 此包已经过测试,支持:

  • Ubuntu trusty、xenial、artful、bionic 和 disco
  • Debian wheezy、jessie、stretch 和 buster

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

Note

用于 Azure CLI 的包会安装其自己的 Python 解释器,而不使用系统 Python。

安装

我们提供了两种方法来为支持 apt 的分发版安装 Azure CLI:可以自动运行 install 命令的一体式脚本;可由用户作为分步式过程运行的指令。

使用一条命令安装

我们将提供并维护可以通过一个步骤运行所有安装命令的脚本。 可以使用 curl 运行该脚本并通过管道将其直接传递给 bash,或者将该脚本下载到某个文件,并在检查后再运行它。

Important

此脚本只在 Ubuntu 16.04+ 和 Debian 8+ 中经过验证。 它不一定可在其他分发版上运行。 如果使用衍生的分发版(例如 Linux Mint),请遵照手动安装说明,并执行任何必要的故障排除。

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

手动安装说明

如果不想以超级用户的身份运行脚本,或者一体化脚本失败,请遵循以下步骤安装 Azure CLI。

  1. 获取安装过程所需的包:

    sudo apt-get update
    sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
    
  2. 下载并安装 Microsoft 签名密钥:

    curl -sL https://packages.microsoft.com/keys/microsoft.asc | 
        gpg --dearmor | 
        sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
    
  3. 添加 Azure CLI 软件存储库:
    AZ_REPO=$(lsb_release -cs)
    echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | 
        sudo tee /etc/apt/sources.list.d/azure-cli.list
    
  4. 更新存储库信息并安装 azure-cli 包:

    sudo apt-get update
    sudo apt-get install azure-cli
    

使用 az 命令运行 Azure CLI。 若要登录,请使用 az login 命令。

  1. 运行 login 命令。

    az login
    

    如果 CLI 可以打开默认浏览器,它将这样做并加载 Azure 登录页。

    否则,请在 https://aka.ms/devicelogin 处打开浏览器页,然后输入终端中显示的授权代码。

    Note

    在 Azure China 中使用 Azure CLI 2.0 之前,请首先运行 az cloud set -n AzureChinaCloud 更改云环境。 如果要切换回全局 Azure,请再次运行 az cloud set -n AzureCloud

  2. 在浏览器中使用帐户凭据登录。

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

疑难解答

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

lsb_release 没有返回正确的基础发行版本

某些 Ubuntu 或 Debian 派生的版本(例如 Linux Mint)不会通过 lsb_release 返回正确的版本名称。 此值在安装过程中用于确定要安装的包。 如果知道自己的发行版派生自的 Ubuntu 或 Debian 版本的代码名称,则可在添加存储库时手动设置 AZ_REPO 值。 否则,请查看发行版的信息,了解如何确定基础发行版代码名称,然后将 AZ_REPO 设置为正确值。

没有适用于你的发行版的程序包

有时候,在某个发行版发布后,可能要过一段时间才会有 Azure CLI 包可用于它。 对于依赖项的将来版本,Azure CLI 设计为弹性的并且尽可能少地依赖这些依赖项。 如果没有适用于你的基础发行版的程序包,请尝试使用较早发行版的程序包。

为此,请在添加存储库时手动设置 AZ_REPO 的值。 对于 Ubuntu 发行版,请使用 bionic 存储库,对于 Debian 发行版,请使用 stretch。 在 Ubuntu Trusty 和 Debian Wheezy 之前发布的发行版不受支持。

基本 OS (EOS) 无法安装 Azure CLI

EOS 无法安装 Azure cli,因为 lsb_release 返回 HERA,这是 EOS 版本名称。 解决方案是修复文件 /etc/apt/sources.list.d/azure-cli.list 并将 hera main 更改为 bionic main

原始文件内容:

deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ hera main

修改的文件内容

deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ bionic main

代理阻止连接

如果由于代理而无法连接到外部资源,请确保已在 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 文件中。 请始终遵循企业的安全策略和系统管理员的要求。

你可能还想要显式配置 apt 以便在所有情况下都使用此代理。 请确保以下行显示在 /etc/apt/apt.conf.d/ 下的 apt 配置文件中。 我们建议使用现有的全局配置文件(现有的代理配置文件 40proxies)或 99local,但要遵守系统管理要求。

Acquire {
    http::proxy "http://[username]:[password]@[proxy]:[port]";
    https::proxy "https://[username]:[password]@[proxy]:[port]";
}

如果代理不使用基本身份验证,请__删除__代理 URI 的 [username]:[password]@ 部分。 如果需要代理配置的详细信息,请参阅官方的 Ubuntu 文档:

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

  • https://packages.microsoft.com

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

更新

使用 apt-get upgrade 更新 CLI 包。

sudo apt-get update && sudo apt-get upgrade

Note

此命令将会升级系统上所有未发生依赖关系更改的已安装包。 若只要升级 CLI,请使用 apt-get install

sudo apt-get update && sudo apt-get install --only-upgrade -y azure-cli

卸载

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

  1. 使用 apt-get remove 进行卸载:

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

    sudo rm /etc/apt/sources.list.d/azure-cli.list
    
  3. 如果不使用 Microsoft 的其他包,请删除签名密钥:

    sudo rm /etc/apt/trusted.gpg.d/microsoft.asc.gpg
    
  4. 删除任何不需要的包:

    sudo apt autoremove
    

后续步骤

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