Installare l'interfaccia della riga di comando di Azure in Linux

Questo articolo illustra come installare l'interfaccia della riga di comando di Azure in Linux. Selezionare la gestione pacchetti appropriata per la distribuzione dalle opzioni nella parte superiore della pagina. È consigliabile usare lo strumento di gestione pacchetti di una distribuzione Linux, ma è possibile installare manualmente l'interfaccia della riga di comando di Azure in Linux selezionando l'opzione Installa script .

La versione corrente dell'interfaccia della riga di comando di Azure è 2.58.0. Per informazioni sulla versione più recente, vedere le note sulla versione. Per individuare la versione installata e verificare se è necessario aggiornarla, eseguire az version.

Operazioni preliminari

  • L'interfaccia della riga di comando di Azure 2.38.1 (rilasciata il 01 settembre 2023) è l'ultima versione supportata in RHEL 7 e Centos 7 e continuerà a ricevere correzioni di sicurezza fino alla fine del ciclo di vita dei sistemi operativi. Microsoft non fornisce altri aggiornamenti o correzioni di bug per queste distribuzioni.

  • Microsoft continua a sviluppare e supportare l'interfaccia della riga di comando di Azure e lo script di installazione di Linux.

  • Usare gestione yum pacchetti se si usa un sistema Linux che non supporta la dnf gestione pacchetti.

Installazione dell'interfaccia della riga di comando di Azure

Per installare l'interfaccia della riga di comando di Azure, seguire questi passaggi:

  1. Importare la chiave del repository Microsoft.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Per RHEL 9 o CentOS Stream 9, aggiungere packages-microsoft-com-prod il repository:

    sudo dnf install -y https://packages.microsoft.com/config/rhel/9.0/packages-microsoft-prod.rpm
    

    Per RHEL 8 o CentOS Stream 8, aggiungere packages-microsoft-com-prod il repository:

    sudo dnf install -y https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
    

    Per RHEL 7 o CentOS 7, aggiungere azure-cli il repository:

    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
    
  3. Eseguire l'installazione con il comando dnf install.

    sudo dnf install azure-cli
    

Installare una versione specifica

È prima necessario configurare azure-cli le informazioni sul repository come illustrato in precedenza. Le versioni disponibili sono disponibili nelle note sulla versione dell'interfaccia della riga di comando di Azure.

  1. Per visualizzare le versioni disponibili con il comando :

    dnf list --showduplicates azure-cli
    
  2. Per installare una versione specifica:

    sudo dnf install azure-cli-<version>-1.el7
    

Aggiornare l'interfaccia della riga di comando di Azure

A partire dalla versione 2.11.0, l'interfaccia della riga di comando di Azure fornisce un comando in-tool per eseguire l'aggiornamento alla versione più recente.

az upgrade

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre az upgrade opzioni, vedere la pagina di riferimento del comando. Per le versioni dell'interfaccia della riga di comando di Azure precedenti alla versione 2.11.0, eseguire l'aggiornamento reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

È anche possibile aggiornare l'interfaccia della riga di comando di Azure con il comando dnf update.

sudo dnf update azure-cli

Disinstallare l'interfaccia della riga di comando di Azure

È possibile disinstallare l'interfaccia della riga di comando di Azure. Prima di eseguire la disinstallazione, usare il comando az feedback per segnalare aspetti da migliorare o correggere. L'obiettivo è realizzare un'interfaccia della riga di comando di Azure priva di bug e facile da usare. Se è stato rilevato un bug, segnalarlo in GitHub.

  1. Rimuovere il pacchetto dal sistema.

    sudo dnf remove azure-cli
    
  2. Se non si prevede di reinstallare l'interfaccia della riga di comando, rimuovere le informazioni del repository.

    sudo rm /etc/yum.repos.d/azure-cli.repo
    
  3. Se non si usano altri pacchetti Microsoft, rimuovere la chiave di firma.

    MSFT_KEY=`rpm -qa gpg-pubkey /* --qf "%{version}-%{release} %{summary}\n" | grep Microsoft | awk '{print $1}'`
    sudo rpm -e --allmatches gpg-pubkey-$MSFT_KEY
    

Rimuovere i dati

Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere i dati.

rm -rf ~/.azure

Risoluzione dei problemi

Di seguito sono riportati alcuni problemi comuni che possono verificarsi durante l'installazione con dnf. Se si verifica un problema non trattato in questo articolo, segnalarlo in GitHub.

Eseguire l'installazione in RHEL 7.6 o altri sistemi senza Python 3

