

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.

# Administre el software de su instancia AL2
<a name="managing-software"></a>

La distribución base de Amazon Linux contiene paquetes de software y utilidades que son necesarios para las operaciones de servidor básicas.

Esta información se aplica a AL2. Para obtener más información AL2023, consulte [Administrar paquetes y actualizaciones del sistema operativo AL2023 en](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) la *Guía del usuario de Amazon Linux 2023*.

Es importante mantener el software actualizado. Muchos paquetes de una distribución Linux se actualizan con frecuencia para corregir errores, agregar características y protección frente a vulnerabilidades de seguridad. Para obtener más información, consulte [Actualiza el software de la instancia en tu AL2 instancia](install-updates.md).

De forma predeterminada, AL2 las instancias se lanzan con los siguientes repositorios habilitados:
+ `amzn2-core`
+ `amzn2extra-docker`

Si bien hay muchos paquetes disponibles en estos repositorios que se actualizan mediante AWS, es posible que desees instalar un paquete que esté contenido en otro repositorio. Para obtener más información, consulte [Agrega repositorios a una instancia AL2](add-repositories.md). Para obtener ayuda para buscar e instalar los paquetes en repositorios habilitados, consulte [Busque e instale paquetes de software en una AL2 instancia](find-install-software.md).

No todo el software está disponible en paquetes de software almacenados en repositorios; algún software debe compilarse en una instancia a partir del código fuente. Para obtener más información, consulte [Prepárese para compilar el software en una AL2 instancia](compile-software.md).

AL2 las instancias administran su software mediante el administrador de paquetes yum. El administrador de paquetes yum puede instalar, quitar y actualizar el software, así como administrar todas las dependencias de cada paquete.

**Topics**
+ [Actualiza el software de la instancia en tu AL2 instancia](install-updates.md)
+ [Agrega repositorios a una instancia AL2](add-repositories.md)
+ [Busque e instale paquetes de software en una AL2 instancia](find-install-software.md)
+ [Prepárese para compilar el software en una AL2 instancia](compile-software.md)

# Actualiza el software de la instancia en tu AL2 instancia
<a name="install-updates"></a>

Es importante mantener el software actualizado. Los paquetes de una distribución Linux se actualizan con frecuencia para corregir errores, agregar características y protección frente a vulnerabilidades de seguridad. Cuando inicia y se conecta por primera vez a una instancia de Amazon Linux, es posible que vea un mensaje que le pide que actualice los paquetes de software por cuestiones de seguridad. En esta sección se muestra cómo actualizar todo el sistema o solo un paquete.

Esta información se aplica a AL2. Para obtener más información AL2023, consulte [Administrar paquetes y actualizaciones del sistema operativo AL2023 en](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) la *Guía del usuario de Amazon Linux 2023*.

Para obtener información sobre los cambios y actualizaciones AL2, consulte las [notas AL2 de la versión](https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html).

Para obtener información sobre los cambios y actualizaciones de AL2023, consulte las [notas AL2023 de la versión](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html).

**importante**  
Si lanzó una instancia EC2 que utiliza una AMI de Amazon Linux 2 en una subred IPv6 exclusiva, debe conectarse a la instancia y ejecutarla. `sudo amazon-linux-https disable` Esto permite que la AL2 instancia se conecte al yum repositorio de S3 IPv6 mediante el servicio de parches http.

**Para actualizar todos los paquetes de una AL2 instancia**

