# Mantener un sistema Linux actualizado de manera desatendida

- Link: https://binariocero.com/linux/mantener-un-sistema-linux-actualizado-de-manera-desatendida
- Published: 2024-05-31T13:04:35+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

Mantener un sistema Linux actualizado es crucial para garantizar la seguridad, estabilidad
y rendimiento del sistema. En entornos de producción, la actualización manual puede
ser un desafío debido a la necesidad de minimizar el tiempo de inactividad y la 
intervención humana. En este artículo, aprenderemos cómo automatizar el proceso 
de actualización de un sistema Linux utilizando una línea en el crontab del sistema
y los paquetes `unattended-upgrades` y `apt-listchanges`.

#### Configuración Inicial

Antes de proceder con la configuración del crontab, es necesario instalar los paquetes`
unattended-upgrades` y `apt-listchanges`. Estos paquetes permiten gestionar las 
actualizaciones de seguridad automáticamente y recibir notificaciones sobre los 
cambios más significativos.

##### Instalación de Paquetes

Abra una terminal y ejecute los siguientes comandos para instalar los paquetes necesarios:

    ```wp-block-preformatted
    sudo apt updatesudo apt install unattended-upgrades apt-listchanges
    ```

#### Configuración de `unattended-upgrades`

El paquete `unattended-upgrades` se configura para aplicar automáticamente las actualizaciones
de seguridad. La configuración predeterminada suele ser suficiente, pero puede ajustarse
según las necesidades específicas.

##### Habilitación de `unattended-upgrades`

Asegúrese de que el servicio de `unattended-upgrades` está habilitado y activo:

    ```wp-block-preformatted
    sudo dpkg-reconfigure --priority=low unattended-upgrades
    ```

##### Configuración Personalizada

El archivo de configuración principal para `unattended-upgrades` se encuentra en`/
etc/apt/apt.conf.d/50unattended-upgrades`. Puede editar este archivo para ajustar
los parámetros según sus necesidades, como permitir actualizaciones de paquetes 
específicos o ajustar la frecuencia de las actualizaciones.

#### Configuración de `apt-listchanges`

El paquete `apt-listchanges` permite revisar los cambios importantes antes de aplicar
las actualizaciones. Puede configurar este paquete para recibir notificaciones por
correo electrónico.

##### Configuración de `apt-listchanges`

Edite el archivo `/etc/apt/listchanges.conf` y ajuste los parámetros según sus necesidades.
Por ejemplo, puede configurar la dirección de correo electrónico a la que se enviarán
las notificaciones:

    ```wp-block-preformatted
    [apt]frontend=emailemail_address=rootconfirm=false
    ```

#### Automatización con Crontab

La automatización de las actualizaciones se puede lograr mediante la configuración
de una tarea programada en el crontab del sistema. A continuación, se muestra cómo
agregar una línea al crontab para ejecutar las actualizaciones automáticamente todos
los días a las 4:00 AM.

##### Edición del Crontab

Abra el crontab del sistema para edición:

    ```wp-block-preformatted
    sudo crontab -e
    ```

Agregue la siguiente línea al archivo del crontab:

    ```wp-block-preformatted
    0 4 * * * sh -c "apt -y update; apt -y dist-upgrade; apt -y autoremove; apt -y autoclean; apt -y clean"
    ```

##### Descripción de la Línea del Crontab

 * `0 4 * * *`: Este cron job está programado para ejecutarse todos los días a las
   4:00 AM.
 * `sh -c "apt -y update; apt -y dist-upgrade; apt -y autoremove; apt -y autoclean;
   apt -y clean"`: Este comando ejecuta una serie de comandos de `apt`:
    - `apt -y update`: Actualiza la lista de paquetes disponibles.
    - `apt -y dist-upgrade`: Actualiza todos los paquetes instalados a la última
      versión disponible.
    - `apt -y autoremove`: Elimina los paquetes que ya no son necesarios.
    - `apt -y autoclean`: Limpia los archivos de paquetes que ya no son necesarios.
    - `apt -y clean`: Elimina todos los archivos de paquetes descargados del caché
      local.

### Conclusión

Automatizar la actualización de un sistema Linux es una práctica esencial para mantener
la seguridad y estabilidad del sistema sin la necesidad de intervención manual constante.
Con la configuración adecuada del crontab y el uso de los paquetes `unattended-upgrades`
y `apt-listchanges`, es posible lograr un sistema que se actualiza de manera desatendida
y eficiente. Siguiendo estos pasos, podrá garantizar que su sistema Linux esté siempre
al día con las últimas mejoras y parches de seguridad.