Se è possibile, aggiornare il sistema a una versione con il supporto ufficiale per python 3.6+ il pacchetto. In caso contrario, è necessario installare prima un python3 pacchetto, quindi installare l'interfaccia della riga di comando di Azure senza dipendenze.

È possibile usare il comando seguente per scaricare e installare lo script di installazione dell'interfaccia della riga di comando di Azure con python 3.6 compilato dall'origine:

curl -sL https://azurecliprod.blob.core.windows.net/rhel7_6_install.sh | sudo bash

È anche possibile eseguire questo codice passo passo:

Prima di tutto, l'interfaccia della riga di comando di Azure richiede SSL 1.1+ ed è necessario compilare openssl 1.1 dall'origine prima di compilare python3:

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

Compilare quindi Python 3 dall'origine:

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

Infine, seguire i passaggi 1 e 2 dell'istruzione di installazione per aggiungere il repository dell'interfaccia della riga di comando di Azure. A questo punto è possibile scaricare il pacchetto e installarlo senza dipendenza.

Nota

Se il plug-in di download dnf non è già installato, si verifica un command not found errore durante l'esecuzione del codice seguente. Usare dnf install 'dnf-command(download)' per installare il plug-in di download dnf.

sudo dnf download azure-cli
sudo rpm -ivh --nodeps azure-cli-*.rpm

In alternativa, è anche possibile installare Python 3 usando un altro repository. Usare questo metodo, se è stato configurato python3 ma viene comunque visualizzato l'errore python3: command not found. Assicurarsi che sia stato incluso nel percorso.

scl enable rh-python36 bash

Il proxy blocca la connessione

Se non è possibile connettersi a una risorsa esterna a causa di un proxy, assicurarsi di aver impostato correttamente le variabili HTTP_PROXY e HTTPS_PROXY nella shell. È necessario contattare l'amministratore di sistema per conoscere gli host e le porte da usare per questi proxy.

I valori in queste variabili vengono usati da molti programmi Linux e durante il processo di installazione. Per impostare questi valori:

# 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]

Importante

Se si è protetti da un proxy, è necessario impostare queste variabili della shell per connettersi ai servizi di Azure con l'interfaccia della riga di comando. Se non si usa l'autenticazione di base, è consigliabile esportare queste variabili nel file .bashrc. Seguire sempre i criteri di sicurezza aziendale e i requisiti definiti dall'amministratore di sistema.

È anche possibile configurare dnf in modo esplicito per usare sempre questo proxy. Assicurarsi che nella sezione [main] di /etc/dnf/dnf.conf siano presenti le righe seguenti:

[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

Per ottenere la chiave di firma Microsoft e il pacchetto dal repository, il proxy deve consentire le connessioni HTTPS all'indirizzo seguente:

  • https://packages.microsoft.com

Non è possibile installare o eseguire l'interfaccia della riga di comando nel sottosistema Windows per Linux

Dato che il sottosistema Windows per Linux (WSL) è un livello di conversione delle chiamate di sistema basato sulla piattaforma Windows, potrebbe verificarsi un errore quando si prova a installare o eseguire l'interfaccia della riga di comando di Azure. L'interfaccia della riga di comando usa alcune funzionalità che potrebbero contenere un bug in WSL. Se si verifica un errore indipendentemente dal modo in cui si installa l'interfaccia della riga di comando, è probabile che il problema riguardi WSL e non il processo di installazione dell'interfaccia della riga di comando.

Per risolvere i problemi dell'installazione di WSL e possibilmente i problemi riscontrati:

Se i problemi di installazione o esecuzione in WSL persistono, valutare la possibilità di installare l'interfaccia della riga di comando per Windows.

Operazioni preliminari

  • L'interfaccia della riga di comando di Azure 2.38.1 (rilasciata il 01 settembre 2023) è la versione più recente supportata in SU edizione Standard Linux Enterprise Server (SLES) e OpenSU edizione Standard (Leap) e continuerà a ricevere correzioni di sicurezza fino alla fine di giugno 2024. Microsoft non fornisce altri aggiornamenti o correzioni di bug per queste distribuzioni.

  • Microsoft continua a sviluppare e supportare l'interfaccia della riga di comando di Azure e lo script di installazione di Linux. SU edizione Standard gestisce e supporta i pacchetti forniti dai repository SU edizione Standard/OpenSU edizione Standard.

  • In Azure, SU edizione Standard e OpenSU edizione Standard macchine virtuali basate sulle immagini di Azure Marketplace sono già installate l'interfaccia della riga di comando di Azure.

Installazione dell'interfaccia della riga di comando di Azure

Per installare l'interfaccia della riga di comando di Azure in SU edizione Standard/OpenSU edizione Standard, scegliere uno dei metodi seguenti:

  1. Usare il pacchetto Enterprise fornito da SU edizione Standard nei repository SU edizione Standard/OpenSU edizione Standard.

  2. Usare il metodo di installazione descritto nella scheda "Installa script (qualsiasi)".

  3. Installare da repository Microsoft

Eseguire l'installazione da repository SU edizione Standard o OpenSU edizione Standard

Il pacchetto RPM dell'interfaccia della riga di comando di Azure dipende dal pacchetto python3.

sudo zypper install -y azure-cli

Eseguire l'installazione con lo script di installazione

È possibile installare manualmente l'interfaccia della riga di comando di Azure in qualsiasi versione di Linux usando l'opzione Installa script .

Se si esegue l'aggiornamento alla versione più recente usando questo metodo, assicurarsi di disinstallare prima la versione precedente e tutti i repository aggiunti per tale versione.

Installare da repository Microsoft

Per installare la versione cronologica più recente dell'interfaccia della riga di comando di Azure usando i repository Microsoft, seguire questa procedura.

Questo pacchetto è stato testato con SLES 15 e OpenSU edizione Standard Leap 15.1)

  1. Installare curl:

    sudo zypper install -y curl
    
  2. Importare la chiave del repository Microsoft:

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  3. Creare le informazioni del repository azure-cli locale:

    sudo zypper addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli
    
  4. Aggiornare l'indice del pacchetto zypper ed eseguire l'installazione:

    sudo zypper install --from azure-cli azure-cli
    

    Digitare 2 per procedere con l'installazione ignorando alcune dipendenze.

