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

L'interfaccia della riga di comando di Azure è uno strumento da riga di comando multipiattaforma che può essere installato localmente nei computer Linux. È possibile usare l'interfaccia della riga di comando di Azure in Linux per connettersi ad Azure ed eseguire comandi amministrativi nelle risorse di Azure. L'interfaccia della riga di comando in Linux consente l'esecuzione di vari comandi tramite un terminale usando prompt della riga di comando interattivi o uno script. Quando si è pronti per installare l'interfaccia della riga di comando di Azure in Linux, è consigliabile usare lo strumento di gestione pacchetti di una distribuzione Linux. Selezionare lo strumento di gestione pacchetti appropriato per la distribuzione dalle opzioni precedenti. Se non si dispone di uno degli strumenti di gestione pacchetti elencati, è 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.39.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.

Panoramica

Lo strumento di gestione pacchetti apt contiene un pacchetto x86_64 per l'interfaccia della riga di comando di Azure che è stato testato nelle distribuzioni seguenti.

Distribuzione Versione
Ubuntu 18.04 LTS (Bionic Beaver), 20.04 LTS (Focal Fossa), 22.04 (Jammy Medfish)
Debian 10 (Buster), 11 (Bullseye)

Avviso

È possibile continuare a usare versioni cronologiche dell'interfaccia della riga di comando di Azure nei sistemi precedenti, ma non saranno presenti aggiornamenti o correzioni di bug. Prendere in considerazione l'aggiornamento a versioni più recenti di Ubuntu o Debian per usare l'interfaccia della riga di comando di Azure più recente.

Avviso

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.

Il azure-cli pacchetto deb non supporta l'architettura ARM64.

Opzione di installazione

Sono disponibili due opzioni per installare l'interfaccia della riga di comando di Azure nel sistema. Prima di tutto, è possibile eseguire un singolo comando che scaricherà uno script di installazione ed eseguirà automaticamente i comandi di installazione. In alternativa, se si preferisce, è possibile eseguire manualmente i comandi di installazione con una procedura dettagliata. Entrambi i metodi sono descritti di seguito.

Opzione 1: Eseguire l'installazione con un unico comando

Il team che si occupa dell'interfaccia della riga di comando di Azure ha uno script per eseguire 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.

Per esaminare il contenuto dello script prima dell'esecuzione, è sufficiente scaricarlo usando 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:

    curl -sL https://packages.microsoft.com/keys/microsoft.asc |
        gpg --dearmor |
        sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
    
  3. Aggiungere il repository software dell'interfaccia della riga di comando di Azure:
    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. 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

È innanzitutto 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 :

    apt-cache policy azure-cli
    
  2. Per installare una versione specifica:

    sudo apt-get install azure-cli=<version>-1~bullseye
    

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.

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'. Rimuoverlo eseguendo sudo apt remove azure-cli -y && sudo apt autoremove -y, quindi seguire le istruzioni indicate in precedenza per installare il pacchetto azure-cli più recente.

lsb_release non restituisce la versione della distribuzione base corretta

Alcune distribuzioni derivate da Ubuntu o Debian, come Linux Mint, potrebbero non restituire il nome di versione corretto tramite lsb_release. Questo valore viene usato nel processo di installazione per determinare il pacchetto da installare. Se si conosce il nome in codice della versione di Ubuntu o Debian da cui deriva la distribuzione in uso, è possibile impostare manualmente il valore di AZ_REPO durante l'aggiunta del 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

Talvolta dopo il rilascio di una distribuzione può trascorrere tempo prima che sia disponibile un pacchetto dell'interfaccia della riga di comando di Azure per tale distribuzione. L'interfaccia della riga di comando di Azure è progettata per essere resiliente rispetto alle versioni future delle dipendenze e usarne il minor numero possibile. Se non è disponibile alcun pacchetto per la distribuzione base in uso, provare un pacchetto per una distribuzione precedente.

A tale scopo, impostare manualmente il valore di AZ_REPO durante l'aggiunta del repository. Per le distribuzioni Ubuntu, usare il repository più recente jammy :

AZ_REPO="jammy"

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

AZ_REPO="bullseye"

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 di 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. Per sapere quali host e porte usare per questi proxy, è necessario contattare l'amministratore di sistema.

Questi valori vengono rispettati da numerosi programmi Linux, inclusi quelli usati nel 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 usare sempre questo proxy, è opportuno configurare in modo esplicito apt. 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 parte [username]:[password]@ dell'URI del proxy. Per maggiori informazioni sulla configurazione del proxy, vedere la documentazione ufficiale di Ubuntu:

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 possibile, eseguire un processo di installazione identico in un computer o una VM Linux per verificare se ha esito positivo. Se riesce, il problema è quasi certamente correlato a WSL. Per avviare una VM Linux in Azure, vedere la documentazione su come creare una VM Linux nel portale di Azure.
  • Verificare di eseguire l'ultima versione di WSL. Per ottenere l'ultima versione, aggiornare l'installazione di Windows 10.
  • Verificare la presenza di problemi aperti relativi a WSL che potrebbero risolvere il problema riscontrato. Spesso sono disponibili suggerimenti su soluzioni alternative al problema o informazioni su una versione in cui verrà risolto.
  • Se non si trovano problemi esistenti per il problema riscontrato, segnalare un nuovo problema relativo a WSL assicurandosi di includere la maggiore quantità di informazioni possibile.

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

