Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Stephen Tramer Fix distro for Buster codename 0b2d681 Oct 14, 2019
7 contributors

Users who have contributed to this file

@sptramer @mikeehsu @kamranayub @twitchax @jackrichins @hho @georgewallace
183 lines (126 sloc) 6.59 KB
title description author ms.author manager ms.date ms.topic ms.prod ms.technology ms.devlang
Install the Azure CLI on Linux with apt
How to install the Azure CLI with the apt package manager
sptramer
sttramer
carmonm
10/14/2019
conceptual
azure
azure-cli
azurecli

Install Azure CLI with apt

If you are running a distribution that comes with apt, such as Ubuntu or Debian, there's an x86_64 package available for the Azure CLI. This package has been tested with and is supported for:

  • Ubuntu trusty, xenial, artful, bionic, and disco
  • Debian wheezy, jessie, stretch, and buster

[!INCLUDE current-version]

[!NOTE]

The package for Azure CLI installs its own Python interpreter, and does not use the system Python.

Install

We offer two ways to install the Azure CLI with distributions that support apt: As an all-in-one script that runs the install commands for you, and instructions that you can run as a step-by-step process on your own.

Install with one command

We offer and maintain a script which runs all of the installation commands in one step. Run it by using curl and pipe directly to bash, or download the script to a file and inspect it before running.

[!IMPORTANT] This script is only verified for Ubuntu 16.04+ and Debian 8+. It may not work on other distributions. If you're using a derived distribution such as Linux Mint, follow the manual install instructions and perform any necessary troubleshooting.

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

Manual install instructions

If you don't want to run a script as superuser or the all-in-one script fails, follow these steps to install the Azure CLI.

  1. Get packages needed for the install process:

    sudo apt-get update
    sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
  2. Download and install the Microsoft signing key:

    curl -sL https://packages.microsoft.com/keys/microsoft.asc | 
        gpg --dearmor | 
        sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
  3. Add the Azure CLI software repository:
    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. Update repository information and install the azure-cli package:

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

Run the Azure CLI with the az command. To sign in, use the az login command.

[!INCLUDE interactive-login]

To learn more about different authentication methods, see Sign in with Azure CLI.

Troubleshooting

Here are some common problems seen when installing with apt. If you experience a problem not covered here, file an issue on github.

lsb_release does not return the correct base distribution version

Some Ubuntu- or Debian-derived distributions such as Linux Mint may not return the correct version name from lsb_release. This value is used in the install process to determine the package to install. If you know the code name of the Ubuntu or Debian version your distribution is derived from, you can set the AZ_REPO value manually when adding the repository. Otherwise, look up information for your distribution on how to determine the base distribution code name and set AZ_REPO to the correct value.

No package for your distribution

Sometimes it may be a while after a distribution is released before there's an Azure CLI package available for it. The Azure CLI designed to be resilient with regards to future versions of dependencies and rely on as few of them as possible. If there's no package available for your base distribution, try a package for an earlier distribution.

To do this, set the value of AZ_REPO manually when adding the repository. For Ubuntu distributions use the bionic repository, and for Debian distributions use stretch. Distributions released before Ubuntu Trusty and Debian Wheezy are not supported.

Proxy blocks connection

[!INCLUDEconfigure-proxy]

You may also want to explicitly configure apt to use this proxy at all times. Make sure that the following lines appear in an apt configuration file in /etc/apt/apt.conf.d/. We recommend using either your existing global configuration file, an existing proxy configuration file, 40proxies, or 99local, but follow your system administration requirements.

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

If your proxy does not use basic auth, remove the [username]:[password]@ portion of the proxy URI. If you require more information for proxy configuration, see the official Ubuntu documentation:

In order to get the Microsoft signing key and get the package from our repository, your proxy needs to allow HTTPS connections to the following address:

  • https://packages.microsoft.com

[!INCLUDEtroubleshoot-wsl.md]

Update

Use apt-get upgrade to update the CLI package.

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

[!NOTE] This command upgrades all of the installed packages on your system that have not had a dependency change. To upgrade the CLI only, use apt-get install.

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

Uninstall

[!INCLUDE uninstall-boilerplate.md]

  1. Uninstall with apt-get remove:

    sudo apt-get remove -y azure-cli
  2. If you don't plan to reinstall the CLI, remove the Azure CLI repository information:

    sudo rm /etc/apt/sources.list.d/azure-cli.list
  3. If you use no other packages from Microsoft, remove the signing key:

    sudo rm /etc/apt/trusted.gpg.d/microsoft.asc.gpg
  4. Remove any unneeded packages:

    sudo apt autoremove

Next Steps

Now that you've installed the Azure CLI, take a short tour of its features and common commands.

[!div class="nextstepaction"] Get started with the Azure CLI

You can’t perform that action at this time.