Installare una versione specifica

È prima necessario configurare azure-cli le informazioni sul repository come illustrato in precedenza. Le versioni disponibili sono disponibili nelle note sulla versione dell'interfaccia della riga di comando di Azure.

  1. Visualizzare le versioni disponibili usando questo comando:

    zypper search --details --match-exact azure-cli
    
  2. Per installare una versione specifica:

    sudo zypper install --from azure-cli azure-cli=<version>-1.el7
    

Aggiornare l'interfaccia della riga di comando di Azure

A partire dalla versione 2.11.0, l'interfaccia della riga di comando di Azure fornisce un comando in-tool per eseguire l'aggiornamento alla versione più recente.

az upgrade

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre az upgrade opzioni, vedere la pagina di riferimento del comando. Per le versioni dell'interfaccia della riga di comando di Azure precedenti alla versione 2.11.0, eseguire l'aggiornamento reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

È anche possibile aggiornare il pacchetto con il comando zypper update.

sudo zypper refresh
sudo zypper update azure-cli

Disinstallare l'interfaccia della riga di comando di Azure

È possibile disinstallare l'interfaccia della riga di comando di Azure. Prima di eseguire la disinstallazione, usare il comando az feedback per segnalare aspetti da migliorare o correggere. L'obiettivo è realizzare un'interfaccia della riga di comando di Azure priva di bug e facile da usare. Se è stato rilevato un bug, segnalarlo in GitHub.

  1. Rimuovere il pacchetto dal sistema.

    sudo zypper remove -y azure-cli
    
  2. Se non si prevede di reinstallare l'interfaccia della riga di comando, rimuovere le informazioni del repository.

    sudo zypper removerepo azure-cli
    
  3. Se non si usano altri pacchetti Microsoft, rimuovere la chiave di firma 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
    

Rimuovere i dati

Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere i dati.

rm -rf ~/.azure

Risoluzione dei problemi

Di seguito sono riportati alcuni problemi comuni che possono verificarsi durante l'installazione con zypper. Se si verifica un problema non trattato in questo articolo, segnalarlo in GitHub.

Installare senza Python 3

Importante

Il pacchetto RPM dell'interfaccia della riga di comando di Azure dipende dal pacchetto python3. Nel sistema potrebbe trattarsi di una versione di Python che risale a una data precedente al requisito di Python 3.6.x. Se questo è il caso, trovare un pacchetto python3 sostitutivo.

Tenere presente che Python 2 ha raggiunto la fine del ciclo di vita (EOL) il 1° gennaio 2020 e non riceverà più gli aggiornamenti. L'interfaccia della riga di comando di Azure ha eliminato il supporto per Python 2.7 dalla versione 2.1.0. Le versioni più recenti dell'interfaccia della riga di comando potrebbero non essere eseguite correttamente con Python 2.7.

