Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Construir e instalar el AWS CLI desde la fuente
En este tema, se describe cómo instalar o actualizar desde el origen la última versión de la AWS Command Line Interface (AWS CLI) en sistemas operativos compatibles.
Para obtener información sobre las últimas versiones de AWS CLI, consulte el registro de cambios de la AWS CLI versión 2 en.
importante
AWS CLI las versiones 1 y 2 utilizan el mismo nombre de aws
comando. Si ya instaló la AWS CLI versión 1, consulteMigración de la AWS CLI versión 1 a la AWS CLI versión 2.
Temas
- ¿Por qué compilar desde el origen?
- Pasos rápidos
- Paso 1: configurar todos los requisitos
- Paso 2: configurar la instalación de origen de la AWS CLI
- Paso 3: compilar la AWS CLI
- Paso 4: instalar la AWS CLI
- Paso 5: verificar la instalación de AWS CLI
- Ejemplos de flujo de trabajo
- Solución de problemas de AWS CLI instalación y desinstalación
- Siguientes pasos
¿Por qué compilar desde el origen?
Están AWS CLI disponibles como instaladores prediseñados para la mayoría de las plataformas y entornos, así como una imagen de Docker.
Por lo general, estos instaladores ofrecen cobertura de la mayoría de los casos de uso. Las instrucciones de instalación desde el origen sirven para ayudar en los casos de uso que nuestros instaladores no cubren. A continuación, se indican algunos casos de uso:
-
Los instaladores prediseñados no son compatibles con su entorno. Por ejemplo, los ARM instaladores prediseñados no admiten 32 bits.
-
Los instaladores prediseñados tienen dependencias de las que carece su entorno. Por ejemplo, Alpine Linux usa
musl
, pero los instaladores actuales requieren glibc
, por lo que los instaladores prediseñados no funcionan inmediatamente. -
Los instaladores prediseñados requieren recursos a los que su entorno restringe el acceso. Por ejemplo, es posible que los sistemas con seguridad reforzada no concedan permisos a la memoria compartida. Esto es necesario para el instalador de
aws
congelado. -
Los instaladores prediseñados suelen ser un obstáculo para los mantenedores en los administradores de paquetes, ya que es preferible tener un control total del proceso de compilación del código y los paquetes. La creación a partir del código fuente permite a los responsables de la distribución un proceso más ágil para mantener la información actualizada. AWS CLI Habilitar a los mantenedores ofrece a los clientes más up-to-date versiones de AWS CLI cuando las instalan desde un administrador de paquetes de terceros, como, y.
brew
yum
apt
-
Los clientes que parchean AWS CLI la funcionalidad requieren compilar e instalar la funcionalidad AWS CLI desde el código fuente. Esto es especialmente importante para los miembros de la comunidad que desean probar los cambios que han realizado en la fuente antes de contribuir con el cambio al AWS CLI GitHub repositorio.
Pasos rápidos
nota
Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.
Para compilar e instalar el AWS CLI archivo desde el código fuente, sigue los pasos de esta sección. Utiliza GNUAutotools
-
Configure todos los requisitos de su entorno. Esto incluye poder ejecutar archivos generados por GNUAutotools
y tener instalado Python 3.8 o posterior. -
En su terminal, navegue hasta el nivel superior de la carpeta de AWS CLI origen y ejecute el
./configure
comando. Este comando comprueba si el sistema tiene todas las dependencias necesarias y genera unaMakefile
para compilarlas e instalarlas en AWS CLI función de las configuraciones detectadas y especificadas.Para obtener más información, las opciones de configuración disponibles y la información de configuración predeterminada, consulte la sección Paso 2: configurar la instalación de origen de la AWS CLI.
-
Ejecute el comando
make
. Este comando lo crea de AWS CLI acuerdo con sus ajustes de configuración.El siguiente comando
make
de ejemplo se compila con las opciones predeterminadas utilizando la configuración existente de./configure
.Para obtener más información y las opciones de compilación disponibles, consulte la sección Paso 3: compilar la AWS CLI.
-
Ejecute el comando
make install
. Este comando instala la AWS CLI compilada en la ubicación configurada del sistema.El siguiente comando
make install
de ejemplo instala la AWS CLI compilada y se crean los symlinks en las ubicaciones configuradas utilizando la configuración predeterminada del comando.Para obtener más información y conocer las opciones de instalación disponibles, consulte la sección Paso 4: instalar la AWS CLI.
-
Confirme que la instalación se AWS CLI ha realizado correctamente mediante el siguiente comando:
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
Para conocer los pasos de solución de problemas de los errores de instalación, consulte la sección Solución de problemas de AWS CLI instalación y desinstalación.
Paso 1: configurar todos los requisitos
Para compilarlo AWS CLI desde el código fuente, debe completar lo siguiente de antemano:
nota
Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.
Descarga la AWS CLI fuente bifurcando el AWS CLI GitHub repositorio o descargando el tarball fuente. Las instrucciones son una de las siguientes:
-
Bifurca y clona el AWS CLI repositorio
desde. GitHub Para obtener más información, consulta Bifurcar un repositorio en los GitHubdocumentos. -
Descarga el archivo tarball fuente más reciente en https://awscli.amazonaws.com/awscli.tar.gz
y extrae el contenido mediante los siguientes comandos: $
curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz
$
tar -xzf awscli.tar.gz
nota
Para descargar una versión específica, utilice el siguiente formato de enlace: https://awscli.amazonaws.com /awscli-
versionnumber
.tar.gzPor ejemplo, para la versión 2.10.0, el enlace es el siguiente: /awscli- https://awscli.amazonaws.com
2.10.0
.tar.gzLas versiones de origen están disponibles a partir de la versión 2.10.0 de la AWS CLI.
(Opcional) Verificación de la integridad del archivo zip descargado mediante los siguientes pasos
-
Puede seguir los pasos indicados a continuación para verificar las firmas con la herramienta
GnuPG
.Los
.zip
archivos del paquete del AWS CLI instalador se firman criptográficamente mediante firmas. PGP Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación. -
Descargue e instale el comando
gpg
usando su administrador de paquetes. Para obtener más información acerca deGnuPG
, consulte el sitio web de GnuPG. -
Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:
-----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-----
Como referencia, a continuación se indican los detalles de la clave 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 la clave AWS CLI pública con el siguiente comando, sustituyéndola
public-key-file-name
con el nombre de archivo de la clave pública que ha creado.$
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 -
Descargue el archivo de AWS CLI firma del paquete que descargó en https://awscli.amazonaws.com/awscli.tar.gz.sig
. Tiene la misma ruta y el mismo nombre que el archivo tarball al que corresponde, pero con la extensión .sig
. Guárdelo en la misma ruta que el archivo tarball. O utilice el siguiente bloque de comandos:$
curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
-
Verifique la firma pasando los nombres de archivo
.sig
y.zip
como parámetros al comandogpg
.$
gpg --verify awscliv2.sig awscli.tar.gz
El resultado de debería parecerse al siguiente.
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
Se espera la advertencia en la salida y ello no indica un problema. Se produce porque no hay una cadena de confianza entre su clave personal PGP (si la tiene) y la clave. AWS CLI PGP Para obtener más información, consulte Red de confianza
.
-
-
-
Dispone de un entorno en el que se pueden ejecutar archivos generados por GNUAutotools
, como configure
yMakefile
. Estos archivos son ampliamente portátiles entre POSIX plataformas. -
Se ha instalado un intérprete de Python 3.8 o una versión posterior. La versión mínima de Python requerida sigue los mismos plazos que la política oficial de soporte de Python para AWS SDKs y Herramientas
. Los intérpretes solo están disponibles 6 meses después de su end-of-support fecha. -
(Opcional) Instale todas las dependencias de compilación y ejecución de la biblioteca de Python de la AWS CLI. El comando
./configure
le informa si le falta alguna dependencia y cómo instalarla.Puede instalar y utilizar estas dependencias automáticamente mediante la configuración; consulte Descarga de dependencias para obtener más información.
Paso 2: configurar la instalación de origen de la AWS CLI
La configuración para compilar e instalar el AWS CLI se especifica mediante el configure
script. Para obtener la documentación de todas las opciones de configuración, ejecute el script configure
con la opción --help
:
Las opciones más importantes son las siguientes:
Ubicación de instalación
La instalación de origen AWS CLI utiliza dos directorios configurables para instalar AWS CLI:
-
libdir
- Directorio principal en el AWS CLI que se instalará. La ruta de acceso a la AWS CLI instalación es
. El valor predeterminado de<libdir-value>
/aws-clilibdir
para Linux y macOS es/usr/local/lib
, que crea el directorio de instalación predeterminado
./usr/local/lib
/aws-cli -
bindir
- Directorio donde están instalados los AWS CLI ejecutables. La ubicación predeterminada es/usr/local/bin
.
Las siguientes opciones de configure
controlan los directorios utilizados:
-
--prefix
: establece el prefijo del directorio que se utilizará para la instalación. El valor predeterminado para Linux y macOS es/usr/local
. -
--libdir
: establece ellibdir
que se utilizará para instalar la AWS CLI. El valor predeterminado es<prefix-value>/lib
. Si no se especifican--libdir
ni--prefix
, el valor predeterminado para Linux y macOS es/usr/local/lib/
. -
--bindir
- Establece elbindir
que se utilizará para instalar losaws_completer
ejecutables AWS CLIaws
y. El valor predeterminado es<prefix-value>/bin
. Si no se especificanbindir
ni--prefix
, el valor predeterminado para Linux y macOS es/usr/local/bin/
.
Intérprete de Python
nota
Se recomienda encarecidamente especificar el intérprete de Python al realizar la instalación para Windows.
El ./configure
script selecciona automáticamente un intérprete de Python 3.8 o posterior instalado para usarlo al crear y ejecutar la AWS CLI macro AM_PATH_PYTHON
El intérprete de Python que se utilice se puede configurar explícitamente mediante la variable de entorno PYTHON
al ejecutar el script configure
:
Descarga de dependencias
De forma predeterminada, se requiere que todas las dependencias de compilación y ejecución de la AWS CLI
estén instaladas ya en el sistema. Esto incluye cualquier dependencia de la biblioteca de Python. Todas las dependencias se comprueban cuando se ejecuta el script configure
y, si al sistema le falta alguna dependencia de Python, se produce un error en el script configure
.
El siguiente ejemplo de código genera un error cuando faltan dependencias en el sistema:
Para instalar automáticamente las dependencias de Python necesarias, utilice la opción --with-download-deps
. Al usar este indicador, el proceso de compilación hace lo siguiente:
-
Omite la comprobación de dependencias de la biblioteca de Python.
-
Configura los ajustes para descargar todas las dependencias de Python necesarias y usar solo las dependencias descargadas para compilarlas AWS CLI durante la compilación.
make
En el siguiente ejemplo del comando de configuración, se usa la opción --with-download-deps
para descargar y usar las dependencias de Python:
Tipo de instalación
El proceso de instalación de origen admite los siguientes tipos de instalación:
-
system-sandbox
- (Predeterminado) Crea un entorno virtual Python aislado, lo instala AWS CLI en el entorno virtual y enlaza simbólicamente con elaws
aws_completer
ejecutable del entorno virtual. Esta instalación de AWS CLI depende directamente del intérprete de Python seleccionado para su ejecución.Este es un mecanismo de instalación ligero para AWS CLI instalar la instalación en un sistema y sigue las mejores prácticas de Python al aislar la instalación en un entorno virtual. Esta instalación está destinada a los clientes que desean instalarlo AWS CLI desde el código fuente de la manera más sencilla posible con la instalación acoplada a la instalación de Python.
-
portable-exe
- Congela el archivo AWS CLI en un ejecutable independiente que se puede distribuir a entornos de arquitecturas similares. Es el mismo proceso que se utiliza para generar los ejecutables oficiales prediseñados de la AWS CLI. Laportable-exe
se congela en una copia del intérprete de Python elegido en el pasoconfigure
para usarlo para el tiempo de ejecución de la AWS CLI. Esto permite moverlo a otras máquinas que es posible que no tengan un intérprete de Python.Este tipo de compilaciones es útil porque puede asegurarse de que su AWS CLI instalación no esté acoplada a la versión de Python instalada en el entorno y puede distribuir una compilación a otro sistema que quizás no tenga Python instalado. Esto le permite controlar las dependencias y la seguridad de los AWS CLI ejecutables que utiliza.
Para configurar el tipo de instalación, utilice la opción --with-install-type
y especifique un valor de portable-exe
o system-sandbox
.
En el siguiente comando ./configure
de ejemplo, se especifica un valor de portable-exe
:
Paso 3: compilar la AWS CLI
Use el make
comando para compilarlo AWS CLI con sus ajustes de configuración:
nota
Al utilizar el comando make
, los siguientes pasos se realizan entre bastidores:
-
Se crea un entorno virtual en el directorio de compilación mediante el módulo
venv
de Python. El entorno virtual se inicia con una versión de pip que se suministra en la biblioteca estándar de Python . -
Se copian las dependencias de la biblioteca de Python. Dependiendo de si el indicador
--with-download-deps
está especificado en el comandoconfigure
, este paso realiza una de las siguientes acciones:-
Se especifica
--with-download-deps
. Las dependencias de Python se instalan con pip. Esto incluyewheel
,setuptools
y todas las dependencias en tiempo de ejecución de AWS CLI . Si está compilando elportable-exe
, se instalapyinstaller
. Todos estos requisitos se especifican en los archivos de bloqueo generados desdepip-compile
. -
No se especifica
--with-download-deps
. Las bibliotecas de Python del paquete del sitio del intérprete de Python más cualquier script (por ejemplo,pyinstaller
) se copian en el entorno virtual que se utiliza para la compilación.
-
-
Se ejecuta
pip install
directamente en el AWS CLI código base para realizar una compilación dentro del árbol sin conexión e instalarla AWS CLI en el entorno virtual de compilación. Esta instalación usa los indicadores pip --no-build-isolation , in-tree-build --use-feature=, -- y. no-cache-dir --no-index
-
(Opcional) Si la
--install-type
se establece enportable-exe
en el comandoconfigure
, compila un ejecutable independiente mediantepyinstaller
.
Paso 4: instalar la AWS CLI
El make install
comando instala la compilación en la ubicación configurada del sistema AWS CLI .
La regla make install
admite la variable DESTDIR
nota
Cuando se ejecuta make install
, se realizan los siguientes pasos entre bastidores
-
Se mueve uno de los siguientes elementos al directorio de instalación configurado:
-
Si el tipo de instalación es
system-sandbox
, se mueve el entorno virtual compilado. -
Si el tipo de instalación es un
portable-exe
, se mueve el ejecutable independiente compilado.
-
-
Crea symlinks tanto para los ejecutables
aws
yaws_completer
como para los ejecutables del directorio bin configurado.
Paso 5: verificar la instalación de AWS CLI
Confirme que la instalación se AWS CLI ha realizado correctamente mediante el siguiente comando:
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
Si no se reconoce el comando aws
, es posible que deba reiniciar el terminal para que se actualicen los nuevos symlink. Si encuentra problemas adicionales después de instalar o desinstalar el AWS CLI, consulte los pasos habituales Solución de errores para el AWS CLI de solución de problemas
Ejemplos de flujo de trabajo
En esta sección, se proporcionan algunos ejemplos básicos de flujos de trabajo básicos para la instalación desde el origen.
Instalación básica de Linux y macOS
El siguiente ejemplo es un flujo de trabajo de instalación básico en el AWS CLI que se instala en la ubicación predeterminada de/usr/local/lib/aws-cli
.
$
cd
path/to/cli/respository/
$
./configure
$
make
$
make install
Instalación automatizada de Windows
nota
Debe actuar PowerShell como administrador para utilizar este flujo de trabajo.
MSYS2se puede usar de forma automática en un entorno de CI; consulte Uso MSYS2 en CI
Contenedor de Alpine Linux
A continuación se muestra un ejemplo de Dockerfile que se puede utilizar para instalar correctamente AWS CLI en un contenedor Linux de Alpine como alternativa a los binarios prediseñados paraAWSCLI_VERSION
con el número de AWS CLI versión deseado:
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"]
Esta imagen se crea y se AWS CLI invoca desde un contenedor similar al que se crea en 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
El tamaño final de esta imagen es más pequeño que el tamaño de la imagen oficial de AWS CLI Docker. Para obtener información sobre la imagen de Docker oficial, consulte Ejecutar las imágenes oficiales de Amazon ECR Public o Docker para AWS CLI.
Solución de problemas de AWS CLI instalación y desinstalación
Para ver los pasos de solución de problemas relacionados con los errores de instalación, consulte Solución de errores para el AWS CLI para conocer los pasos de solución de problemas comunes. Para conocer los pasos más relevantes de la solución de problemas, consulte Errores de comando no encontrado, El comando "aws --version" devuelve una versión diferente a la instalada y El comando "aws --version" devuelve una versión tras desinstalar la AWS CLI.
Si hay algún problema que no se haya tratado en las guías de solución de problemas, busque los problemas con la source-distribution
etiqueta en el AWS CLI
Repositorio GitHub
Siguientes pasos
Después de instalar el AWS CLI, debe realizar un. Configuración del AWS CLI