Gestione las actualizaciones de paquetes y sistemas operativos en AL2023 - Amazon Linux 2023

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.

Gestione las actualizaciones de paquetes y sistemas operativos en AL2023

A diferencia de las versiones anteriores de Amazon Linux, las AMI AL2023 están bloqueadas en una versión específica del repositorio de Amazon Linux. Para aplicar correcciones de seguridad y de errores a una instancia de AL2023, actualice la configuración de DNF. Como alternativa, lance una instancia de AL2023 más reciente.

En esta sección, se describe cómo administrar los paquetes DNF y los repositorios en una instancia en ejecución. También se describe cómo configurar DNF desde un script de datos de usuario para habilitar el último repositorio de Amazon Linux disponible en el momento del lanzamiento. Para obtener más información, consulte DNF Command Reference.

Comprobación de las actualizaciones de los paquetes disponibles

Puede usar el comando dnf check-update para comprobar si hay actualizaciones para su sistema. Para AL2023, recomendamos que agregue la opción --releasever=version-number al comando.

Al añadir esta opción, DNF también comprueba si hay actualizaciones para una versión posterior del repositorio. Por ejemplo, después de ejecutar el comando dnf check-update, utilice la última versión devuelta como valor para version-number.

Si la instancia se actualiza para usar la última versión del repositorio, el resultado incluye una lista de todos los paquetes que se van a actualizar.

nota

Si no especifica la versión de lanzamiento con el indicador opcional en el comando dnf check-update, sólo se marcará la versión del repositorio actualmente configurada. Esto significa que no se han comprobado los paquetes de la versión posterior del repositorio.

$ sudo dnf check-update --releasever=2023.0.20230210 Last metadata expiration check: 0:06:13 ago on Mon 13 Feb 2023 10:39:32 PM UTC. bind-libs.x86_64 32:9.16.27-1.amzn2023 amazonlinux bind-license.noarch 32:9.16.27-1.amzn2023 amazonlinux bind-utils.x86_64 32:9.16.27-1.amzn2023 amazonlinux cloud-init.noarch 22.2.2-1.amzn2023.1.4 amazonlinux dnf.noarch 4.12.0-2.amzn2023.0.1 amazonlinux dnf-data.noarch 4.12.0-2.amzn2023.0.1 amazonlinux dracut.x86_64 055-6.amzn2023.0.4 amazonlinux dracut-config-generic.x86_64 055-6.amzn2023.0.4 amazonlinux glib2.x86_64 2.73.2-678.amzn2023 amazonlinux gmp.x86_64 1:6.2.1-2.amzn2023 amazonlinux grep.x86_64 3.8-1.amzn2023.0.1 amazonlinux kpatch-runtime.noarch 0.9.4-7.amzn2023 amazonlinux libgcc.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux libgomp.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux libpkgconf.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux libstdc++.x86_64 11.3.1-2.amzn2023.0.6 amazonlinux lz4-libs.x86_64 1.9.4-1.amzn2023 amazonlinux pkgconf.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux pkgconf-m4.noarch 1.7.3-7.amzn2023.0.1 amazonlinux pkgconf-pkg-config.x86_64 1.7.3-7.amzn2023.0.1 amazonlinux python3-dnf.noarch 4.12.0-2.amzn2023.0.1 amazonlinux python3-rpm.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-build-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-plugin-selinux.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-plugin-systemd-inhibit.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux rpm-sign-libs.x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux slang.x86_64 2.3.2-9.amzn2023.0.1 amazonlinux system-release.noarch 2023.0.20230210-0.amzn2023 amazonlinux systemd.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-libs.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-networkd.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-pam.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-resolved.x86_64 250.8-1.amzn2023.0.1 amazonlinux systemd-udev.x86_64 250.8-1.amzn2023.0.1 amazonlinux vim-common.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-data.noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-enhanced.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-filesystem.noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux vim-minimal.x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux wget.x86_64 1.21.3-1.amzn2023 amazonlinux yum.noarch 4.12.0-2.amzn2023.0.1 amazonlinux