NotImplementedError nella VM OpenSUSE 15

La macchina virtuale OpenSU edizione Standard 15 ha un'interfaccia della riga di comando di Azure preinstallata con la versione 2.0.45, obsoleta e presenta problemi con az login. Rimuovere questa versione insieme alle relative dipendenze prima di seguire l'istruzione Installa per aggiungere l'interfaccia della riga di comando di Azure più recente:

sudo zypper rm -y --clean-deps azure-cli

Se l'interfaccia della riga di comando di Azure è stata aggiornata senza rimuovere le dipendenze della versione 2.0.45, le dipendenze precedenti potrebbero influire sulla versione più recente dell'interfaccia della riga di comando di Azure. È necessario aggiungere di nuovo la versione precedente per collegarla alle relative dipendenze, quindi rimuovere azure-cli insieme alle dipendenze:

# 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

Eseguire l'installazione in SLES 12 o altri sistemi senza Python 3.6

In SLES 12 il pacchetto predefinito python3 è 3.4 e non è supportato dall'interfaccia della riga di comando di Azure. Eseguire prima i passaggi da 1 a 3 delle istruzioni di installazione per aggiungere il repository azure-cli. Creare quindi una versione successiva di python3 dall'origine. Infine, è possibile scaricare il pacchetto dell'interfaccia della riga di comando di Azure e installarlo senza dipendenza.

È possibile usare il comando seguente per installare o aggiornare l'interfaccia della riga di comando di Azure in base ai passaggi precedenti. Lo script installa Python 3.8 in /usr/local/azcli e lo usa impostando un alias di az su PATH=/usr/local/azcli/bin:$PATH az. È anche possibile scaricare lo script e modificarlo in base alle proprie esigenze. Ad esempio, è possibile modificare la versione di Python o il percorso di installazione.

curl -sL https://azurecliprod.blob.core.windows.net/sles12_install_v2.sh | sudo bash

Per la prima installazione, ricordarsi di eseguire il comando seguente per attivare l'alias:

source ~/.bashrc

Il proxy blocca la connessione

Se non è possibile connettersi a una risorsa esterna a causa di un proxy, assicurarsi di aver impostato correttamente le variabili HTTP_PROXY e HTTPS_PROXY nella shell. È necessario contattare l'amministratore di sistema per conoscere gli host e le porte da usare per questi proxy.

I valori in queste variabili vengono usati da molti programmi Linux e durante il processo di installazione. Per impostare questi valori:

# 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]

Importante

Se si è protetti da un proxy, è necessario impostare queste variabili della shell per connettersi ai servizi di Azure con l'interfaccia della riga di comando. Se non si usa l'autenticazione di base, è consigliabile esportare queste variabili nel file .bashrc. Seguire sempre i criteri di sicurezza aziendale e i requisiti definiti dall'amministratore di sistema.

È anche possibile configurare zypper in modo esplicito (tramite yast2) per usare sempre questo proxy. A questo scopo, eseguire il comando yast2 proxy come utente con privilegi avanzati e inserire le informazioni richieste nel modulo. Se nel sistema è disponibile un gestore finestre, è anche possibile usare il riquadro Network Services > Proxy in YaST Control Center.

Per la configurazione avanzata o per altre informazioni, vedere la documentazione relativa alla configurazione dei proxy in OpenSUSE.

Per ottenere la chiave di firma Microsoft e ottenere il pacchetto dal repository, il proxy deve consentire le connessioni HTTPS agli indirizzi seguenti:

  • https://packages.microsoft.com
  • https://download.opensuse.org

Non è possibile installare o eseguire l'interfaccia della riga di comando nel sottosistema Windows per Linux

Dato che il sottosistema Windows per Linux (WSL) è un livello di conversione delle chiamate di sistema basato sulla piattaforma Windows, potrebbe verificarsi un errore quando si prova a installare o eseguire l'interfaccia della riga di comando di Azure. L'interfaccia della riga di comando usa alcune funzionalità che potrebbero contenere un bug in WSL. Se si verifica un errore indipendentemente dal modo in cui si installa l'interfaccia della riga di comando, è probabile che il problema riguardi WSL e non il processo di installazione dell'interfaccia della riga di comando.

Per risolvere i problemi dell'installazione di WSL e possibilmente i problemi riscontrati:

Se i problemi di installazione o esecuzione in WSL persistono, valutare la possibilità di installare l'interfaccia della riga di comando per Windows.

Problema del certificato SSL