1. (Opcional) Comience una sesión de **screen** en la ventana de shell Es posible que, en ocasiones, experimente una interrupción de red que desconecte la conexión SSH con la instancia. Si sucede durante una actualización de software prolongada, puede dejar la instancia en un estado recuperable, si bien confuso. Una sesión **screen** permite continuar ejecutando la actualización, aunque la conexión se interrumpa, y reconectarse a la sesión posteriormente sin problemas.

   1. Ejecute el comando **screen** para comenzar la sesión.

      ```
      [ec2-user ~]$ screen
      ```

   1. Si la sesión se desconecta, vuelva a iniciar sesión en la instancia y enumere las pantallas disponibles.

      ```
      [ec2-user ~]$ screen -ls
      There is a screen on:
      	17793.pts-0.ip-12-34-56-78	(Detached)
      1 Socket in /var/run/screen/S-ec2-user.
      ```

   1. Vuelva a conectarse a la pantalla usando el comando **screen -r** y el ID de proceso del comando anterior.

      ```
      [ec2-user ~]$ screen -r 17793
      ```

   1. Cuando haya terminado de utilizar **screen**, use el comando **exit** para cerrar la sesión.

      ```
      [ec2-user ~]$ exit
      [screen is terminating]
      ```

1. Ejecute el comando **yum update**. Opcionalmente, puede agregar la marca `--security` para aplicar las actualizaciones de seguridad únicamente.

   ```
   [ec2-user ~]$ sudo yum update
   ```

1. Revise los paquetes de la lista, escriba **y** y presione “Enter” (Ingresar) para aceptar las actualizaciones. La actualización de todos los paquetes de un sistema puede demorar varios minutos. La salida de **yum** muestra el estado de la actualización mientras se ejecuta.

1. (Opcional) [Reinicie la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html) para asegurarse de que está utilizando los paquetes y bibliotecas más recientes de la actualización; las actualizaciones del núcleo no se cargan hasta que se reinicie. Las actualizaciones de cualquier biblioteca `glibc` deben ir seguidas de un nuevo arranque. Para actualizar los paquetes que controlan servicios, puede ser suficiente con reiniciar los servicios y elegir las actualizaciones. Sin embargo, con un nuevo arranque del sistema, se asegurará de que se aplican todas las actualizaciones anteriores de los paquetes y las bibliotecas.

**Para actualizar un solo paquete de una AL2 instancia**

Siga este procedimiento para actualizar un único paquete (y sus dependencias) y no el sistema completo.

1. Ejecute el comando **yum update** con el nombre del paquete que desea actualizar.

   ```
   [ec2-user ~]$ sudo yum update openssl
   ```

1. Revise la información de los paquetes de la lista, escriba **y** y pulse “Enter” (Ingresar) para aceptar la actualización o las actualizaciones. En ocasiones se enumerará más de un paquete si hay dependencias que deban resolverse. La salida de **yum** muestra el estado de la actualización mientras se ejecuta.

1. (Opcional) [Reinicie la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html) para asegurarse de que está utilizando los paquetes y bibliotecas más recientes de la actualización; las actualizaciones del núcleo no se cargan hasta que se reinicie. Las actualizaciones de cualquier biblioteca `glibc` deben ir seguidas de un nuevo arranque. Para actualizar los paquetes que controlan servicios, puede ser suficiente con reiniciar los servicios y elegir las actualizaciones. Sin embargo, con un nuevo arranque del sistema, se asegurará de que se aplican todas las actualizaciones anteriores de los paquetes y las bibliotecas.

# Agrega repositorios a una instancia AL2
<a name="add-repositories"></a>

