As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Construindo e instalando a AWS CLI partir do código-fonte
Este tópico descreve como usar o código-fonte para instalar ou atualizar para a versão mais recente da AWS Command Line Interface (AWS CLI) em sistemas operacionais compatíveis.
Para obter informações sobre as versões mais recentes do AWS CLI, consulte o Changelog da AWS CLI versão 2
Importante
AWS CLI as versões 1 e 2 usam o mesmo nome de aws
comando. Se você instalou anteriormente a AWS CLI versão 1, consulteMigrando da AWS CLI versão 1 para a AWS CLI versão 2.
Tópicos
- Por que compilar usando o código-fonte?
- Etapas rápidas
- Etapa 1: Configurar todos os requisitos
- Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte
- Etapa 3: Compilar a AWS CLI
- Etapa 4: Instalar a AWS CLI
- Etapa 5: Verificar a instalação da AWS CLI
- Exemplos de fluxo de trabalho
- Solução de problemas de erros de AWS CLI instalação e desinstalação
- Próximas etapas
Por que compilar usando o código-fonte?
O AWS CLI está disponível como instaladores pré-construídos para a maioria das plataformas e ambientes, bem como como uma imagem do Docker.
Geralmente, esses instaladores oferecem cobertura para a maioria dos casos de uso. As instruções de instalação usando o código-fonte servem para ajudar nos casos de uso que nossos instaladores não cobrem. Alguns dos casos de uso incluem o seguinte:
-
Os instaladores predefinidos não oferecem suporte ao seu ambiente. Por exemplo, ARM 32 bits não são compatíveis com os instaladores pré-construídos.
-
Os instaladores predefinidos têm dependências que seu ambiente não tem. Por exemplo, o Alpine Linux usa
musl
, mas os instaladores atuais exigem glibc
, o que impede que os instaladores predefinidos funcionem imediatamente. -
Os instaladores predefinidos exigem recursos aos quais seu ambiente restringe o acesso. Por exemplo, sistemas com segurança reforçada podem não conceder permissões à memória compartilhada. Isso é necessário para o instalador congelado
aws
. -
Os instaladores predefinidos geralmente são bloqueadores para mantenedores em gerenciadores de pacotes, já que há preferência pelo controle total sobre o processo de compilação de código e pacotes. A criação a partir do código-fonte permite que os mantenedores da distribuição tenham um processo mais simplificado para manter a atualização. AWS CLI A habilitação de mantenedores fornece aos clientes mais up-to-date versões do AWS CLI ao instalar a partir de um gerenciador de pacotes terceirizado
brew
, comoyum
, e.apt
-
Os clientes que corrigem a AWS CLI funcionalidade precisam criar e instalar a AWS CLI partir da fonte. Isso é especialmente importante para membros da comunidade que desejam testar as alterações feitas na fonte antes de contribuir com a alteração para o AWS CLI GitHub repositório.
Etapas rápidas
nota
Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.
Para criar e instalar o a AWS CLI partir do código-fonte, siga as etapas nesta seção. Ele AWS CLI aproveita o GNUAutotools
-
Configure todos os requisitos para o seu ambiente. Isso inclui a capacidade de executar arquivos gerados pelo GNUAutotools
e instalar o Python 3.8 ou posterior. -
No seu terminal, navegue até o nível superior da pasta de AWS CLI origem e execute o
./configure
comando. Esse comando verifica o sistema em busca de todas as dependências necessárias e gera umaMakefile
para criar e instalar o AWS CLI com base nas configurações detectadas e especificadas.Para obter detalhes, opções de configuração disponíveis e informações de configuração padrão, consulte a seção Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte .
-
Execute o comando
make
. Esse comando cria o de AWS CLI acordo com suas configurações.O exemplo de comando
make
a seguir é compilado com opções padrão usando suas configurações de./configure
existentes.Para obter detalhes e opções de compilação disponíveis, consulte a seção Etapa 3: Compilar a AWS CLI.
-
Execute o comando
make install
. Esse comando instala a AWS CLI compilada no local configurado em seu sistema.O exemplo de comando
make install
a seguir instala a AWS CLI compilada e cria symlinks em seus locais configurados usando as configurações de comando padrão.Para obter detalhes e opções de instalação disponíveis, consulte a seção Etapa 4: Instalar a AWS CLI.
-
Confirme a instalação AWS CLI bem-sucedida usando o seguinte comando:
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
Para obter as etapas de solução de problemas para erros de instalação, consulte a seção Solução de problemas de erros de AWS CLI instalação e desinstalação.
Etapa 1: Configurar todos os requisitos
Para criar a AWS CLI partir do código-fonte, você precisa preencher o seguinte com antecedência:
nota
Assume-se que todos os exemplos de código são executados da raiz do diretório do código-fonte.
Faça o download da AWS CLI fonte bifurcando o AWS CLI GitHub repositório ou baixando o tarball de origem. As instruções são uma das seguintes opções:
-
Bifurque e clone o AWS CLI repositório
de. GitHub Para obter mais informações, consulte Bifurcar um repositório no GitHub Docs . -
Faça o download do tarball de origem mais recente em https://awscli.amazonaws.com/awscli.tar.gz
e extraia o conteúdo usando os seguintes comandos: $
curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz
$
tar -xzf awscli.tar.gz
nota
Para baixar uma versão específica, use o seguinte formato de link: https://awscli.amazonaws.com /awscli-
versionnumber
.tar.gzPor exemplo, para a versão 2.10.0, o link é o seguinte: /awscli- https://awscli.amazonaws.com
2.10.0
.tar.gzAs versões da fonte estão disponíveis a partir da versão 2.10.0 da AWS CLI.
(Opcional) Verificar a integridade do arquivo zip baixado ao realizar as seguintes etapas:
-
É possível usar as etapas a seguir para verificar as assinaturas usando a ferramenta
GnuPG
.Os
.zip
arquivos do pacote do AWS CLI instalador são assinados criptograficamente usando PGP assinaturas. Se houver qualquer dano ou alteração dos arquivos, ocorrerá uma falha nessa verificação e você não deverá prosseguir com a instalação. -
Baixe e instale o comando
gpg
usando o gerenciador de pacotes. Para obter mais informações sobre aGnuPG
, consulte o site da GnuPG. -
Para criar o arquivo de chave pública, crie um arquivo de texto e cole o texto a seguir.
-----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 tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA== =vYOk -----END PGP PUBLIC KEY BLOCK-----
Para referência, veja a seguir os detalhes da chave pública.
Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
-
Importe a chave AWS CLI pública com o seguinte comando, substituindo
public-key-file-name
com o nome do arquivo da chave pública que você criou.$
gpg --import
public-key-file-name
gpg: /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 -
Baixe o arquivo de AWS CLI assinatura do pacote que você baixou em https://awscli.amazonaws.com/awscli.tar.gz.sig.
Ele tem o mesmo caminho e nome do arquivo tarball ao qual ele corresponde, mas tem a extensão .sig
. Salve-o no mesmo caminho do arquivo tarball. Ou use o bloco de comandos a seguir:$
curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
-
Verifique a assinatura, passando os nomes dos arquivos
.sig
e.zip
baixados como parâmetros para o comandogpg
.$
gpg --verify awscliv2.sig awscli.tar.gz
A saída deve ser semelhante à seguinte.
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 475C
Importante
O aviso na saída é esperado e não indica um problema. Isso ocorre porque não há uma cadeia de confiança entre sua PGP chave pessoal (se você tiver uma) e a AWS CLI PGP chave. Para obter mais informações, consulte Web of trust
.
-
-
-
Você tem um ambiente que pode executar arquivos gerados pelo GNUAutotools
, como configure
e.Makefile
Esses arquivos são amplamente portáteis em todas POSIX as plataformas. -
Um intérprete Python 3.8 ou posterior é instalado. A versão mínima exigida do Python segue os mesmos cronogramas da política oficial de suporte e ferramentas do Python
. AWS SDKs Um intérprete só é suportado 6 meses após sua end-of-support data. -
(Opcional) Instale todas as dependências da biblioteca Python de compilação e execução da AWS CLI. O comando
./configure
informa se está faltando alguma dependência e como instalá-la.Você pode instalar e usar automaticamente essas dependências durante o processo de configuração. Consulte Download de dependências para obter mais informações.
Etapa 2: Configurar a instalação da AWS CLI pelo código-fonte
A configuração para criar e instalar o AWS CLI é especificada usando o configure
script. Para obter a documentação de todas as opções de configuração, execute o script configure
com a opção --help
:
As opções mais importantes são as seguintes:
Local de instalação
A instalação de origem do AWS CLI usa dois diretórios configuráveis para instalar o: AWS CLI
-
libdir
- Diretório principal onde o AWS CLI será instalado. O caminho para a AWS CLI instalação é
. O valor padrão de<libdir-value>
/aws-clilibdir
para Linux e macOS é/usr/local/lib
, o que faz com que o diretório de instalação padrão seja
./usr/local/lib
/aws-cli -
bindir
- Diretório onde os AWS CLI executáveis estão instalados. O local padrão é/usr/local/bin
.
As seguintes opções de configure
controlam os diretórios usados:
-
--prefix
: define o prefixo do diretório a ser usado na instalação. O valor padrão para Linux e macOS é/usr/local
. -
--libdir
: define olibdir
a ser usado para instalar a AWS CLI. O valor padrão é<prefix-value>/lib
. Se--libdir
e--prefix
não forem especificados, o padrão para Linux e macOS será/usr/local/lib/
. -
--bindir
- Define obindir
a ser usado para instalar os AWS CLIaws
aws_completer
executáveis e. O valor padrão é<prefix-value>/bin
. Sebindir
e--prefix
não forem especificados, o padrão para Linux e macOS será/usr/local/bin/
.
Intérprete Python
nota
É altamente recomendável especificar o intérprete Python durante a instalação para Windows.
O ./configure
script seleciona automaticamente um interpretador Python 3.8 ou posterior instalado para usar na criação e execução AWS CLI do usando a macro Autoconf. AM_PATH_PYTHON
O intérprete Python a ser usado pode ser definido explicitamente usando a variável de ambiente PYTHON
ao executar o script configure
:
Download de dependências
Por padrão, todas as dependências de compilação e de tempo de execução da AWS CLI
já devem estar instaladas no sistema. Isso inclui todas as dependências da biblioteca Python. Todas as dependências são verificadas quando o script configure
é executado; se o sistema não tiver uma das dependências do Python, o script configure
retornará um erro.
O seguinte exemplo de código retorna um erro quando o sistema não tem uma das dependências:
Para instalar automaticamente as dependências necessárias do Python, use a opção --with-download-deps
. Ao usar esse sinalizador, o processo de compilação faz o seguinte:
-
Ignora a verificação de dependências da biblioteca Python.
-
Define as configurações para baixar todas as dependências necessárias do Python e usar somente as dependências baixadas para compilá-las durante a compilação AWS CLI .
make
O seguinte exemplo de comando de configuração usa a opção --with-download-deps
para fazer download e usar as dependências do Python:
Tipo de instalação
O processo de instalação pelo código-fonte é compatível com os seguintes tipos de instalação:
-
system-sandbox
- (Padrão) Cria um ambiente virtual Python isolado, instala o AWS CLI no ambiente virtual e cria links simbólicos para oaws
aws_completer
executável no ambiente virtual. Essa instalação do AWS CLI depende diretamente do interpretador Python selecionado para seu tempo de execução.Esse é um mecanismo de instalação leve para AWS CLI instalá-lo em um sistema e segue as melhores práticas de Python ao colocar a instalação em sandbox em um ambiente virtual. Essa instalação é destinada a clientes que desejam instalar o AWS CLI do código-fonte da maneira mais simples possível com a instalação acoplada à sua instalação do Python.
-
portable-exe
- Congela o AWS CLI em um executável autônomo que pode ser distribuído para ambientes de arquiteturas semelhantes. Esse é o mesmo processo usado para gerar os executáveis oficiais predefinidos da AWS CLI. Oportable-exe
congela em uma cópia do intérprete Python escolhido na etapaconfigure
a ser usada para o tempo de execução da AWS CLI. Isso permite que ela seja movida para outras máquinas que podem não ter um intérprete Python.Esse tipo de compilação é útil porque você pode garantir que sua AWS CLI instalação não esteja acoplada à versão do Python instalada no ambiente e distribuir uma compilação para outro sistema que talvez ainda não tenha o Python instalado. Isso permite que você controle as dependências e a segurança nos AWS CLI executáveis que você usa.
Para configurar o tipo de instalação, use a opção --with-install-type
e especifique um valor de portable-exe
ou system-sandbox
.
O seguinte exemplo de comando ./configure
especifica um valor de portable-exe
:
Etapa 3: Compilar a AWS CLI
Use o make
comando para criar o AWS CLI usando suas configurações:
nota
Ao usar o comando make
, as seguintes etapas são concluídas em segundo plano:
-
Um ambiente virtual é criado no diretório de compilação usando o módulo
venv
do Python. O ambiente virtual é inicializado com uma versão do pip que é fornecida na biblioteca padrão do Python . -
Copia as dependências da biblioteca Python. Dependendo de o sinalizador
--with-download-deps
ter sido especificado ou não no comandoconfigure
, esta etapa executa uma das seguintes ações:-
O
--with-download-deps
é especificado. As dependências do Python são instaladas por pip. Isso incluiwheel
,setuptools
e todas as dependências de tempo de execução da AWS CLI . Se você estiver compilando oportable-exe
,pyinstaller
será instalado. Esses requisitos são todos especificados em arquivos de bloqueio gerados depip-compile
. -
O
--with-download-deps
não é especificado. As bibliotecas Python do pacote do site do intérprete Python e quaisquer scripts (por exemplo,pyinstaller
) são copiados para o ambiente virtual que está sendo usado para a compilação.
-
-
É executado
pip install
diretamente na AWS CLI base de código para fazer uma compilação offline e em árvore e instalar o AWS CLI no ambiente virtual de compilação. Essa instalação usa os sinalizadores pip -- no-build-isolation, in-tree-build --use-feature= , -- e. no-cache-dir --no-index
-
(Opcional) Se o
--install-type
estiver definido comoportable-exe
no comandoconfigure
, um executável independente é compilado usandopyinstaller
.
Etapa 4: Instalar a AWS CLI
O make install
comando instala sua AWS CLI compilação no local configurado no sistema.
A regra make install
é compatível com a variável DESTDIR
nota
Ao executar make install
, as seguintes etapas são concluídas em segundo plano:
-
Move um dos seguintes para o diretório de instalação configurado:
-
Se o tipo de instalação for
system-sandbox
, moverá o ambiente virtual compilado. -
Se o tipo de instalação for
portable-exe
, moverá o executável independente compilado.
-
-
Cria symlinks para os executáveis
aws
eaws_completer
no diretório bin configurado.
Etapa 5: Verificar a instalação da AWS CLI
Confirme a instalação AWS CLI bem-sucedida usando o seguinte comando:
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
Se o comando aws
não for reconhecido, poderá ser necessário reiniciar o terminal para que novos symlinks sejam atualizados. Se você encontrar problemas adicionais após instalar ou desinstalar o AWS CLI, consulte as etapas comuns Solução de problemas de erros para o AWS CLI de solução de problemas
Exemplos de fluxo de trabalho
Esta seção fornece alguns exemplos básicos de fluxo de trabalho para instalação usando o código-fonte.
Instalação básica em Linux e macOS
O exemplo a seguir é um fluxo de trabalho de instalação básico em AWS CLI que o é instalado no local padrão do/usr/local/lib/aws-cli
.
$
cd
path/to/cli/respository/
$
./configure
$
make
$
make install
Instalação automatizada em Windows
nota
Você deve executar PowerShell como administrador para usar esse fluxo de trabalho.
MSYS2pode ser usado de forma automatizada em uma configuração de CI, consulte Usando MSYS2 em CI
Contêiner do Alpine Linux
Abaixo está um exemplo de Dockerfile que pode ser usado para obter uma instalação funcional do AWS CLI em um contêiner Alpine Linux como alternativa aos binários pré-construídos para oAWSCLI_VERSION
com o número da AWS CLI versão desejada:
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"]
Essa imagem é criada e AWS CLI invocada a partir de um contêiner semelhante ao criado no Amazon Linux 2:
$
docker build --tag awscli-alpine .
$
docker run --rm -it awscli-alpine --version
aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off
O tamanho final dessa imagem é menor que o tamanho da imagem oficial do AWS CLI Docker. Para obter informações sobre a imagem do Docker oficial, consulte Executando as imagens oficiais do Amazon ECR Public ou Docker para o AWS CLI.
Solução de problemas de erros de AWS CLI instalação e desinstalação
Para obter as etapas de solução de problemas para erros de instalação comuns, consulte Solução de problemas de erros para o AWS CLI. Para obter os passos mais relevantes para a solução de problemas, consulte Erros de comando não encontrado, O comando “aws --version” retorna uma versão diferente da que você instalou e O comando "aws --version" retorna uma versão após a desinstalação do AWS CLI.
Para quaisquer problemas não abordados nos guias de solução de problemas, pesquise os problemas com o source-distribution
rótulo no AWS CLI
Repositório ativado GitHub
Próximas etapas
Depois de instalar o AWS CLI, você deve executar umConfigurando o AWS CLI.