Quando un certificato è danneggiato o obsoleto in un computer, è possibile che venga visualizzato un errore che indica che curl non è riuscito a verificare la legittimità del server e pertanto non è stato possibile stabilire una connessione sicura. Aggiornare il certificato per correggere il problema.

sudo zypper update-ca-certificates

Operazioni preliminari

  • La apt gestione pacchetti contiene x86_64 e pacchetti ARM64 per l'interfaccia della riga di comando di Azure testata nelle distribuzioni seguenti.

    Distribuzione Versione
    Ubuntu 20.04 LTS (Focal Fossa), 22.04 (Jammy Medfish)
    Debian 10 (Buster), 11 (Bullseye), 12 (Bookworm)
  • Ubuntu 20.04 (Focal Fossa) e 20.10 (Groovy Gorilla) includono un pacchetto azure-cli versione 2.0.81 fornito dal repository universe. Questo pacchetto è obsoleto e non è consigliato. Se il pacchetto è installato, rimuoverlo prima di continuare eseguendo il comando sudo apt remove azure-cli -y && sudo apt autoremove -y. Per altre informazioni su apt remove, vedere gestione dei pacchetti Ubuntu o chiedere ubuntu.

Installazione dell'interfaccia della riga di comando di Azure

Sono disponibili due opzioni per installare l'interfaccia della riga di comando di Azure nel sistema. È possibile scaricare uno script di installazione che esegue automaticamente i comandi di installazione oppure eseguire manualmente i comandi di installazione in un processo dettagliato. Entrambi i metodi sono disponibili qui:

Opzione 1: Installare con un comando

Il modo più semplice per installare l'interfaccia della riga di comando di Azure consiste nell'usare uno script gestito dal team dell'interfaccia della riga di comando di Azure. Questo script esegue tutti i comandi di installazione in un unico passaggio. Questo script viene scaricato tramite curl e inviato tramite pipe direttamente a bash per installare l'interfaccia della riga di comando.

Se si vuole esaminare manualmente il contenuto dello script prima dell'esecuzione, scaricare lo script prima di usarlo curl ed esaminarlo nell'editor di testo preferito.

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

Opzione 2: istruzioni dettagliate per l'installazione

Se si preferisce una procedura di installazione dettagliata, completare i passaggi seguenti per installare l'interfaccia della riga di comando di Azure.

  1. Ottenere i pacchetti necessari per il processo di installazione:

    sudo apt-get update
    sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg
    
  2. Scaricare e installare la chiave di firma 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
    
  3. Aggiungere il repository software dell'interfaccia della riga di comando di Azure:
    AZ_DIST=$(lsb_release -cs)
    echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/azure-cli/ $AZ_DIST main" |
        sudo tee /etc/apt/sources.list.d/azure-cli.list
    
  4. Aggiornare le informazioni del repository e installare il pacchetto azure-cli:

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

Installare una versione specifica

Configurare le informazioni sul azure-cli repository come illustrato in precedenza. Le versioni disponibili sono disponibili nelle note sulla versione dell'interfaccia della riga di comando di Azure.

  1. Visualizzare le versioni disponibili dell'interfaccia della riga di comando di Azure.

    apt-cache policy azure-cli
    
  2. Installare una versione specifica.

    # 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
    

    Per installare una versione specifica senza variabili, sostituire la versione dell'interfaccia della riga di comando di Azure e il nome di distribuzione Linux visualizzati:

    sudo apt-get install azure-cli=2.51.0-1~bullseye
    

Se viene visualizzato il messaggio di errore Non è possibile individuare il pacchetto azure-cli, le informazioni sul azure-cli repository non sono configurate. Seguire i passaggi indicati in Opzione 2: istruzioni dettagliate per l'installazione.

Se viene visualizzato il messaggio di errore Versione x.xx.x-1~distributionName per azure-cli non trovato, usare lsb_release -cs per trovare la distribuzione in esecuzione.

Aggiornare l'interfaccia della riga di comando di Azure

A partire dalla versione 2.11.0, l'interfaccia della riga di comando di Azure fornisce un comando in-tool per eseguire l'aggiornamento alla versione più recente.

az upgrade

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre az upgrade opzioni, vedere la pagina di riferimento del comando. Per le versioni dell'interfaccia della riga di comando di Azure precedenti alla versione 2.11.0, eseguire l'aggiornamento reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

È anche possibile usare apt-get upgrade per aggiornare il pacchetto dell'interfaccia della riga di comando. Questo comando aggiorna tutti i pacchetti installati nel sistema che non hanno avuto una modifica delle dipendenze.

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