Para este comando, si hay paquetes más recientes disponibles, el código de retorno es 100. Si no hay paquetes más recientes disponibles, el código de retorno es 0. Además, el resultado también muestra todos los paquetes que se van a actualizar.

Aplicación de actualizaciones de seguridad mediante DNF y las versiones de repositorio

Las nuevas actualizaciones de paquetes y de seguridad sólo están disponibles para las nuevas versiones del repositorio. En el caso de las instancias que ha lanzado desde versiones anteriores de la AMI de AL2023, debe actualizar la versión del repositorio antes de poder instalar las actualizaciones de seguridad. El comando dnf check-release-update incluye un ejemplo de comando de actualización que actualiza todos los paquetes instalados en el sistema a versiones de un repositorio más reciente.

$ sudo dnf update --releasever=2023.0.20230210 Last metadata expiration check: 0:01:40 ago on Mon 13 Feb 2023 10:39:32 PM UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: bind-libs x86_64 32:9.16.27-1.amzn2023 amazonlinux 1.2 M bind-license noarch 32:9.16.27-1.amzn2023 amazonlinux 16 k bind-utils x86_64 32:9.16.27-1.amzn2023 amazonlinux 202 k cloud-init noarch 22.2.2-1.amzn2023.1.4 amazonlinux 1.1 M dnf noarch 4.12.0-2.amzn2023.0.1 amazonlinux 454 k dnf-data noarch 4.12.0-2.amzn2023.0.1 amazonlinux 42 k dracut x86_64 055-6.amzn2023.0.4 amazonlinux 345 k dracut-config-generic x86_64 055-6.amzn2023.0.4 amazonlinux 8.5 k glib2 x86_64 2.73.2-678.amzn2023 amazonlinux 2.7 M gmp x86_64 1:6.2.1-2.amzn2023 amazonlinux 324 k grep x86_64 3.8-1.amzn2023.0.1 amazonlinux 316 k kpatch-runtime noarch 0.9.4-7.amzn2023 amazonlinux 30 k libgcc x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 121 k libgomp x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 296 k libpkgconf x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 37 k libstdc++ x86_64 11.3.1-2.amzn2023.0.6 amazonlinux 758 k lz4-libs x86_64 1.9.4-1.amzn2023 amazonlinux 81 k pkgconf x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 41 k pkgconf-m4 noarch 1.7.3-7.amzn2023.0.1 amazonlinux 15 k pkgconf-pkg-config x86_64 1.7.3-7.amzn2023.0.1 amazonlinux 11 k python3-dnf noarch 4.12.0-2.amzn2023.0.1 amazonlinux 415 k python3-rpm x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 89 k rpm x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 487 k rpm-build-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 92 k rpm-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 311 k rpm-plugin-selinux x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 18 k rpm-plugin-systemd-inhibit x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 19 k rpm-sign-libs x86_64 4.16.1.3-12.amzn2023.0.2 amazonlinux 22 k slang x86_64 2.3.2-9.amzn2023.0.1 amazonlinux 410 k system-release noarch 2023.0.20230210-0.amzn2023 amazonlinux 25 k systemd x86_64 250.8-1.amzn2023.0.1 amazonlinux 4.2 M systemd-libs x86_64 250.8-1.amzn2023.0.1 amazonlinux 615 k systemd-networkd x86_64 250.8-1.amzn2023.0.1 amazonlinux 614 k systemd-pam x86_64 250.8-1.amzn2023.0.1 amazonlinux 335 k systemd-resolved x86_64 250.8-1.amzn2023.0.1 amazonlinux 277 k systemd-udev x86_64 250.8-1.amzn2023.0.1 amazonlinux 1.9 M vim-common x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 7.2 M vim-data noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 27 k vim-enhanced x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 1.8 M vim-filesystem noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 21 k vim-minimal x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 764 k wget x86_64 1.21.3-1.amzn2023 amazonlinux 813 k yum noarch 4.12.0-2.amzn2023.0.1 amazonlinux 39 k Transaction Summary ================================================================================ Upgrade 43 Packages ...

