介绍在RedHat Enterprise Linux(以下简称为RHEL)上dnf命令安装Azure CLI的方法。

Azure VM上启动的RHEL版本为8.2,Python版本为3.6.8。

# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

# python --version
Python 3.6.8

安装Azure CLI

执行 dnf install azure-cli 命令时,将安装Azure CLI最新版本2.40.0但是需要python39。

Last metadata expiration check: 1:42:17 ago on Tue Oct  4 09:13:46 2022.
Error:
 Problem: cannot install the best candidate for the job
  - nothing provides python39 needed by azure-cli-2.40.0-1.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

目前RHEL上dnf可安装的Python版本为Python38,安装Python39需要编译安装,因此在这里安装低版本的Azure CLI。

首先确认一下,dnf可安装Azure CLI版本。

# dnf list --showduplicates azure-cli
Last metadata expiration check: 1:43:56 ago on Tue Oct  4 09:13:46 2022.
Available Packages
azure-cli.x86_64    2.35.0-1.el8    packages-microsoft-com-prod
azure-cli.x86_64    2.36.0-1.el8    packages-microsoft-com-prod
azure-cli.x86_64    2.37.0-1.el8    packages-microsoft-com-prod
azure-cli.x86_64    2.38.0-1.el8    packages-microsoft-com-prod
azure-cli.x86_64    2.39.0-1.el8    packages-microsoft-com-prod
azure-cli.x86_64    2.40.0-1.el8    packages-microsoft-com-prod

Azure CLI版本2.38.0开始需要Python39,因此安装2.37.0版本。

# dnf install azure-cli-2.37.0-1.el8

安装Azure CLI之后,使用 az version 命令确认安装的版本。

# az version
{
  "azure-cli": "2.37.0",
  "azure-cli-core": "2.37.0",
  "azure-cli-telemetry": "1.0.6",
  "extensions": {}
}

介绍了在RHEL上安装Azure CLI的方法,而Azure CLI依赖于已安装的Python版本。

参考 Install the Azure CLI on Linux