Per eseguire l'aggiornamento solo dell'interfaccia della riga di comando, usare apt-get install.

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

Disinstallare l'interfaccia della riga di comando di Azure

È possibile disinstallare l'interfaccia della riga di comando di Azure. Prima di eseguire la disinstallazione, usare il comando az feedback per segnalare aspetti da migliorare o correggere. L'obiettivo è realizzare un'interfaccia della riga di comando di Azure priva di bug e facile da usare. Se è stato rilevato un bug, segnalarlo in GitHub.

  1. Eseguire la disinstallazione con apt-get remove:

    sudo apt-get remove -y azure-cli
    
  2. Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere le relative informazioni del repository:

    sudo rm /etc/apt/sources.list.d/azure-cli.list
    
  3. Se non si usano altri pacchetti di Microsoft, rimuovere la chiave di firma:

    sudo rm /etc/apt/trusted.gpg.d/microsoft.gpg
    
  4. Rimuovere eventuali pacchetti non necessari:

    sudo apt autoremove
    

Rimuovere i dati

Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere i dati.

rm -rf ~/.azure

Risoluzione dei problemi

Di seguito sono riportati alcuni problemi comuni che possono verificarsi durante l'installazione con apt. Se si verifica un problema non trattato in questo articolo, segnalarlo in GitHub.

Il azure-cli pacchetto supporta l'architettura ARM64 dall'interfaccia della riga di comando 2.46.0.

Nessun problema di moduli in Ubuntu 20.04 (Focal)/WSL

Se è stato installato azure-cli in Focal senza aggiungere il repository software dell'interfaccia della riga di comando di Azure nel passaggio 3 delle istruzioni di installazione manuale o tramite questo script, è possibile che si verifichino problemi perché il pacchetto azure-cli 2.0.81 installato dal repository focal/universe è obsoleto e quindi non vengono trovati moduli denominati 'decorator' o 'antlr4'. Rimuovere prima di tutto eseguendo sudo apt remove azure-cli -y && sudo apt autoremove -y, quindi seguire le istruzioni precedenti per installare il pacchetto più recenteazure-cli.

lsb_release non restituisce la versione di distribuzione di base corretta

Alcune distribuzioni derivate da Ubuntu o debian (ad esempio Linux Mint) potrebbero non restituire il nome di versione corretto da lsb_release. Questo valore viene usato nel processo di installazione per determinare il pacchetto da installare. Se si conosce il nome di codice della versione Ubuntu o Debian da cui deriva la distribuzione, è possibile impostare il AZ_REPO valore manualmente quando si aggiunge il repository. In caso contrario, cercare le informazioni relative alla distribuzione in uso in merito a come determinare il nome in codice della distribuzione base e impostare AZ_REPO sul valore corretto.

Nessun pacchetto per la distribuzione in uso

In alcuni casi, un pacchetto aggiornato dell'interfaccia della riga di comando di Azure non è immediatamente disponibile dopo una versione di distribuzione. L'interfaccia della riga di comando di Azure è progettata per essere resiliente alle versioni future delle dipendenze e si basa sul minor numero possibile di dipendenze. Se non è disponibile alcun pacchetto per la distribuzione base in uso, provare un pacchetto per una distribuzione precedente.

Per provare un pacchetto per una distribuzione precedente, impostare il valore di AZ_REPO manualmente quando si aggiunge il repository. Per le distribuzioni Ubuntu, usare il repository più recente jammy :

AZ_REPO="jammy"

Per le distribuzioni Debian, usare il repository più recente bookworm :

AZ_REPO="bookworm"

Importante

Le distribuzioni rilasciate prima di Ubuntu Bionic e Debian Buster non sono supportate.

Installazione dell'interfaccia della riga di comando di Azure non riuscita in elementary OS (eOS)

EOS non riesce a installare l'interfaccia della riga di comando di Azure perché lsb_release restituisce HERA, ovvero il nome della versione EOS. La soluzione consiste nel correggere il file /etc/apt/sources.list.d/azure-cli.list e modificare hera main in bionic main.

Contenuto del file originale:

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

Contenuto del file modificato

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

Il proxy blocca la connessione

Se non è possibile connettersi a una risorsa esterna a causa di un proxy, assicurarsi di aver impostato correttamente le variabili HTTP_PROXY e HTTPS_PROXY nella shell. È necessario contattare l'amministratore di sistema per conoscere gli host e le porte da usare per questi proxy.

I valori in queste variabili vengono usati da molti programmi Linux e durante il processo di installazione. Per impostare questi valori:

# 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]

Importante

