¿Por qué se necesita dnf-makecache.timer?

¿Por qué se necesita dnf-makecache.timer?

En systemd (CentOS8) noté dnfque aparecían mensajes emergentes en los registros ( /var/log/messages) incluso después de que lo hice dnf remove dnf-automatic. Descubrí un temporizador funcionando ( systemctl list-unit-files --type=timer) para dnf-makecache.timer.

Lo mejor que pude encontrar en línea es que dnf-makecache "actualiza Repo Caches". Bien, pero ¿qué significa eso realmente? ¿Por qué es necesario actualizar los cachés de repositorio cada hora? ¿No sucedería esto de todos modos si se usa la actualización manualmente con dnf update?

¿ dnf updateFallará o no obtendrá las versiones más recientes si dnf-makecacheno se ha actualizado? ¿O es algo que complementa dnf-automaticy no es necesario si no se usa automático? En mi opinión: si ese es el caso, debería haberse eliminado cuando dnf-automaticse eliminó.

¿Desventajas/desventajas de desactivar este temporizador con systemctl disable dnf-makecache.timery systemctl stop dnf-makecache.timer?

Respuesta1

Bien, pero ¿qué significa eso realmente?

Significa que el índice remoto de paquetes se descarga en la caché de archivos local para acelerar dnflos comandos posteriores.

¿Por qué es necesario actualizar los cachés de repositorio cada hora?

Esto se hace por conveniencia y aceleración del dnfcomando. Cada vez que ejecuta, por ejemplo, dnf installun comando, debe tener metadatos "nuevos" para los repositorios. Sin él, hay muchas posibilidades de tener que esperar a que se actualicen los metadatos cuando ejecuta dnfcomandos de forma interactiva.

Tenga en cuenta que, a pesar de que el temporizador está configurado cada 1 hora, el tiempo de ejecución efectivo no es más de cada 3 horas. Esto es más bien un error, que se detallaaquí.

¿No sucedería esto de todos modos si se usa la actualización manualmente con dnf update?

Sí, por defecto sucedería de todos modos.si los metadatos se consideran obsoletos. Es decir, se superó la vida útil predeterminada de 6 horas (la definición por repositorio puede anular este TTL). Nunca sucedería con un repositorio si su definición tiene metadata_expire=-1.

¿La actualización de dnf fallaría o no obtendría las versiones más recientes si dnf-makecache no se hubiera actualizado?

No, no fallaría. Aunque se puede decir que podría ser un poco más confiable siempre que los metadatos ya estén ahí y la conexión de red sea inestable.

¿O es algo que complementa a dnf-automatic y no es necesario si no se usa automático?

Complementa a ambos dnfy dnf-automaticporque ambos tendrán mayores posibilidades de ejecutarse con una caché de metadatos nueva y, por lo tanto, se ejecutarán más rápido.

¿Ventajas/contras de deshabilitar este temporizador con systemctl deshabilitar dnf-makecache.timer y systemctl detener dnf-makecache.timer?

Comandos más lentos dnf/espera interactiva para instalación y actualizaciones. A menos que sigas con el artículo y ajustes:

metadata_timer_sync=3600

el temporizador es bastante ineficaz y no aportará muchos beneficios.

PD: haces muchas preguntas, pero en estas comunidades normalmente deberías hacer una :)

Por favor consulte man dnfy man dnf.conf. Quienes rectifican la documentación, no deben hacerlo en vano.

Respuesta2

Debido a que mis servidores centos 8.1 se encuentran detrás de un firewall y un proxy limitado, dnf-makecache-timer genera repetidamente errores molestos. Parece que utiliza una lista dinámica aleatoria de servidores que no puedo agregar todos a la lista blanca de proxy confiable. Esto también seríacontranuestras pautas de seguridad.

Con yum existía la posibilidad de definir una lista de servidores que se usarán y respetarán en (probablemente) todas las acciones de los administradores de paquetes: mirrorlist=… e include_only=… .

No pude encontrar ninguna solución que funcione o configuración para limitar los servidores que utiliza el temporizador dnf-makecache.

Curiosamente, la llamada a la línea de comandos nunca falló cuando lo intenté.

Según tengo entendido, las preguntas legítimas implícitas (según mi entendimiento actual):

"No lo necesito, no lo quiero, (en nuestro caso) arroja errores que no puedo controlar: ¿Cómo puedo desactivarlo?

Te la responderé aquí:

Añadir en la [main]sección de/etc/dnf/dnf.conf

metadata_timer_sync=0

como se indica en la página dnf.conf - man -:

 Use 0 to completely disable automatic metadata synchronizing.

información relacionada