Estoy probando una nueva versión del paquete pkgsync, concretamente la 1.74 que introduce los siguientes cambios:
- Realiza la actualización de paquetes, aunque se haya introducido un nombre de paquete que no se encuentra en los repositorios.
- Mejora la gestión de paquetes mediante solve-apt-errors para tratar de instalar paquetes medio instalados.
- Añade la opción -v para mostrar la versión de pkgsync.
Como ya sabéis, de un tiempo a esta parte, cuando le pides a aptitude que instale un paquete que no se encuentra en los repositorios, éste muestra un error y aborta la ejecución del comando.
Por ejemplo, si le pedimos a aptitude que instale un paquete llamado "bad" que no se encuentra en los repositorios, obtendremos un error:
# aptitude -y install bad
No se pudo encontrar ningún paquete cuyo nombre es «bad», pero hay paquetes 80 que contienen «bad» en su nombre:
(demasiados para mostrar, el límite es 40)
No se pueden aplicar algunas acciones, abortando
Y no continuará actualizando paquetes.
Este cambio que los desarrolladores introdujeron en aptitude, hace que pkgsync no realice su trabajo cuando un administrador introduce el nombre de un paquete erróneo en los ficheros de pkgsync, o el nombre de un paquete ya no se encuentra en los repositorios.
Para evitar este problema, ahora pkgsync hace una primera ejecución de aptitude, y, si se produce algún error, comprueba si cada uno de los paquetes listados en los ficheros de pkgsync se encuentra en los repositorios, eliminando automáticamente de los ficheros de listas de paquetes aquellos que no se encuentren.
Por otro lado, guarda la lista de nombres de paquetes eliminados del fichero de log /var/log/pkgsync/removedfromlists.log
De este modo, si gestionamos las listas de paquetes mediante puppet, tan sólo tendremos que revisar el fichero /var/log/pkgsync/removedfromlists.log para ver los paquetes que debemos eliminar en el módulo que distribuye los ficheros de listas a los clientes.
Be the first to comment