Se si è protetti da un proxy, è necessario impostare queste variabili della shell per connettersi ai servizi di Azure con l'interfaccia della riga di comando. Se non si usa l'autenticazione di base, è consigliabile esportare queste variabili nel file .bashrc. Seguire sempre i criteri di sicurezza aziendale e i requisiti definiti dall'amministratore di sistema.

È anche possibile configurare apt in modo esplicito per usare sempre questo proxy. Assicurarsi che nella sezione /etc/apt/apt.conf.d/ di un file di configurazione di apt siano presenti le righe seguenti. È consigliabile usare il file di configurazione globale esistente, un file di configurazione proxy esistente, 40proxies o 99local. In ogni caso, attenersi ai requisiti previsti dall'amministrazione del sistema.

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

Se il proxy non usa l'autenticazione di base, rimuovere la [username]:[password]@ parte dell'URI proxy. Per maggiori informazioni sulla configurazione del proxy, vedere la documentazione ufficiale di Ubuntu:

Per ottenere la chiave di firma Microsoft e ottenere il pacchetto dal repository, il proxy deve consentire le connessioni HTTPS all'indirizzo seguente: 'https://packages.microsoft.com.

Non è possibile installare o eseguire l'interfaccia della riga di comando nel sottosistema Windows per Linux

Dato che il sottosistema Windows per Linux (WSL) è un livello di conversione delle chiamate di sistema basato sulla piattaforma Windows, potrebbe verificarsi un errore quando si prova a installare o eseguire l'interfaccia della riga di comando di Azure. L'interfaccia della riga di comando usa alcune funzionalità che potrebbero contenere un bug in WSL. Se si verifica un errore indipendentemente dal modo in cui si installa l'interfaccia della riga di comando, è probabile che il problema riguardi WSL e non il processo di installazione dell'interfaccia della riga di comando.

Per risolvere i problemi dell'installazione di WSL e possibilmente i problemi riscontrati:

Se i problemi di installazione o esecuzione in WSL persistono, valutare la possibilità di installare l'interfaccia della riga di comando per Windows.

Installazione dell'interfaccia della riga di comando di Azure

Le RPM vengono rilasciate per Linux di Azure tramite CBL-Mariner. Il azure-cli pacchetto supporta l'architettura ARM64 dall'interfaccia della riga di comando 2.46.0.

Per installare l'interfaccia della riga di comando di Azure, seguire questi passaggi:

  1. Installare il set ufficiale di certificati radice attendibili di Microsoft:

    sudo tdnf install ca-certificates
    
  2. Installare l'interfaccia della riga di comando di Azure:

    sudo tdnf install azure-cli
    

Installare una versione specifica

Le versioni disponibili sono disponibili nelle note sulla versione dell'interfaccia della riga di comando di Azure.

Per visualizzare le versioni disponibili con il comando :

tdnf list azure-cli

Per installare una versione specifica:

sudo tdnf install azure-cli-<version>-1

Aggiornare l'interfaccia della riga di comando di Azure

Aggiornare l'interfaccia della riga di comando di Azure con il tdnf update comando :

sudo tdnf update azure-cli

Disinstallare l'interfaccia della riga di comando di Azure

È possibile disinstallare l'interfaccia della riga di comando di Azure. Prima di eseguire la disinstallazione, usare il comando az feedback per segnalare aspetti da migliorare o correggere. L'obiettivo è realizzare un'interfaccia della riga di comando di Azure priva di bug e facile da usare. Se è stato rilevato un bug, segnalarlo in GitHub.

Rimuovere il pacchetto dal sistema:

sudo tdnf remove azure-cli

Rimuovere i dati

Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere i dati.

rm -rf ~/.azure

Operazioni preliminari

Si consiglia vivamente di installare l'interfaccia della riga di comando con una gestione pacchetti. Uno strumento di gestione pacchetti consente di ottenere sempre gli aggiornamenti più recenti e garantisce la stabilità dei componenti dell'interfaccia della riga di comando. Controllare e verificare se è presente un pacchetto per la distribuzione prima di eseguire manualmente l'installazione.

L'interfaccia della riga di comando richiede il software seguente:

Installare o aggiornare l'interfaccia della riga di comando di Azure

Sia l'installazione che l'aggiornamento dell'interfaccia della riga di comando di Azure richiedono la ripetizione dello script di installazione.

curl -L https://aka.ms/InstallAzureCli | bash

Lo script può anche essere scaricato ed eseguito nell'ambiente locale. Potrebbe essere necessario riavviare la shell per rendere effettive le modifiche.

