Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Compilazione e installazione del file AWS CLI dal codice sorgente
Questo argomento descrive come installare o aggiornare dall’origine l’ultima versione di AWS Command Line Interface (AWS CLI) sui sistemi operativi supportati.
Per informazioni sulle ultime versioni di AWS CLI, consulta il Changelog della AWS CLI versione 2
Importante
AWS CLI le versioni 1 e 2 utilizzano lo stesso nome di aws comando. Se in precedenza hai installato AWS CLI la versione 1, vediGuida alla migrazione per la AWS CLI versione 2.
Argomenti
Perché compilare dall’origine?
AWS CLI È disponibile come programmi di installazione predefiniti per la maggior parte delle piattaforme e degli ambienti, nonché come immagine Docker.
In genere, questi programmi di installazione forniscono la copertura per la maggior parte dei casi d’uso. Le istruzioni per l’installazione dall’origine servono a risolvere i casi d’uso non coperti dai programmi di installazione. Alcuni di questi casi d’uso sono i seguenti:
-
I programmi di installazione predefiniti non supportano l’ambiente in uso. Ad esempio, ARM a 32 bit non è supportato dai programmi di installazione predefiniti.
-
I programmi di installazione predefiniti hanno dipendenze che non sono presenti nell’ambiente. Ad esempio, Alpine Linux utilizza
musl, ma gli attuali programmi di installazione richiedono glibc, il che impedisce il funzionamento immediato dei programmi di installazione predefiniti. -
I programmi di installazione predefiniti richiedono risorse a cui l’ambiente limita l’accesso. Ad esempio, i sistemi con hardening della sicurezza potrebbero non fornire le autorizzazioni per la memoria condivisa. Questo comportamento è necessario per il programma di installazione
awsbloccato. -
I programmi di installazione predefiniti spesso rappresentano un ostacolo per i manutentori dei gestori di pacchetti, in quanto è preferibile avere il pieno controllo sul processo di compilazione del codice e dei pacchetti. La compilazione dall’origine consente ai manutentori della distribuzione di utilizzare un processo più semplice per mantenere AWS CLI aggiornato. L'abilitazione dei manutentori fornisce ai clienti più up-to-date versioni di AWS CLI quando si installa da un gestore di pacchetti di terze parti come, e.
brewyumapt -
I clienti che dispongono della AWS CLI funzionalità di patch richiedono la creazione e l'installazione del codice AWS CLI sorgente. Ciò è particolarmente importante per i membri della community che desiderano testare le modifiche apportate al codice sorgente prima di apportare la modifica al AWS CLI GitHub repository.
Passaggi rapidi
Nota
Si presume che tutti gli esempi di codice vengano eseguiti dalla root della directory di origine.
Per creare e installare il file AWS CLI dal codice sorgente, segui i passaggi descritti in questa sezione. AWS CLI
utilizza GNU Autotools
-
Impostare tutti i requisiti per l’ambiente. Ciò include la possibilità di eseguire file generati da GNU Autotools
e installare Python 3.8 o versioni successive. -
Nel tuo terminale, vai al livello superiore della cartella dei AWS CLI sorgenti ed esegui il
./configurecomando. Questo comando verifica la presenza di tutte le dipendenze richieste nel sistema e genera unMakefileper la compilazione e l’installazione di AWS CLI in base alle configurazioni rilevate e specificate.Per i dettagli, le opzioni di configurazione disponibili e le informazioni sulle impostazioni predefinite, consulta la sezione Fase 2: Configurazione dell'installazione del codice sorgente AWS CLI.
-
Esegui il comando
make. Questo comando crea il file in AWS CLI base alle impostazioni di configurazione.Il seguente comando
makedi esempio compila con le opzioni predefinite utilizzando le impostazioni./configureesistenti.Per i dettagli e le opzioni di compilazione disponibili, consulta la sezione Fase 3: Creazione del AWS CLI.
-
Esegui il comando
make install. Questo comando installa il build AWS CLI nella posizione configurata del sistema.Il seguente esempio di
make installcomando installa il comando build AWS CLI e crea collegamenti simbolici nelle posizioni configurate utilizzando le impostazioni di comando predefinite.Per i dettagli e le opzioni di installazione disponibili, consulta la sezione Fase 4: Installazione di AWS CLI.
-
Conferma l'installazione AWS CLI con successo utilizzando il seguente comando:
$aws --versionaws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/offPer il passaggi della risoluzione dei problemi di installazione, consulta la sezione Risoluzione degli errori di AWS CLI installazione e disinstallazione.
Passaggio 1: configurare tutti i requisiti
Per compilare il AWS CLI codice sorgente è necessario completare prima quanto segue:
Nota
Si presume che tutti gli esempi di codice vengano eseguiti dalla root della directory di origine.
Scaricate il AWS CLI codice sorgente eseguendo il forking del AWS CLI GitHub repository o scaricando il tarball dei sorgenti. Seguire una delle seguenti istruzioni:
-
Fork e clona il repository da.AWS CLIGitHub
Per maggiori informazioni, consulta Fork a repo nei Documenti . GitHub -
Scaricare il tarball di origine più recente da https://awscli.amazonaws.com/awscli.tar.gz
ed estrarne il contenuto utilizzando i seguenti comandi: $curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz"$tar -xzf awscli.tar.gzNota
Le versioni di origine sono disponibili a partire dalla versione 2.10.0 di AWS CLI.
(Facoltativo) Verificare l’integrità del file zip scaricato completando i seguenti passaggi:
-
Puoi utilizzare le fasi seguenti per verificare le firme tramite lo strumento
GnuPG.I AWS CLI file del pacchetto di installazione sono firmati crittograficamente utilizzando firme PGP.
.zipSe i file sono in qualche modo danneggiati o alterati, questa verifica non va a buon fine e l’installazione deve essere arrestata. -
Scarica e installa il comando
gpgutilizzando il programma di gestione dei pacchetti. Per ulteriori informazioni suGnuPG, consulta il sito Web GnuPG. -
Per creare il file della chiave pubblica, crea un file di testo e incolla il testo seguente.
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6 0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+ DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+ j+c7Kg92pDx2uQ== =OBAt -----END PGP PUBLIC KEY BLOCK-----Per riferimento, di seguito sono riportati i dettagli della chiave pubblica.
Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2026-07-07 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C -
Importa la chiave AWS CLI pubblica con il seguente comando, sostituendola
public-key-file-namecon il nome del file della chiave pubblica che hai creato.$gpg --importpublic-key-file-namegpg: /home/username/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1 -
Scarica il file della AWS CLI firma per il pacchetto scaricato all'indirizzo https://awscli.amazonaws.com /awscli.tar.gz.sig.
Il percorso e il nome sono identici a quelli del file tarball corrispondente, ma con estensione .sig. Salvare il file nello stesso percorso del file tarball. In alternativa, utilizzare il seguente blocco di comandi:$curl awscliv2.sig https://awscli.amazonaws.com/ -o awscli.tar.gz.sig -
Verifica la firma, passando entrambi i nomi file
.sige.zipscaricati come parametri del comandogpg.$gpg --verify awscliv2.sig awscli.tar.gzL’output visualizzato dovrebbe essere simile al seguente:
gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475CImportante
L’avviso nell’output è previsto e non indica un problema. Si verifica perché non esiste una catena di fiducia tra la tua chiave PGP personale (se ne hai una) e la chiave PGP. AWS CLI Per ulteriori informazioni, consulta Web of trust
.
-
-
-
È disponibile un ambiente in grado di eseguire file generati da GNU Autotools
come configureeMakefile. Questi file sono ampiamente portabili nelle piattaforme POSIX. -
È installato un interprete Python 3.8 o versioni successive. La versione minima di Python richiesta segue le stesse tempistiche della politica di supporto Python
ufficiale per and Tools. AWS SDKs Un interprete è supportato solo 6 mesi dopo la sua data. end-of-support -
(Facoltativo) Installare tutte le dipendenze della libreria Python di compilazione e runtime di AWS CLI. Il comando
./configureinforma l’utente se mancano delle dipendenze e come installarle.È possibile installare e utilizzare automaticamente queste dipendenze tramite la configurazione, consulta Download delle dipendenze per ulteriori informazioni.
Fase 2: Configurazione dell'installazione del codice sorgente AWS CLI
La configurazione per la creazione e l'installazione di AWS CLI viene specificata utilizzando lo configure script. Per la documentazione di tutte le opzioni di configurazione, eseguire lo script configure con l’opzione --help:
Le opzioni più importanti sono:
Posizione di installazione
L'installazione sorgente di AWS CLI utilizza due directory configurabili per installare: AWS CLI
-
libdir- Directory principale in cui AWS CLI verrà installato. Il percorso di AWS CLI installazione è. Il valore<libdir-value>/aws-clilibdirpredefinito per Linux e macOS è/usr/local/lib, pertanto la directory di installazione predefinita è./usr/local/lib/aws-cli -
bindir- Directory in cui sono installati AWS CLI gli eseguibili. Il percorso predefinito è/usr/local/bin.
Le seguenti opzioni configure controllano le directory utilizzate:
-
--prefix: imposta il prefisso di directory da utilizzare per l’installazione. Il valore predefinito per Linux e macOS è/usr/local. -
--libdir: imposta lalibdirda utilizzare per l’installazione di AWS CLI. Il valore predefinito è<prefix-value>/lib. Se entrambi--libdire--prefixnon sono specificati, l’impostazione predefinita per Linux e macOS è/usr/local/lib/. -
--bindir- Impostabindirda utilizzare per l'installazione di AWS CLIawsedaws_completereseguibili. Il valore predefinito è<prefix-value>/bin. Se entrambibindire--prefixnon sono specificati, l’impostazione predefinita per Linux e macOS è/usr/local/bin/.
Interprete Python
Nota
Si consiglia vivamente di specificare l’interprete Python durante l’installazione per Windows.
Lo ./configure script seleziona automaticamente un interprete Python 3.8 o successivo installato da utilizzare nella creazione e nell'esecuzione AWS CLI della macro using the Autoconf. AM_PATH_PYTHON
L’interprete Python da utilizzare può essere impostato in modo esplicito utilizzando la variabile di ambiente PYTHON durante l’esecuzione dello script configure:
Download delle dipendenze
Per impostazione predefinita, è necessario che tutte le dipendenze di build e runtime di siano già installate nel AWS CLI sistema. Sono incluse le dipendenze della libreria Python. Tutte le dipendenze vengono controllate durante l’esecuzione dello script configure e se nel sistema mancano delle dipendenze Python, lo script configure genera errori.
Il seguente codice di esempio genera errori quando nel sistema mancano le dipendenze:
Per installare automaticamente le dipendenze Python richieste, utilizzare l’opzione --with-download-deps. Quando si utilizza questo flag, il processo di compilazione esegue le seguenti operazioni:
-
Salta il controllo delle dipendenze della libreria Python.
-
Configura le impostazioni per scaricare tutte le dipendenze Python richieste e utilizzare solo le dipendenze scaricate per compilare AWS CLI durante la compilazione di
make.
Il seguente comando configure di esempio utilizza l’opzione --with-download-deps per scaricare e utilizzare le dipendenze Python:
Tipo di installazione
Il processo di installazione dall’origine supporta i seguenti tipi di installazione:
-
system-sandbox- (Impostazione predefinita) Crea un ambiente virtuale Python isolato, lo installa AWS CLI nell'ambiente virtuale e collega simbolicamente alaws_completerfile eseguibile nell'ambiente virtuale.awsQuesta installazione di AWS CLI dipende direttamente dall'interprete Python selezionato per il suo runtime.Questo è un meccanismo di installazione leggero per installarlo su un sistema e segue le migliori pratiche di Python eseguendo il sandboxing dell'installazione in un ambiente virtuale. AWS CLI Questa installazione è destinata ai clienti che desiderano installare il file AWS CLI dal codice sorgente nel modo più semplice possibile con l'installazione abbinata all'installazione di Python.
-
portable-exe- Lo blocca AWS CLI in un eseguibile autonomo che può essere distribuito in ambienti con architetture simili. Questo è lo stesso processo utilizzato per generare gli eseguibili ufficiali predefiniti di AWS CLI.portable-exeblocca in una copia dell’interprete Python scelto nel passaggioconfigureda utilizzare per il runtime di AWS CLI. Questo consente di spostarlo su altri computer che potrebbero non avere un interprete Python.Questo tipo di compilazione è utile perché è possibile assicurarsi che l’installazione di AWS CLI non sia abbinata alla versione di Python installata nell’ambiente e distribuire una compilazione su altri sistemi in cui potrebbe non essere installato Python. Ciò consente di controllare le dipendenze e la sicurezza degli eseguibili utilizzati. AWS CLI
Per configurare il tipo di installazione, utilizzare l’opzione --with-install-type e specificare il valore portable-exe o system-sandbox.
Il seguente comando ./configure di esempio specifica il valore portable-exe:
Fase 3: Creazione del AWS CLI
Usa il make comando per crearlo AWS CLI usando le tue impostazioni di configurazione:
Nota
Quando si utilizza il comando make, i seguenti passaggi vengono completati in background:
-
Un ambiente virtuale viene creato nella directory di compilazione utilizzando il modulo Python
venv. L’ambiente virtuale viene avviato con una versione di pip fornita nella libreria standard Python . -
Le dipendenze della libreria Python vengono copiate. A seconda se il flag
--with-download-depsè stato specificato nel comandoconfigure, questo passaggio esegue una delle seguenti operazioni:-
--with-download-depsè specificato. Le dipendenze Python eseguono l’installazione pip. Sono inclusewheel,setuptoolse tutte le dipendenze di runtime AWS CLI . Se si sta compilandoportable-exe, viene installatopyinstaller. Questi requisiti sono tutti specificati nei file di blocco generati dapip-compile. -
--with-download-depsnon è specificato. Le librerie Python del pacchetto del sito dell’interprete Python più eventuali script (ad esempiopyinstaller) vengono copiati nell’ambiente virtuale utilizzato per la compilazione.
-
-
Viene eseguito
pip installdirettamente sulla AWS CLI codebase per eseguire una compilazione offline e nell'albero e l'installazione di AWS CLI nell'ambiente virtuale di compilazione. Questa installazione utilizza i flag pip --no-build-isolation , in-tree-build --use-feature=, -- e. no-cache-dir --no-index -
(Facoltativo) Se
--install-typeè impostato suportable-exenel comandoconfigure, viene compilato un eseguibile standalone utilizzandopyinstaller.
Fase 4: Installazione di AWS CLI
Il make install comando installa il build AWS CLI nella posizione configurata sul sistema.
La regola make install supporta la variabile DESTDIR
Nota
Durante l’esecuzione di make install, i seguenti passaggi vengono completati in background
-
Sposta uno dei seguenti elementi nella directory di installazione configurata:
-
Se il tipo di installazione è
system-sandbox, sposta l’ambiente virtuale compilato. -
Se il tipo di installazione è
portable-exe, sposta l’eseguibile standalone compilato.
-
-
Crea collegamenti simbolici per gli eseguibili
awseaws_completernella directory bin configurata.
Fase 5: Verifica dell'installazione AWS CLI
Conferma l' AWS CLI avvenuta installazione utilizzando il seguente comando:
$aws --versionaws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
Se il comando aws non viene riconosciuto, potrebbe essere necessario riavviare il terminale per aggiornare i nuovi collegamenti simbolici. Se riscontrate altri problemi dopo l'installazione o la disinstallazione di AWS CLI, consultate le procedure comuni Risoluzione degli errori relativi a AWS CLI per la risoluzione dei problemi
Esempi di flussi di lavoro
Questa sezione fornisce alcuni esempi di flussi di lavoro di base per l’installazione dall’origine.
Installazione di base per Linux e macOS
L'esempio seguente è un flusso di lavoro di installazione di base in cui AWS CLI viene installato nella posizione predefinita di/usr/local/lib/aws-cli.
$cdpath/to/cli/respository/$./configure$make$make install
Installazione automatizzata per Windows
Nota
È necessario eseguire l'esecuzione PowerShell come amministratore per utilizzare questo flusso di lavoro.
MSYS2 può essere utilizzato in modo automatizzato in un'impostazione CI, vedere Utilizzo MSYS2 in CI
Container Alpine Linux
Di seguito è riportato un esempio di Dockerfile che può essere utilizzato per ottenere un’installazione funzionante di AWS CLI in un container Alpine Linux come alternativa ai file binari predefiniti per AlpineAWSCLI_VERSION con il numero di versione desiderato AWS CLI :
FROM python:3.8-alpine AS builder ENV AWSCLI_VERSION=2.10.1 RUN apk add --no-cache \ curl \ make \ cmake \ gcc \ g++ \ libc-dev \ libffi-dev \ openssl-dev \ && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \ && cd awscli-${AWSCLI_VERSION} \ && ./configure --prefix=/opt/aws-cli/ --with-download-deps \ && make \ && make install FROM python:3.8-alpine RUN apk --no-cache add groff COPY --from=builder /opt/aws-cli/ /opt/aws-cli/ ENTRYPOINT ["/opt/aws-cli/bin/aws"]
Questa immagine viene creata e AWS CLI richiamata da un contenitore simile a quello creato su Amazon Linux 2:
$docker build --tag awscli-alpine .$docker run --rm -it awscli-alpine --versionaws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off
La dimensione finale di questa immagine è inferiore alla dimensione dell'immagine AWS CLI Docker ufficiale. Per informazioni sull’immagine Docker ufficiale, consulta Esecuzione delle immagini ufficiali di Amazon ECR Public o Docker per AWS CLI.
Risoluzione degli errori di AWS CLI installazione e disinstallazione
Per i passaggi della risoluzione dei problemi di installazione, consulta Risoluzione degli errori relativi a AWS CLI per le procedure più comuni. Per le procedure di risoluzione dei problemi più importanti, consulta Errori di comando non trovato, Il comando aws --version restituisce una versione diversa da quella installata e Il comando "aws --version" restituisce una versione dopo la disinstallazione di AWS CLI.
Per eventuali problemi non descritti nelle guide alla risoluzione dei problemi, cerca i problemi con l'source-distributionetichetta nel AWS CLI Repository
Fasi successive
Dopo aver installato il AWS CLI, è necessario eseguire un. Configurazione del AWS CLI