Puede agregar la opción --security para actualizar los paquetes únicamente con características de seguridad.

$ sudo dnf update --releasever=2023.0.20230210 --security Amazon Linux 2023 repository 18 MB/s | 11 MB 00:00 Last metadata expiration check: 0:00:02 ago on Mon 13 Feb 2023 10:39:32 PM UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: bind-libs x86_64 32:9.16.27-1.amzn2023 amazonlinux 1.2 M bind-license noarch 32:9.16.27-1.amzn2023 amazonlinux 16 k bind-utils x86_64 32:9.16.27-1.amzn2023 amazonlinux 202 k gmp x86_64 1:6.2.1-2.amzn2023 amazonlinux 324 k lz4-libs x86_64 1.9.4-1.amzn2023 amazonlinux 81 k vim-common x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 7.2 M vim-data noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 27 k vim-enhanced x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 1.8 M vim-filesystem noarch 2:9.0.327-1.amzn2023.0.1 amazonlinux 21 k vim-minimal x86_64 2:9.0.327-1.amzn2023.0.1 amazonlinux 764 k wget x86_64 1.21.3-1.amzn2023 amazonlinux 813 k Transaction Summary ================================================================================ Upgrade 11 Packages ...

Para detectar las versiones del paquete de AL2023, realice una o varias de las siguientes acciones:

  • Ejecute el comando dnf check-update.

  • Suscríbase al tema SNS sobre la actualización del repositorio de Amazon Linux (arn:aws:sns:us-east-1:137112412989:amazon-linux-2023-ami-updates). Para obtener más información, consulte Suscripción a un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

  • Consulte periódicamente las notas de la versión de AL2023.

importante

Cuando apliques actualizaciones de seguridad a una instancia en ejecución, asegúrate de que DNF apunte a la versión más reciente del repositorio.

Reinicio automático del servicio tras las actualizaciones (de seguridad)

Amazon Linux ahora incluye el paquete smart-restart. Smart-restartreinicia los servicios de systemd en las actualizaciones del sistema cada vez que se instala o elimina un paquete mediante el administrador de paquetes del sistema. Esto ocurre siempre que dnf (update|upgrade|downgrade) se ejecuta.

Smart-restartutiliza el needs-restarting paquete de origen dnf-utils y un mecanismo de registro de denegación personalizado para determinar qué servicios deben reiniciarse y si es aconsejable reiniciar el sistema. Si se recomienda reiniciar el sistema, se genera un archivo de sugerencias de reinicio (). /run/smart-restart/reboot-hint-marker

Para instalar smart-restart

Ejecute el siguiente DNF comando (como lo haría con cualquier otro paquete).

$ sudo dnf install smart-restart

Tras la instalación, las transacciones subsiguientes activarán la smart-restart lógica.

Lista de negacionistas

Smart-restartpuede recibir instrucciones para bloquear el reinicio de ciertos servicios. Los servicios bloqueados no contribuirán a decidir si es necesario reiniciar el sistema. Para bloquear servicios adicionales, añada un archivo con el sufijo-denylist, tal y /etc/smart-restart-conf.d/ como se muestra en el siguiente ejemplo.

$ cat /etc/smart-restart-conf.d/custom-denylist # Some comments myservice.service
nota

Todos los *-denylist archivos se leen y evalúan al decidir si es necesario reiniciar el equipo.

Ganchos personalizados

Además de denylisting, smart-restart proporciona un mecanismo para ejecutar scripts personalizados antes y después de intentar reiniciar el servicio. Los scripts personalizados se pueden usar para realizar manualmente los pasos de preparación o para informar a otros componentes de un reinicio pendiente o completado.

Todos los scripts /etc/smart-restart-conf.d/ llevan el sufijo -pre-restart o -post-restart se ejecutan. Si el orden es importante, anteponga un número a todos los scripts para garantizar el orden de ejecución, como se muestra en el siguiente ejemplo.