Disinstallare l'interfaccia della riga di comando di Azure

È possibile disinstallare l'interfaccia della riga di comando di Azure. Prima di eseguire la disinstallazione, usare il comando az feedback per segnalare aspetti da migliorare o correggere. L'obiettivo è realizzare un'interfaccia della riga di comando di Azure priva di bug e facile da usare. Se è stato rilevato un bug, segnalarlo in GitHub.

Disinstallare l'interfaccia della riga di comando eliminando direttamente i file dal percorso scelto al momento dell'installazione. Il percorso di installazione predefinito è la home directory dell'utente ($HOME).

  1. Rimuovere i file dell'interfaccia della riga di comando installati.

    rm -r <install location>/lib/azure-cli
    rm <install location>/bin/az
    
  2. Modificare il file $HOME/.bash_profile per rimuovere la riga seguente:

    <install location>/lib/azure-cli/az.completion
    
  3. Se si usa bash o zsh, ricaricare la cache dei comandi della shell.

    hash -r
    

Rimuovere i dati

Se non si prevede di reinstallare l'interfaccia della riga di comando di Azure, rimuovere i dati.

rm -rf ~/.azure

Risoluzione dei problemi

Di seguito sono riportati alcuni problemi comuni che possono verificarsi durante l'installazione manuale. Se si verifica un problema non trattato in questo articolo, segnalarlo in GitHub.

Installare senza Python 3

L'interfaccia della riga di comando di Azure ha eliminato il supporto per Python 2.7 dalla versione 2.1.0. Nel sistema potrebbe esserci una versione di Python che precede il requisito di Python 3.6.x. Trovare un pacchetto sostitutivo python3 .

Errore curl di tipo "Object Moved"

Se viene restituito da curl un errore relativo al parametro -L o se viene visualizzato un messaggio di errore che include il testo "Object Moved", provare a usare l'URL completo invece dell'URL di reindirizzamento aka.ms:

curl https://azurecliprod.blob.core.windows.net/install | bash

Comando az non trovato

Se non è possibile eseguire il comando dopo l'installazione usando bash o zsh, provare a cancellare la cache hash dei comandi della shell e verificare se il problema è stato risolto.

hash -r

Questo problema può verificarsi anche se la shell non è stata riavviata dopo l'installazione. Assicurarsi che il percorso del comando az sia in $PATH. La posizione del comando az è

 <install path>/bin

Il proxy blocca la connessione

Se non è possibile connettersi a una risorsa esterna a causa di un proxy, assicurarsi di aver impostato correttamente le variabili HTTP_PROXY e HTTPS_PROXY nella shell. È necessario contattare l'amministratore di sistema per conoscere gli host e le porte da usare per questi proxy.

I valori in queste variabili vengono usati da molti programmi Linux e durante il processo di installazione. Per impostare questi valori:

# 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]

Importante

Se si è protetti da un proxy, è necessario impostare queste variabili della shell per connettersi ai servizi di Azure con l'interfaccia della riga di comando. Se non si usa l'autenticazione di base, è consigliabile esportare queste variabili nel file .bashrc. Seguire sempre i criteri di sicurezza aziendale e i requisiti definiti dall'amministratore di sistema.

Per ottenere gli script di installazione, il proxy deve consentire le connessioni HTTPS agli indirizzi seguenti:

  • https://aka.ms/
  • https://azurecliprod.blob.core.windows.net/
  • https://pypi.python.org
  • Endpoint usati da gestione pacchetti della distribuzione (se presente) per i pacchetti di base

Non è possibile installare o eseguire l'interfaccia della riga di comando nel sottosistema Windows per Linux

Dato che il sottosistema Windows per Linux (WSL) è un livello di conversione delle chiamate di sistema basato sulla piattaforma Windows, potrebbe verificarsi un errore quando si prova a installare o eseguire l'interfaccia della riga di comando di Azure. L'interfaccia della riga di comando usa alcune funzionalità che potrebbero contenere un bug in WSL. Se si verifica un errore indipendentemente dal modo in cui si installa l'interfaccia della riga di comando, è probabile che il problema riguardi WSL e non il processo di installazione dell'interfaccia della riga di comando.

Per risolvere i problemi dell'installazione di WSL e possibilmente i problemi riscontrati:

Se i problemi di installazione o esecuzione in WSL persistono, valutare la possibilità di installare l'interfaccia della riga di comando per Windows.

Passaggi successivi

Ora che l'interfaccia della riga di comando di Azure è stata installata, passare a una breve presentazione delle relative funzionalità e dei comandi comuni.