Esta información se aplica a. AL2 Para obtener información al respecto AL2023, consulte [Actualizaciones deterministas mediante repositorios versionados en AL2023 la Guía](https://docs.aws.amazon.com/linux/al2023/ug/deterministic-upgrades.html) del usuario de *Amazon Linux 2023.*

De forma predeterminada, AL2 las instancias se lanzan con los siguientes repositorios habilitados:
+ `amzn2-core`
+ `amzn2extra-docker`

Aunque hay muchos paquetes disponibles en estos repositorios que actualiza Amazon Web Services, es posible que desee instalar un paquete que se encuentra en otro repositorio.

Para instalar un paquete desde un repositorio diferente con **yum**, necesita agregar la información del repositorio al archivo `/etc/yum.conf` o a su propio archivo `repository.repo` en el directorio `/etc/yum.repos.d`. Puede hacerlo manualmente, pero la mayoría de los repositorios yum proporcionan un archivo `repository.repo` propio en la URL de repositorio.

**Para determinar los repositorios yum que ya están instalados**  
Enumere los repositorios yum instalados con el comando siguiente:

```
[ec2-user ~]$ yum repolist all
```

El resultado enumera los repositorios instalados e informa sobre el estado de cada uno. Los repositorios habilitados muestran el número de paquetes que contienen.

**Para agregar un repositorio yum a /etc/yum.repos.d**

1. Busque la ubicación del archivo `.repo`. Esta variará en función del repositorio que esté añadiendo. En este ejemplo, el archivo `.repo` se encuentra en `https://www.example.com/repository.repo`.

1. Añada el repositorio con el comando **yum-config-manager**.

   ```
   [ec2-user ~]$ sudo yum-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 **yum-config-manager** con la marca `--enable repository`. El comando siguiente habilita el repositorio Extra Packages for Enterprise Linux (EPEL) desde el proyecto Fedora. De manera predeterminada, este repositorio se encuentra en `/etc/yum.repos.d` en las instancias de Amazon Linux AMI, pero no está habilitado.

```
[ec2-user ~]$ sudo yum-config-manager --enable epel
```

Para obtener más información y descargar la última versión de este paquete, consulta [https://fedoraproject. org/wiki/EPEL](https://fedoraproject.org/wiki/EPEL).

# Busque e instale paquetes de software en una AL2 instancia
<a name="find-install-software"></a>

Puede utilizar una herramienta de administración de paquetes para buscar e instalar los paquetes de software. En Amazon Linux 2, la herramienta de administración de paquetes de software predeterminada esYUM. En AL2023, la herramienta de administración de paquetes de software predeterminada esDNF. Para obtener más información, consulte la [herramienta de administración de paquetes](https://docs.aws.amazon.com/linux/al2023/ug/package-management.html) en la *Guía del usuario de Amazon Linux 2023*.

## Busque paquetes de software en una AL2 instancia
<a name="find-software"></a>

Puede utilizar el comando **yum search** para buscar las descripciones de los paquetes que están disponibles en los repositorios configurados. Esto es de especial ayuda si desconoce el nombre exacto del paquete que quiere instalar. Simplemente anexe la búsqueda por palabras clave al comando; para búsquedas de varias palabras, incluya la consulta de búsqueda entre comillas.

```
[ec2-user ~]$ yum search "find"
```

A continuación, se muestra un ejemplo del resultado.

```
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
============================== N/S matched: find ===============================
findutils.x86_64 : The GNU versions of find utilities (find and xargs)
gedit-plugin-findinfiles.x86_64 : gedit findinfiles plugin
ocaml-findlib-devel.x86_64 : Development files for ocaml-findlib
perl-File-Find-Rule.noarch : Perl module implementing an alternative interface to File::Find
robotfindskitten.x86_64 : A game/zen simulation. You are robot. Your job is to find kitten.
mlocate.x86_64 : An utility for finding files by name
ocaml-findlib.x86_64 : Objective CAML package manager and build helper
perl-Devel-Cycle.noarch : Find memory cycles in objects
perl-Devel-EnforceEncapsulation.noarch : Find access violations to blessed objects
perl-File-Find-Rule-Perl.noarch : Common rules for searching for Perl things
perl-File-HomeDir.noarch : Find your home and other directories on any platform
perl-IPC-Cmd.noarch : Finding and running system commands made easy
perl-Perl-MinimumVersion.noarch : Find a minimum required version of perl for Perl code
texlive-xesearch.noarch : A string finder for XeTeX
valgrind.x86_64 : Tool for finding memory management bugs in programs
valgrind.i686 : Tool for finding memory management bugs in programs
```

Las consultas de búsqueda de varias palabras solo devuelven los resultados que coinciden exactamente con la consulta. Si no ve el paquete esperado, reduzca la búsqueda a un palabra clave y después revise los resultados. También puede probar con sinónimos de las palabras clave para ampliar la búsqueda.

Para obtener más información sobre los paquetes de AL2, consulta lo siguiente:
+ [AL2 Biblioteca de extras](al2-extras.md)
+ [Repositorio de paquetes](ec2.md#package-repository)

## Instala paquetes de software en una AL2 instancia
<a name="install-software"></a>

En AL2, la herramienta de administración de paquetes yum busca diferentes paquetes de software en todos los repositorios habilitados y gestiona cualquier dependencia del proceso de instalación del software. Para obtener información sobre la instalación de paquetes de software en AL2023, consulte [Administrar paquetes y actualizaciones del sistema operativo](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) en la *Guía del usuario de Amazon Linux 2023*.

**Para instalar un paquete de un repositorio**  
Utilice el **yum install *package*** comando y *package* sustitúyalo por el nombre del software que desee instalar. Por ejemplo, para instalar el navegador web basado en texto **links**, escriba el comando siguiente.

```
[ec2-user ~]$ sudo yum install links
```

**Para instalar los archivos de paquete RPM que ha descargado**  
También puede usar **yum install** para instalar los archivos del paquete RPM que ha descargado de Internet. Para ello, simplemente anexe el nombre de la ruta a un archivo RPM al comando de instalación en lugar de anexarlo al nombre de paquete del repositorio.

```
[ec2-user ~]$ sudo yum install my-package.rpm
```

**Para ver una lista de los paquetes instalados**  
Para ver una lista de los paquetes instalados en su instancia, utilice el siguiente comando.

```
[ec2-user ~]$ yum list installed
```

# Prepárese para compilar el software en una AL2 instancia
<a name="compile-software"></a>

Hay software de código abierto disponible en Internet que no está compilado previamente y que se puede descargar desde un repositorio de paquetes. Quizá al final descubra un paquete de software que tendrá que compilar usted mismo, a partir del código fuente. Para que su sistema pueda compilar software en AL2 Amazon Linux, debe instalar varias herramientas de desarrollo, como **make****gcc**, y**autoconf**.

Dado que la compilación de software no es una tarea que requiera cada instancia Amazon EC2, estas herramientas no se instalan de forma predeterminada, sino que están disponibles en un grupo de paquetes denominado “Development Tools” que se añade fácilmente a una instancia con el comando **yum groupinstall**.

```
[ec2-user ~]$ sudo yum groupinstall "Development Tools"
```

Los paquetes de código fuente del software suelen estar disponibles para su descarga (desde sitios web como [https://github.com/](https://github.com/)y [http://sourceforge.net/](https://sourceforge.net/)) en forma de un archivo comprimido, denominado tarball. Estos archivos tarballs tendrán normalmente la extensión de archivo `.tar.gz`. Puede descomprimirlos empleando el comando **tar**.

```
[ec2-user ~]$ tar -xzf software.tar.gz
```

Una vez descomprimido y desarchivado el paquete de código fuente, debe buscar un archivo `README` o `INSTALL` en el directorio de código fuente que puede proporcionarle más instrucciones sobre la compilación e instalación del código fuente. 

**Para recuperar el código fuente de los paquetes de Amazon Linux**  
Amazon Web Services proporciona el código fuente para los paquetes mantenidos. Puede descargar el código fuente de cualquier paquete instalado con el comando **yumdownloader --source**.

Ejecute el **yumdownloader --source *package*** comando para descargar el código fuente de*package*. Por ejemplo, para descargar el código fuente del paquete `htop`, escriba el comando siguiente.

```
[ec2-user ~]$ yumdownloader --source htop

Loaded plugins: priorities, update-motd, upgrade-helper
Enabling amzn-updates-source repository
Enabling amzn-main-source repository
amzn-main-source                                                                                              | 1.9 kB  00:00:00     
amzn-updates-source                                                                                           | 1.9 kB  00:00:00     
(1/2): amzn-updates-source/latest/primary_db                                                                  |  52 kB  00:00:00     
(2/2): amzn-main-source/latest/primary_db                                                                     | 734 kB  00:00:00     
htop-1.0.1-2.3.amzn1.src.rpm
```

El archivo RPM de origen se encuentra en el directorio desde el que ha ejecutado el comando.