Aggiornamento

L'interfaccia della riga di comando include un comando predefinito per eseguire l'aggiornamento all'ultima versione:

az upgrade

Nota

Il comando az upgrade è stato aggiunto nella versione 2.11.0 e non funziona con le versioni precedenti alla 2.11.0. Le versioni precedenti possono essere aggiornate reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre opzioni di az upgrade, vedere la pagina di informazioni di riferimento sui comandi.

È anche possibile usare apt-get upgrade per aggiornare il pacchetto dell'interfaccia della riga di comando.

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

Nota

Questo comando aggiorna tutti i pacchetti installati nel sistema che non hanno subito modifiche relative alle dipendenze. 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

È 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 Microsoft, rimuovere la chiave di firma:

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

    sudo apt autoremove
    

Panoramica

Per le distribuzioni linux con dnf , ad esempio RHEL 8 o CentOS Stream 8, sono disponibili pacchetti RPM per l'interfaccia della riga di comando di Azure.

Avviso

A partire dall'interfaccia della riga di comando di Azure 2.39.0 (rilasciata il 08/02/2022), non verranno rilasciati pacchetti RPM per RHEL 7 e CentOS 7. È possibile continuare a usare versioni cronologiche dell'interfaccia della riga di comando di Azure in questi sistemi, ma non saranno presenti aggiornamenti o bugfix. Valutare la possibilità di eseguire l'aggiornamento alle versioni più recenti di RHEL o CentOS per usare l'interfaccia della riga di comando di Azure più recente.

La versione corrente dell'interfaccia della riga di comando di Azure è 2.39.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.

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 è stato ritirato il 1° gennaio 2020 e non riceverà più aggiornamenti. L'interfaccia della riga di comando ha eliminato il supporto per Python 2.7 dalla versione 2.1.0. Le nuove versioni non garantiscono più l'esecuzione corretta con Python 2.7.

Nota

Usare yum Gestione pacchetti se si usano sistemi Linux che non supportano dnf gestione pacchetti.

Installazione

  1. Importare la chiave del repository Microsoft.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. 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
    

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 supporto ufficiale per il pacchetto python 3.6+. In caso contrario, è necessario installare prima un pacchetto python3 e quindi installare l'interfaccia della riga di comando di Azure senza dipendenza.

È possibile usare questo unico comando per installare l'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, eseguire i passaggi 1 e 2 delle istruzioni 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 non si dispone del plug-in di download dnf installato, si noterà che il comando non viene trovato 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, si può anche installare Python 3 tramite alcuni repository aggiuntivi. In questo caso, se è stato configurato python3, ma viene ancora restituito un errore python3: command not found quando si tenta di eseguire l'interfaccia della riga di comando, è necessario aggiungerlo al 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. Per sapere quali host e porte usare per questi proxy, è necessario contattare l'amministratore di sistema.

Questi valori vengono rispettati da numerosi programmi Linux, inclusi quelli usati nel 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 usare sempre questo proxy, è opportuno configurare in modo esplicito dnf. 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 possibile, eseguire un processo di installazione identico in un computer o una VM Linux per verificare se ha esito positivo. Se riesce, il problema è quasi certamente correlato a WSL. Per avviare una VM Linux in Azure, vedere la documentazione su come creare una VM Linux nel portale di Azure.
  • Verificare di eseguire l'ultima versione di WSL. Per ottenere l'ultima versione, aggiornare l'installazione di Windows 10.
  • Verificare la presenza di problemi aperti relativi a WSL che potrebbero risolvere il problema riscontrato. Spesso sono disponibili suggerimenti su soluzioni alternative al problema o informazioni su una versione in cui verrà risolto.
  • Se non si trovano problemi esistenti per il problema riscontrato, segnalare un nuovo problema relativo a WSL assicurandosi di includere la maggiore quantità di informazioni possibile.

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

Aggiornamento

L'interfaccia della riga di comando include un comando predefinito per eseguire l'aggiornamento all'ultima versione:

az upgrade

Nota

Il comando az upgrade è stato aggiunto nella versione 2.11.0 e non funziona con le versioni precedenti alla 2.11.0. Le versioni precedenti possono essere aggiornate reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre opzioni di az upgrade, vedere la pagina di informazioni di riferimento sui comandi.

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

sudo dnf update azure-cli

Disinstallare

È 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
    

Panoramica

Le rpms vengono rilasciate per CBL-Mariner 1.0 e 2.0.

Installazione

Installare con il tdnf install comando:

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

Aggiornamento

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

sudo tdnf update azure-cli

Disinstallare

È 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

Panoramica

