使用 apt 安装 Azure CLI
如果运行附带 apt
的发行版(例如 Ubuntu 或 Debian),则可以安装适用于 Azure CLI 的 x86_64 包。 此包已经过测试,支持:
- Ubuntu trusty、xenial、bionic、eoan 和 focal
- Debian jessie、stretch 和 buster
Azure CLI 的当前版本为 2.3.1。 有关最新版本的信息,请参阅发行说明。 若要查找你已安装的版本并查看是否需要更新,请运行 az --version
。
Note
用于 Azure CLI 的包会安装其自己的 Python 解释器,而不使用系统 Python。
在 Ubuntu 20.04 (Focal) 上,有一个由 focal/universe
存储库提供的版本为 2.0.81
的 azure-cli
包。 该包已过时,建议不要使用它。 如果你已安装此包,请先运行 sudo apt remove azure-cli -y && sudo apt autoremove -y
来删除它,然后按照以下步骤安装最新的 azure-cli
包。
安装
我们提供了两种方法来为支持 apt
的分发版安装 Azure CLI:可以自动运行 install 命令的一体式脚本;可由用户作为分步式过程运行的指令。
使用一条命令安装
我们将提供并维护可以通过一个步骤运行所有安装命令的脚本。 可以使用 curl
运行该脚本并通过管道将其直接传递给 bash
,或者将该脚本下载到某个文件,并在检查后再运行它。
Important
此脚本只在 Ubuntu 16.04+ 和 Debian 8+ 中经过验证。 它不一定可在其他分发版上运行。 如果使用衍生的分发版(例如 Linux Mint),请遵照手动安装说明,并执行任何必要的故障排除。
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
手动安装说明
如果不想以超级用户的身份运行脚本,或者一体化脚本失败,请遵循以下步骤安装 Azure CLI。
获取安装过程所需的包:
sudo apt-get update sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
下载并安装 Microsoft 签名密钥:
curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
- 添加 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
更新存储库信息并安装
azure-cli
包:sudo apt-get update sudo apt-get install azure-cli
使用 az
命令运行 Azure CLI。 若要登录,请使用 az login 命令。
运行
login
命令。az login
如果 CLI 可以打开默认浏览器,它将这样做并加载 Azure 登录页。
否则,请在 https://aka.ms/devicelogin 处打开浏览器页,然后输入终端中显示的授权代码。
Note
请先运行
az cloud set -n AzureChinaCloud
更改云环境,然后才能在 Azure 中国中使用 Azure CLI。若要切换回 Azure 公有云,请再次运行az cloud set -n AzureCloud
。在浏览器中使用帐户凭据登录。
若要详细了解不同的身份验证方法,请参阅使用 Azure CLI 登录。
疑难解答
下面是使用 apt
安装时出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 github 上提出问题。
Ubuntu 20.04 (Focal)/WSL 上没有模块问题
如果你已在 Focal
上安装 azure-cli
,但没有在手动安装说明的步骤 3 中添加 Azure CLI 软件存储库,或者没有使用我们的脚本,那么你可能会遇到诸如没有模块名为“decorator”或“antlr4”之类的问题,这是因为你安装的包是来自 focal/universe
存储库的过时的 azure-cli 2.0.81
。 请先运行 sudo apt remove azure-cli -y && sudo apt autoremove -y
来删除此包,然后按照上述说明安装最新的 azure-cli
包。
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_PROXY
和 HTTPS_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。
更新
CLI 提供了一个工具内的命令用于更新到最新版本:
az upgrade
Note
az upgrade
命令是在 2.11.0 版本中添加的,不能在 2.11.0 之前的版本中使用。
默认情况下,此命令还将更新所有已安装的扩展。 有关更多 az upgrade
选项,请参阅命令参考页面。
还可使用 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 问题,我们将十分感激。
使用
apt-get remove
进行卸载:sudo apt-get remove -y azure-cli
如果不打算重新安装 CLI,请删除 Azure CLI 存储库信息:
sudo rm /etc/apt/sources.list.d/azure-cli.list
如果不使用 Microsoft 的其他包,请删除签名密钥:
sudo rm /etc/apt/trusted.gpg.d/microsoft.gpg
删除任何不需要的包:
sudo apt autoremove
后续步骤
现在你已经安装了 Azure CLI,下面简要介绍其功能和常用命令。