$ ls /etc/smart-restart-conf.d/*-pre-restart 001-my-script-pre-restart 002-some-other-script-pre-restart

Lanzamiento de una instancia con la última versión del repositorio habilitada

Puede agregar comandos DNF a un script de datos de usuario para controlar qué paquetes RPM se instalan en una AMI de Amazon Linux cuando se lanza. En el siguiente ejemplo, se utiliza un script de datos de usuario para garantizar que cualquier instancia lanzada con el script de datos de usuario tenga instaladas las mismas actualizaciones de paquetes.

#!/bin/bash dnf update --releasever=2023.0.20230210 # Additional setup and install commands below dnf install httpd php7.4 mysql80

Debe ejecutar este script como superusuario (raíz). Para ello, ejecute el siguiente comando.

$ sudo sh -c "bash nameofscript.sh"

Para obtener más información, consulte Datos de usuario y scripts de shell en la Guía del usuario de Amazon EC2.

nota

En lugar de utilizar un script de datos de usuario, lance la última AMI de Amazon Linux o una AMI personalizada basada en la AMI de Amazon Linux. La AMI más reciente de Amazon Linux tiene todas las actualizaciones necesarias instaladas y está configurada para apuntar a una versión de repositorio concreta.

Obtener información de soporte del paquete

AL2023 incorpora muchos proyectos diferentes de software de código abierto. Cada uno de estos proyectos se gestiona de forma independiente de Amazon Linux y tienen versiones y end-of-support cronogramas diferentes. Para proporcionarle información específica de Amazon Linux sobre estos diferentes paquetes, el complemento DNF supportinfo proporciona metadatos sobre cada paquete. En el siguiente ejemplo, el dnf supportinfocomando devuelve los metadatos glibc del paquete.

$ sudo dnf supportinfo --pkg glibc Last metadata expiration check: 0:07:56 ago on Wed Mar 1 23:21:49 2023. Name : glibc Version : 2.34-52.amzn2023.0.2 State : installed Support Status : supported Support Periods : from 2023-03-15 : supported : from 2028-03-15 : unsupported Support Statement : Amazon Linux 2023 End Of Life Link : https://aws.amazon.com/amazon-linux-ami/faqs/ Other Info : This is the support statement for AL2023. The ...: end of life of Amazon Linux 2023 would be March 2028. ...: From this point, the Amazon Linux 2023 packages (listed ...: below) will no longer, receive any updates from AWS.

Comprobación de las versiones más recientes del repositorio

En una instancia de AL2023, puede usar la utilidad DNF para administrar los repositorios y aplicar los paquetes de RPM actualizados. Estos paquetes están disponibles en los repositorios de Amazon Linux. Puede usar el comando DNF dnf check-release-update para comprobar si hay nuevas versiones del repositorio DNF.

$ sudo dnf check-release-update WARNING: A newer release of "Amazon Linux" is available. Available Versions: Version 2023.0.20230210: Run the following command to update to 2023.0.20230210: dnf update --releasever=2023.0.20230210 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html

Esto devuelve una lista completa de todas las versiones más recientes de los repositorios DNF que están disponibles. Si no se devuelve nada, significa que DNF está configurado actualmente para usar la última versión disponible. La versión del paquete system-release actualmente instalado establece la variable releasever DNF. Para comprobar la versión actual del repositorio, ejecute el siguiente comando.

$ rpm -q system-release --qf "%{VERSION}\n"

Cuando ejecuta transacciones de paquetes DNF (como comandos de instalación, actualización o eliminación), un mensaje de advertencia avisa de cualquier nueva versión del repositorio. Por ejemplo, si instala el paquete httpd en una instancia que se lanzó desde una versión anterior de AL2023, se obtiene el siguiente resultado.

$ sudo dnf install httpd -y Last metadata expiration check: 0:16:52 ago on Wed Mar 1 23:21:49 2023. Dependencies resolved. ==================================================================== Package Arch Version Repository Size ==================================================================== Installing: httpd x86_64 2.4.54-3.amzn2023.0.4 amazonlinux 46 k Installing dependencies: apr x86_64 1.7.2-2.amzn2023.0.2 amazonlinux 129 k apr-util x86_64 1.6.3-1.amzn2023.0.1 amazonlinux 98 k generic-logos-httpd noarch 18.0.0-12.amzn2023.0.3 amazonlinux 19 k httpd-core x86_64 2.4.54-3.amzn2023.0.4 amazonlinux 1.3 M httpd-filesystem noarch 2.4.54-3.amzn2023.0.4 amazonlinux 13 k httpd-tools x86_64 2.4.54-3.amzn2023.0.4 amazonlinux 80 k libbrotli x86_64 1.0.9-4.amzn2023.0.2 amazonlinux 315 k mailcap noarch 2.1.49-3.amzn2023.0.3 amazonlinux 33 k Installing weak dependencies: apr-util-openssl x86_64 1.6.3-1.amzn2023.0.1 amazonlinux 17 k mod_http2 x86_64 1.15.24-1.amzn2023.0.3 amazonlinux 152 k mod_lua x86_64 2.4.54-3.amzn2023.0.4 amazonlinux 60 k Transaction Summary ==================================================================== Install 12 Packages Total download size: 2.3 M Installed size: 6.8 M Downloading Packages: (1/12): apr-util-openssl-1.6.3-1.am 212 kB/s | 17 kB 00:00 (2/12): apr-1.7.2-2.amzn2023.0.2.x8 1.1 MB/s | 129 kB 00:00 (3/12): httpd-core-2.4.54-3.amzn202 8.9 MB/s | 1.3 MB 00:00 (4/12): mod_http2-1.15.24-1.amzn202 1.9 MB/s | 152 kB 00:00 (5/12): apr-util-1.6.3-1.amzn2023.0 1.7 MB/s | 98 kB 00:00 (6/12): mod_lua-2.4.54-3.amzn2023.0 1.4 MB/s | 60 kB 00:00 (7/12): httpd-2.4.54-3.amzn2023.0.4 1.5 MB/s | 46 kB 00:00 (8/12): libbrotli-1.0.9-4.amzn2023. 4.4 MB/s | 315 kB 00:00 (9/12): mailcap-2.1.49-3.amzn2023.0 753 kB/s | 33 kB 00:00 (10/12): httpd-tools-2.4.54-3.amzn2 978 kB/s | 80 kB 00:00 (11/12): httpd-filesystem-2.4.54-3. 210 kB/s | 13 kB 00:00 (12/12): generic-logos-httpd-18.0.0 439 kB/s | 19 kB 00:00 -------------------------------------------------------------------- Total 6.6 MB/s | 2.3 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : apr-1.7.2-2.amzn2023.0.2.x86_64 1/12 Installing : apr-util-openssl-1.6.3-1.amzn2023.0.1. 2/12 Installing : apr-util-1.6.3-1.amzn2023.0.1.x86_64 3/12 Installing : mailcap-2.1.49-3.amzn2023.0.3.noarch 4/12 Installing : httpd-tools-2.4.54-3.amzn2023.0.4.x86_ 5/12 Installing : generic-logos-httpd-18.0.0-12.amzn2023 6/12 Running scriptlet: httpd-filesystem-2.4.54-3.amzn2023.0.4 7/12 Installing : httpd-filesystem-2.4.54-3.amzn2023.0.4 7/12 Installing : httpd-core-2.4.54-3.amzn2023.0.4.x86_6 8/12 Installing : mod_http2-1.15.24-1.amzn2023.0.3.x86_6 9/12 Installing : libbrotli-1.0.9-4.amzn2023.0.2.x86_64 10/12 Installing : mod_lua-2.4.54-3.amzn2023.0.4.x86_64 11/12 Installing : httpd-2.4.54-3.amzn2023.0.4.x86_64 12/12 Running scriptlet: httpd-2.4.54-3.amzn2023.0.4.x86_64 12/12 Verifying : apr-1.7.2-2.amzn2023.0.2.x86_64 1/12 Verifying : apr-util-openssl-1.6.3-1.amzn2023.0.1. 2/12 Verifying : httpd-core-2.4.54-3.amzn2023.0.4.x86_6 3/12 Verifying : mod_http2-1.15.24-1.amzn2023.0.3.x86_6 4/12 Verifying : apr-util-1.6.3-1.amzn2023.0.1.x86_64 5/12 Verifying : mod_lua-2.4.54-3.amzn2023.0.4.x86_64 6/12 Verifying : libbrotli-1.0.9-4.amzn2023.0.2.x86_64 7/12 Verifying : httpd-2.4.54-3.amzn2023.0.4.x86_64 8/12 Verifying : httpd-tools-2.4.54-3.amzn2023.0.4.x86_ 9/12 Verifying : mailcap-2.1.49-3.amzn2023.0.3.noarch 10/12 Verifying : httpd-filesystem-2.4.54-3.amzn2023.0.4 11/12 Verifying : generic-logos-httpd-18.0.0-12.amzn2023 12/12 Installed: apr-1.7.2-2.amzn2023.0.2.x86_64 apr-util-1.6.3-1.amzn2023.0.1.x86_64 apr-util-openssl-1.6.3-1.amzn2023.0.1.x86_64 generic-logos-httpd-18.0.0-12.amzn2023.0.3.noarch httpd-2.4.54-3.amzn2023.0.4.x86_64 httpd-core-2.4.54-3.amzn2023.0.4.x86_64 httpd-filesystem-2.4.54-3.amzn2023.0.4.noarch httpd-tools-2.4.54-3.amzn2023.0.4.x86_64 libbrotli-1.0.9-4.amzn2023.0.2.x86_64 mailcap-2.1.49-3.amzn2023.0.3.noarch mod_http2-1.15.24-1.amzn2023.0.3.x86_64 mod_lua-2.4.54-3.amzn2023.0.4.x86_64 Complete!

Inclusión, habilitación y deshabilitación de nuevos repositorios

Para instalar un paquete desde un repositorio diferente con el sistema de administración de paquetes DNF, agregue la información del repositorio al archivo /etc/dnf/dnf.conf o a su propio archivo repository.repo en el directorio /etc/yum.repos.d. Puede hacerlo manualmente. Sin embargo, la mayoría de los repositorios de DNF proporcionan un archivo repository.repo propio en la URL de repositorio.

nota

En este momento, no hay repositorios adicionales que se puedan añadir a AL2023. Sin embargo, esto puede cambiar en el futuro. Además, puede escribir sus propios paquetes y ponerlos a disposición de su entorno empresarial de AL2023. Antes de poder usar los paquetes, debe agregar y habilitar el repositorio en el que se almacenan los paquetes.

Para saber qué repositorios están habilitados actualmente, puede ejecutar el siguiente comando:

$ dnf repolist all --verbose Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, release-notification, repoclosure, repodiff, repograph, repomanage, reposync, supportinfo DNF version: 4.12.0 cachedir: /var/cache/dnf Last metadata expiration check: 0:00:02 ago on Wed Mar 1 23:40:15 2023. Repo-id : amazonlinux Repo-name : Amazon Linux 2023 repository Repo-status : enabled Repo-revision : 1677203368 Repo-updated : Fri Feb 24 01:49:28 2023 Repo-pkgs : 12632 Repo-available-pkgs: 12632 Repo-size : 12 G Repo-mirrors : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/x86_64/mirror.list Repo-baseurl : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/guids/cf9296325a6c46ff40c775a8e2d632c4c3fd9d9164014ce3304715d61b90ca8e/x86_64/ : (0 more) Repo-expire : 172800 second(s) (last: Wed Mar 1 23:40:15 : 2023) Repo-filename : /etc/yum.repos.d/amazonlinux.repo Repo-id : amazonlinux-debuginfo Repo-name : Amazon Linux 2023 repository - Debug Repo-status : disabled Repo-mirrors : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/debuginfo/x86_64/mirror.list Repo-expire : 21600 second(s) (last: unknown) Repo-filename : /etc/yum.repos.d/amazonlinux.repo Repo-id : amazonlinux-source Repo-name : Amazon Linux 2023 repository - Source packages Repo-status : disabled Repo-mirrors : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/core/mirrors/2023.0.20230222/SRPMS/mirror.list Repo-expire : 21600 second(s) (last: unknown) Repo-filename : /etc/yum.repos.d/amazonlinux.repo Repo-id : kernel-livepatch Repo-name : Amazon Linux 2023 Kernel Livepatch repository Repo-status : disabled Repo-mirrors : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/x86_64/mirror.list Repo-expire : 172800 second(s) (last: unknown) Repo-filename : /etc/yum.repos.d/kernel-livepatch.repo Repo-id : kernel-livepatch-source Repo-name : Amazon Linux 2023 Kernel Livepatch repository - : Source packages Repo-status : disabled Repo-mirrors : https://al2023-repos-us-west-2-de612dc2.s3.dualstack.us-west-2.amazonaws.com/kernel-livepatch/mirrors/al2023/SRPMS/mirror.list Repo-expire : 21600 second(s) (last: unknown) Repo-filename : /etc/yum.repos.d/kernel-livepatch.repo Total packages: 12632
nota

Si no agregase el indicador de la opción --verbose, la salida sólo incluirá la información Repo-id, Repo-name y Repo-status.

Para añadir un repositorio yum al directorio /etc/yum.repos.d:

  1. Busque la ubicación del archivo .repo. En este ejemplo, el archivo .repo se encuentra en https://www.example.com/repository.repo.

  2. Añada el repositorio con el comando dnf config-manager.

$ sudo dnf config-manager --add-repo https://www.example.com/repository.repo Loaded plugins: priorities, update-motd, upgrade-helper adding repo from: https://www.example.com/repository.repo grabbing file https://www.example.com/repository.repo to /etc/yum.repos.d/repository.repo repository.repo | 4.0 kB 00:00 repo saved to /etc/yum.repos.d/repository.repo

Después de instalar un repositorio, debe habilitarlo como se describe en el procedimiento siguiente.

Para habilitar un repositorio yum en /etc/yum.repos.d, utilice el comando dnf config-manager con la marca --enable y el nombre del repositorio.

$ sudo dnf config-manager --enable repository
nota

Para deshabilitar un repositorio, utilice la misma sintaxis de comando, pero sustituya --enable por --disable en el comando.

Inclusión de repositorios con cloud-init

Además de añadir un repositorio mediante el método anterior, también puede añadir un repositorio nuevo mediante el marco cloud-init.

Para añadir un repositorio de paquetes nuevo, se recomienda utilizar la siguiente plantilla. Considere la posibilidad de guardar este archivo localmente.

#cloud-config yum_repos: repository.repo: baseurl: https://www.example.com/ enabled: true gpgcheck: true gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE name: Example Repository
nota

Una de las ventajas de usar cloud-init es que puede añadir una sección packages: al archivo de configuración. En esta sección, puede incluir los nombres de los paquetes que desee instalar. Puede instalar los paquetes desde el repositorio predeterminado o desde el repositorio nuevo que agregó al archivo cloud-config.

Para obtener información más específica sobre la estructura del archivo YAML, consulte Adding a YUM repository en la documentacióncloud-init.

Después de configurar el archivo de formato YAML, puede ejecutarlo en el marco cloud-init de la AWS CLI. Asegúrese de incluir la opción --userdata y el nombre del archivo .yml para llamar las operaciones que desee.

$ aws ec2 run-instances \ --image-id \ resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 \ --instance-type m5.xlarge \ --region us-east-1 \ --key-name aws-key-us-east-1 \ --security-group-ids sg-004a7650 \ --user-data file://cloud-config.yml