你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Linux 上安装 Azure CLI
本文介绍了如何在 Linux 上安装 Azure CLI。 从页面顶部的选项中,为分发版选择适当的包管理器。 建议使用 Linux 分发版的包管理器,但可以通过选择“安装脚本”选项在 Linux 上手动安装 Azure CLI。
Azure CLI 的当前版本为 2.67.0。 有关最新版本的信息,请参阅发行说明。 若要查找已安装的版本并查看是否需要更新,请运行 az 版本。
开始之前
Azure CLI 2.38.2 (2024 年 6 月 21 日发布)是 RHEL 7 和 Centos 7 上支持的最后一个版本。 Microsoft不再为这些分发版提供更新或 bug 修复。
Microsoft 会继续开发和支持 Azure CLI 和 Linux 安装脚本。
如果正在使用的 Linux 系统不支持
dnf
包管理器,请使用yum
包管理器。
安装 Azure CLI
若要安装 Azure CLI,请执行以下步骤:
导入 Microsoft 存储库密钥。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
对于 RHEL 9 或 CentOS 流,请添加
packages-microsoft-com-prod
存储库:sudo dnf install -y https://packages.microsoft.com/config/rhel/9.0/packages-microsoft-prod.rpm
对于 RHEL 8,添加
packages-microsoft-com-prod
存储库:sudo dnf install -y https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
对于 RHEL 7,添加
azure-cli
存储库:echo -e "[azure-cli] name=Azure CLI baseurl=https://packages.microsoft.com/yumrepos/azure-cli enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/azure-cli.repo
注意
CentOS 7 生命周期结束 (EOL) 是 2024 年 6 月 30 日。 有关 Azure CLI 支持的环境的信息,请参阅 Azure CLI 支持生命周期
使用
dnf install
命令安装。sudo dnf install azure-cli
安装特定版本
必须先配置azure-cli
存储库信息,如前面所示。 可在 Azure CLI 发行说明中找到可用版本。
使用以下命令查看可用版本:
dnf list --showduplicates azure-cli
安装特定版本:
sudo dnf install azure-cli-<version>-1.el7
更新 Azure CLI
自版本 2.11.0 起,Azure CLI 提供了用于更新到最新版本的工具内命令。
az upgrade
默认情况下,此命令还将更新所有已安装的扩展。 有关更多 az upgrade
选项,请参阅命令参考页面。 对于 2.11.0 之前的 Azure CLI 版本,请按照安装 Azure CLI 中的说明重新安装以进行更新。
还可使用 dnf update
命令更新 Azure CLI。
sudo dnf update azure-cli
卸载 Azure CLI
如果你决定卸载 Azure CLI,我们会很遗憾。 在卸载之前,请使用 az feedback
命令告诉我们在哪些方面需要改进或修复。 我们的目标是消除 Azure CLI 中的 bug 并使其变得用户友好。 如果你在发现 bug 后提出 GitHub 问题,我们将十分感激。
从系统中删除包。
sudo dnf remove azure-cli
如果不打算重新安装 CLI,请删除存储库信息。
sudo rm /etc/yum.repos.d/azure-cli.repo
如果不使用任何其他 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,请删除其数据。
rm -rf ~/.azure
疑难解答
下面是使用 dnf
安装时出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 GitHub 上提出问题。
安装在 RHEL 7.6 或不带 Python 3 的其他系统上
如果可以,请将系统升级到带有对python 3.6+
包的官方支持的版本。 否则,需要先安装python3
包,然后在没有依赖项的情况下安装 Azure CLI。
可以使用以下命令下载并安装 Azure CLI 安装脚本,其中包含从源生成的 python 3.6
:
curl -sL https://azurecliprod.blob.core.windows.net/rhel7_6_install.sh | sudo bash
也可以逐步进行操作:
首先,Azure CLI 需要 SSL 1.1+
,在生成 python3
之前,需要从源生成 openssl 1.1
:
sudo dnf install gcc gcc-c++ make ncurses patch wget tar zlib zlib-devel -y
# build openssl from source
cd ~
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -xzf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl
make
sudo make install
# configure shared object lookup directory so that libssl.so.1.1 can be found
echo "/usr/local/ssl/lib" | sudo tee /etc/ld.so.conf.d/openssl-1.1.1d.conf
# reload config
sudo ldconfig -v
然后从源生成 Python 3:
PYTHON_VERSION="3.6.9"
PYTHON_SRC_DIR=$(mktemp -d)
wget -qO- https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz | tar -xz -C "$PYTHON_SRC_DIR"
cd $PYTHON_SRC_DIR/Python-$PYTHON_VERSION
./configure --prefix=/usr --with-openssl=/usr/local/ssl
make
sudo make install
最后,按照安装说明的步骤 1 和步骤 2,添加 Azure CLI 存储库。 现在即可下载包,并在没有依赖项的情况下安装它。
注意
如果尚未安装 dnf 下载插件,在执行以下代码时会遇到command not found
错误。 使用 dnf install 'dnf-command(download)'
安装 dnf 下载插件。
sudo dnf download azure-cli
sudo rpm -ivh --nodeps azure-cli-*.rpm
作为替代方法,还可以使用其他存储库安装 Python 3。 如果已设置 python3
,但仍收到错误 python3: command not found
,请使用此方法。 确保已将其包含在路径中。
scl enable rh-python36 bash
代理阻止连接
如果由于代理而无法连接到外部资源,请确保已在 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]
重要
如果你位于代理后面,则必须设置这些 shell 变量以通过 CLI 连接到 Azure 服务。
如果不使用基本身份验证,建议将这些变量导出到 .bashrc
文件中。
请始终遵循企业的安全策略和系统管理员的要求。
你可能还想要显式配置dnf
以始终使用此代理。 请确保以下行显示在 /etc/dnf/dnf.conf
的 [main]
部分下:
[main]
# ...
proxy=http://[proxy]:[port] # If your proxy requires https, change http->https
proxy_username=[username] # Only required for basic auth
proxy_password=[password] # Only required for basic auth
为了获取 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。
开始之前
Azure CLI 2.38.2 (2024 年 6 月 21 日发布)是 SUSE Linux Enterprise Server (SLES) 和 OpenSUSE (Leap)上支持的最新版本。 Microsoft不再为这些分发版提供更新或 bug 修复。
Microsoft 会继续开发并支持 Azure CLI 和 Linux 安装脚本。 SUSE 会维护并支持 SUSE/OpenSUSE 存储库提供的包。
在 Azure 中,基于 Azure 市场映像的 SUSE 和 OpenSUSE 虚拟机 (VM) 已安装 Azure CLI。
安装 Azure CLI
若要在 SUSE/OpenSUSE 上安装 Azure CLI,请选择以下方法之一:
在 SUSE/OpenSUSE 存储库中使用 SUSE 提供的企业包。
从 SUSE 或 OpenSUSE 存储库进行安装
Azure CLI 的 RPM 包依赖于 python3
包。
sudo zypper install -y azure-cli
使用安装脚本进行安装
可使用安装脚本选项在任何版本的 Linux 上手动安装 Azure CLI。
如果要使用此方法更新到最新版本,请务必先卸载之前的版本,以及可能为该版本添加过的任何存储库。
从 Microsoft 存储库进行安装
若要使用 Microsoft 存储库安装 Azure CLI 的最新历史版本,请执行以下步骤。
(此包已通过 SLES 15 和 OpenSUSE Leap 15.1 进行测试)
安装
curl
:sudo zypper install -y curl
导入 Microsoft 存储库密钥:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
创建本地
azure-cli
存储库信息:sudo zypper addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli
更新
zypper
包索引并安装:sudo zypper install --from azure-cli azure-cli
输入 2 即可忽略某些依赖项,继续安装。
安装特定版本
必须先配置azure-cli
存储库信息,如前面所示。 可在 Azure CLI 发行说明中找到可用版本。
使用以下命令查看可用版本:
zypper search --details --match-exact azure-cli
安装特定版本:
sudo zypper install --from azure-cli azure-cli=<version>-1.el7
更新 Azure CLI
自版本 2.11.0 起,Azure CLI 提供了用于更新到最新版本的工具内命令。
az upgrade
默认情况下,此命令还将更新所有已安装的扩展。 有关更多 az upgrade
选项,请参阅命令参考页面。 对于 2.11.0 之前的 Azure CLI 版本,请按照安装 Azure CLI 中的说明重新安装以进行更新。
还可使用 zypper update
命令来更新包。
sudo zypper refresh
sudo zypper update azure-cli
卸载 Azure CLI
如果你决定卸载 Azure CLI,我们会很遗憾。 在卸载之前,请使用 az feedback
命令告诉我们在哪些方面需要改进或修复。 我们的目标是消除 Azure CLI 中的 bug 并使其变得用户友好。 如果你在发现 bug 后提出 GitHub 问题,我们将十分感激。
从系统中删除包。
sudo zypper remove -y azure-cli
如果不打算重新安装 CLI,请删除存储库信息。
sudo zypper removerepo azure-cli
如果不使用其他 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,请删除其数据。
rm -rf ~/.azure
疑难解答
下面是使用 zypper
安装时出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 GitHub 上提出问题。
在没有 Python 3 的情况下安装
重要
Azure CLI 的 RPM 包依赖于 python3
包。 在你的系统上,这可能是早于所要求的 Python 3.6.x 的 Python 版本。 如果这对你有影响,请找一个替代 python3
包。
请注意,Python 2 已于 2020 年 1 月 1 日停用 (EOL),再也不会收到更新。 自版本 2.1.0 以来,Azure CLI 已放弃对 Python 2.7 的支持。 较新版本的 CLI 可能无法使用 Python 2.7 正确运行。
OpenSUSE 15 VM 上的 NotImplementedError
OpenSUSE 15 VM 预安装了 2.0.45 版本的 Azure CLI,该版本已过时,并且存在 az login
问题。 在按照安装说明添加最新的 Azure CLI 之前,请移除此版本及其依赖项:
sudo zypper rm -y --clean-deps azure-cli
如果已更新 Azure CLI,而没有移除版本 2.0.45 的依赖项,则其旧依赖项可能会影响最新版本的 Azure CLI。 需要添加回旧版本以链接到其依赖项,然后删除 azure-cli
及其依赖项:
# The package name may vary on different system version, run 'zypper --no-refresh info azure-cli' to check the source package format
sudo zypper install --oldpackage azure-cli-2.0.45-4.22.noarch
sudo zypper rm -y --clean-deps azure-cli
安装在 SLES 12 或不带 Python 3.6 的其他系统上
在 SLES 12 上,默认的 python3
包版本为 3.4,Azure CLI 不支持该版本。 首先,按照安装说明的步骤 1-3,添加 azure-cli
存储库。 然后,从源生成更高版本的 python3
。 最后,下载 Azure CLI 包,并在没有依赖项的情况下安装它。
可使用以下命令,按照上述步骤安装或更新 Azure CLI。 该脚本将在 /usr/local/azcli
下安装 Python 3.8,并通过将 az
的别名设置为 PATH=/usr/local/azcli/bin:$PATH az
,指示 Azure CLI 使用它。 你还可下载脚本并根据需要进行修改。 例如,你可更改 Python 版本或安装位置。
curl -sL https://azurecliprod.blob.core.windows.net/sles12_install_v2.sh | sudo bash
首次安装时,请记得运行以下命令来激活别名:
source ~/.bashrc
代理阻止连接
如果由于代理而无法连接到外部资源,请确保已在 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]
重要
如果你位于代理后面,则必须设置这些 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。
SSL 证书问题
当计算机上的证书损坏或过期时,你可能会收到错误,指示 curl 未能验证服务器的合法性,因此无法建立安全连接。 更新证书以纠正问题。
sudo zypper update-ca-certificates
开始之前
apt
包管理器包含适用于 Azure CLI 的 x86_64 和 ARM64 包,该包已在以下分发版中进行测试。分发 版本 Ubuntu 20.04 LTS (焦点福萨), 22.04 (杰米水母), 24.04 (贵族编号) Debian 11 (公牛队), 12 (书虫) Ubuntu 20.04 (Focal Fossa) 和 20.10 (Groovy Gorilla) 包含
universe
存储库提供的版本为2.0.81
的azure-cli
包。 此包已过时,不建议使用。 如果安装了此包,请先运行sudo apt remove azure-cli -y && sudo apt autoremove -y
命令删除此包,然后再继续操作。 有关apt remove
的详细信息,请参阅 Ubuntu 包管理或询问 ubuntu。
安装 Azure CLI
有两个选项可用于在自己的系统上安装 Azure CLI。 你可以下载将为你运行安装命令的安装脚本,也可以在分步流程中自行执行安装命令。 下面展示了这两种方法:
选项 1:使用一条命令安装
安装 Azure CLI 的最简单方法是使用 Azure CLI 团队维护的脚本。 该脚本将一次性运行所有安装命令。 可通过 curl
下载此脚本并通过管道直接发送到 bash
,用于安装 CLI。
如果希望在执行脚本之前亲自检查脚本的内容,请先使用 curl
下载脚本,然后在自己最常用的文本编辑器中进行检查。
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
选项 2:分步安装说明
如果想选择按步骤自行安装,请完成以下步骤来安装 Azure CLI。
获取安装过程所需的包:
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
下载并安装 Microsoft 签名密钥:
sudo mkdir -p /etc/apt/keyrings curl -sLS https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/microsoft.gpg > /dev/null sudo chmod go+r /etc/apt/keyrings/microsoft.gpg
- 添加 Azure CLI 软件存储库:
AZ_DIST=$(lsb_release -cs) echo "Types: deb URIs: https://packages.microsoft.com/repos/azure-cli/ Suites: ${AZ_DIST} Components: main Architectures: $(dpkg --print-architecture) Signed-by: /etc/apt/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/azure-cli.sources
更新存储库信息并安装
azure-cli
包:sudo apt-get update sudo apt-get install azure-cli
安装特定版本
配置 azure-cli
存储库信息,如上所示。 可在 Azure CLI 发行说明中找到可用版本。
查看 Azure CLI 的可用版本。
apt-cache policy azure-cli
安装特定版本。
# Obtain the currently installed distribution AZ_DIST=$(lsb_release -cs) # Store an Azure CLI version of choice AZ_VER=2.51.0 # Install a specific version sudo apt-get install azure-cli=${AZ_VER}-1~${AZ_DIST}
若要安装不带变量的特定版本,请替换显示的 Azure CLI 版本和 Linux 发行版名称:
sudo apt-get install azure-cli=2.51.0-1~bullseye
如果收到错误消息“无法找到包 azure-cli”,则表示未配置 azure-cli
存储库信息。 请按照选项 2:分步安装说明中给出的步骤进行操作。
如果收到错误消息“未找到 azure-cli 的版本 x.xx.x-1~distributionName”,请使用 lsb_release -cs
查找正在运行的发行版。
更新 Azure CLI
自版本 2.11.0 起,Azure CLI 提供了用于更新到最新版本的工具内命令。
az upgrade
默认情况下,此命令还将更新所有已安装的扩展。 有关更多 az upgrade
选项,请参阅命令参考页面。 对于 2.11.0 之前的 Azure CLI 版本,请按照安装 Azure CLI 中的说明重新安装以进行更新。
还可使用 apt-get upgrade
更新 CLI 包。 此命令将会升级系统上所有未发生依赖关系更改的已安装包。
sudo apt-get update && sudo apt-get upgrade
若只要升级 CLI,请使用 apt-get install
。
sudo apt-get update && sudo apt-get install --only-upgrade -y azure-cli
卸载 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.sources
如果不使用 Microsoft 的其他包,请移除签名密钥:
sudo rm /etc/apt/keyrings/microsoft.gpg
删除任何不需要的包:
sudo apt autoremove
删除数据
如果不打算重新安装 Azure CLI,请删除其数据。
rm -rf ~/.azure
疑难解答
下面是使用 apt
安装时出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 GitHub 上提出问题。
azure-cli
包支持 CLI 版本 2.46.0 中的 ARM64 体系结构。
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 发行版,请使用最新的 jammy
存储库:
AZ_REPO="jammy"
对于 Debian 发行版,请使用最新的 bookworm
存储库:
AZ_REPO="bookworm"
重要
在 Bionic 和 Debian Buster 之前发布的发行版不受支持。
基本 OS (EOS) 无法安装 Azure CLI
EOS 无法安装 Azure CLI,因为 lsb_release
返回 HERA
,这是 EOS 版本名称。 解决方案是修复文件 /etc/apt/sources.list.d/azure-cli.sources
并将 Suites: hera
更改为 Suites: bionic
。
原始文件内容:
Types: deb
URIs: https://packages.microsoft.com/repos/azure-cli/
Suites: hera
Components: main
Architectures: amd64
Signed-by: /etc/apt/keyrings/microsoft.gpg
修改的文件内容
Types: deb
URIs: https://packages.microsoft.com/repos/azure-cli/
Suites: bionic
Components: main
Architectures: amd64
Signed-by: /etc/apt/keyrings/microsoft.gpg
代理阻止连接
如果由于代理而无法连接到外部资源,请确保已在 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]
重要
如果你位于代理后面,则必须设置这些 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。
安装 Azure CLI
RPM 通过 CBL-Mariner 面向 Azure Linux 发布。 azure-cli
包支持 CLI 版本 2.46.0 中的 ARM64 体系结构。
若要安装 Azure CLI,请执行以下步骤:
安装官方 Microsoft 特选的受信任的根证书集:
sudo tdnf install ca-certificates
安装 Azure CLI:
sudo tdnf install azure-cli
安装特定版本
可在 Azure CLI 发行说明中找到可用版本。
使用以下命令查看可用版本:
tdnf list azure-cli
安装特定版本:
sudo tdnf install azure-cli-<version>-1
更新 Azure CLI
使用 tdnf update
命令更新 Azure CLI:
sudo tdnf update azure-cli
卸载 Azure CLI
如果你决定卸载 Azure CLI,我们会很遗憾。 在卸载之前,请使用 az feedback
命令告诉我们在哪些方面需要改进或修复。 我们的目标是消除 Azure CLI 中的 bug 并使其变得用户友好。 如果你在发现 bug 后提出 GitHub 问题,我们将十分感激。
从系统中删除包:
sudo tdnf remove azure-cli
删除数据
如果不打算重新安装 Azure CLI,请删除其数据。
rm -rf ~/.azure
开始之前
强烈建议使用包管理器安装 CLI。 使用包管理器可确保始终获得最新更新,并保证 CLI 组件的稳定性。 在手动安装之前,请检查分发版是否有对应的包。
Azure CLI 的安装脚本需要以下软件:
- Python 3.8.x、3.9.x、3.10.x - 有关详细信息,请参阅 支持生命周期 - Python 依赖项。
- libffi
- OpenSSL 1.0.2
安装或更新 Azure CLI
重要
安装脚本仅适用于 Python 3.8.x、3.9.x 或 3.10.x。 此安装脚本不适用于 Python 3.11.x 或更高版本。
安装和更新 Azure CLI 都需要重新运行安装脚本:
curl -L https://aka.ms/InstallAzureCli | bash
也可以下载并在本地运行该脚本。 可能需要重启 shell 才能使更改生效。
卸载 Azure CLI
如果你决定卸载 Azure CLI,我们会很遗憾。 在卸载之前,请使用 az feedback
命令告诉我们在哪些方面需要改进或修复。 我们的目标是消除 Azure CLI 中的 bug 并使其变得用户友好。 如果你在发现 bug 后提出 GitHub 问题,我们将十分感激。
可以通过直接从安装时所选的位置删除文件来卸载 CLI。 默认安装位置是用户的主目录 ($HOME)。
删除安装的 CLI 文件。
rm -r <install location>/lib/azure-cli rm <install location>/bin/az
修改
$HOME/.bash_profile
文件,删除以下行:<install location>/lib/azure-cli/az.completion
如果使用
bash
或zsh
,请重新加载 shell 的命令缓存。hash -r
删除数据
如果不打算重新安装 Azure CLI,请删除其数据。
rm -rf ~/.azure
疑难解答
下面是手动安装过程中可能出现的一些常见问题。 如果遇到的问题未在本文中列出,请在 GitHub 上提出问题。
在没有 Python 3 的情况下安装
自版本 2.1.0 以来,Azure CLI 已放弃对 Python 2.7 的支持。
在你的系统上,这可能是早于所要求的 Python 3.6.x 的 Python 版本。
查找替换 python3
包。
curl“对象已移动”错误
如果从有关 -L
参数的 curl
收到错误,或者收到包含“对象已移动”的错误消息,请尝试使用完整 URL 而不是 aka.ms
重定向:
curl https://azurecliprod.blob.core.windows.net/install | bash
找不到 az
命令
如果在安装后无法使用 bash
或 zsh
运行该命令,请尝试清除 shell 的命令哈希缓存,并检查问题是否得到解决。
hash -r
如果在安装后没有重启 shell,也可能出现此错误。 确保 az
命令的位置在 $PATH
中。 命令的位置 az
为 ...
<install path>/bin
代理阻止连接
如果由于代理而无法连接到外部资源,请确保已在 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]
重要
如果你位于代理后面,则必须设置这些 shell 变量以通过 CLI 连接到 Azure 服务。
如果不使用基本身份验证,建议将这些变量导出到 .bashrc
文件中。
请始终遵循企业的安全策略和系统管理员的要求。
为了获取安装脚本,代理必须允许与以下地址之间的 HTTPS 连接:
https://aka.ms/
https://azurecliprod.blob.core.windows.net/
https://pypi.python.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。
后续步骤
现在你已经安装了 Azure CLI,下面简要介绍其功能和常用命令。