Per le distribuzioni Linux con zypper, ad esempio openSUSE o SLES, è disponibile un pacchetto per l'interfaccia della riga di comando di Azure. Questo pacchetto è stato testato con openSUSE Leap 15.1 e SLES 15.

La versione corrente dell'interfaccia della riga di comando di Azure è 2.39.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.

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 è stato ritirato il 1° gennaio 2020 e non riceverà più aggiornamenti. L'interfaccia della riga di comando ha eliminato il supporto per Python 2.7 dalla versione 2.1.0. Le nuove versioni non garantiscono più l'esecuzione corretta con Python 2.7.

Installazione

  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. Per visualizzare le versioni disponibili con il 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
    

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.

NotImplementedError nella VM OpenSUSE 15

Nella VM OpenSUSE 15 è preinstallata l'interfaccia della riga di comando di Azure versione 2.0.45, che è obsoleta e presenta problemi con az login. Rimuoverla insieme alle relative dipendenze prima di seguire le istruzioni di installazione 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 la versione del pacchetto python3 predefinito è 3.4, che non è supportata 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 verrà installato Python 3.8 in /usr/local/azcli e l'interfaccia della riga di comando di Azure lo userà 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, tenere presente 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. Per sapere quali host e porte usare per questi proxy, è necessario contattare l'amministratore di sistema.

Questi valori vengono rispettati da numerosi programmi Linux, inclusi quelli usati nel 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 usare sempre questo proxy, è opportuno configurare in modo esplicito zypper tramite yast2. 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 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 possibile, eseguire un processo di installazione identico in un computer o una VM Linux per verificare se ha esito positivo. Se riesce, il problema è quasi certamente correlato a WSL. Per avviare una VM Linux in Azure, vedere la documentazione su come creare una VM Linux nel portale di Azure.
  • Verificare di eseguire l'ultima versione di WSL. Per ottenere l'ultima versione, aggiornare l'installazione di Windows 10.
  • Verificare la presenza di problemi aperti relativi a WSL che potrebbero risolvere il problema riscontrato. Spesso sono disponibili suggerimenti su soluzioni alternative al problema o informazioni su una versione in cui verrà risolto.
  • Se non si trovano problemi esistenti per il problema riscontrato, segnalare un nuovo problema relativo a WSL assicurandosi di includere la maggiore quantità di informazioni possibile.

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 in grado di stabilire una connessione protetta. Aggiornare il certificato per correggere il problema.

sudo zypper update-ca-certificates

Aggiornamento

L'interfaccia della riga di comando include un comando predefinito per eseguire l'aggiornamento all'ultima versione:

az upgrade

Nota

Il comando az upgrade è stato aggiunto nella versione 2.11.0 e non funziona con le versioni precedenti alla 2.11.0. Le versioni precedenti possono essere aggiornate reinstallando come descritto in Installare l'interfaccia della riga di comando di Azure.

Per impostazione predefinita, questo comando aggiorna anche tutte le estensioni installate. Per altre opzioni di az upgrade, vedere la pagina di informazioni di riferimento sui comandi.

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

sudo zypper refresh
sudo zypper update azure-cli

Disinstallare

È 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
    

Panoramica

Nota

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. Verificare se esiste un pacchetto per la distribuzione prima di eseguire l'installazione manuale.

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

Importante

L'interfaccia della riga di comando ha eliminato il supporto per Python 2.7 dalla versione 2.1.0. Le nuove versioni non garantiscono più l'esecuzione corretta con Python 2.7.

Eseguire l'installazione o l'aggiornamento

Sia per l'installazione che per l'aggiornamento dell'interfaccia della riga di comando è necessario eseguire nuovamente lo script di installazione. Installare l'interfaccia della riga di comando eseguendo curl.

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.

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.

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 dopo l'installazione non è possibile eseguire il comando e si usa bash o zsh, cancellare la cache di hash dei comandi della shell. Esegui

hash -r

e verificare se il problema è stato risolto.

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. Per sapere quali host e porte usare per questi proxy, è necessario contattare l'amministratore di sistema.

Questi valori vengono rispettati da numerosi programmi Linux, inclusi quelli usati nel 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 possibile, eseguire un processo di installazione identico in un computer o una VM Linux per verificare se ha esito positivo. Se riesce, il problema è quasi certamente correlato a WSL. Per avviare una VM Linux in Azure, vedere la documentazione su come creare una VM Linux nel portale di Azure.
  • Verificare di eseguire l'ultima versione di WSL. Per ottenere l'ultima versione, aggiornare l'installazione di Windows 10.
  • Verificare la presenza di problemi aperti relativi a WSL che potrebbero risolvere il problema riscontrato. Spesso sono disponibili suggerimenti su soluzioni alternative al problema o informazioni su una versione in cui verrà risolto.
  • Se non si trovano problemi esistenti per il problema riscontrato, segnalare un nuovo problema relativo a WSL assicurandosi di includere la maggiore quantità di informazioni possibile.

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

Disinstallare

È 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 è $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
    

Rimuovi dati

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

rm -rf ~/.azure

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.