OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
¿Cómo saber qué paquetes no fueron actualizados?
A la hora de actualizar Mandriva vía urpmi de una versión anterior a otra más moderna puede ocurrir que algunos paquetes no se actualicen por algún motivo (los paquetes no existen en la versión más moderna, el nombre cambió, etc).
Una vez terminada la actualización, podemos saber qué paquetes faltan por actualizar mirando la fecha en que fueron instalados.
Podemos obtener la lista de todos los paquetes instalados, ordenados por fecha de instalación de más reciente a más antiguo, mediante la siguiente orden del shell (obtenida de When was an rpm installed?):
rpm -qa --queryformat '%{installtime} %{name}-%{version}-%{release} %{installtime:date}\n' | \ sort -nr +1 | sed -e 's/^[^ ]* //'
Para quien tenga curiosidad, esta orden primero muestra todos los paquetes instalados en el sistema con su fecha de instalación (utilizando el número de milisegundos transcurridos desde el 1 de enero de 1970, si no me equivoco), el nombre del paquete, y de nuevo la fecha de instalación, pero esta vez en un formato útil para humanos.
A continuación, ordena todos esos paquetes según la primera fecha de instalación mencionada, y luego elimina esa fecha de la salida final, ya que no es realmente relevante una vez ordenado.
Hay que tener en cuenta que algunos paquetes pueden no haber sido actualizados porque su versión es la misma en la nueva versión de Mandriva que en la anterior. El sencillo script mostrado a continuación selecciona de la lista de paquetes no actualizados aquellos que no están en los repositorios.
for i in `cut -f 1 -d " " $1` do if [ ! `urpmq -r $i 2>/dev/null` ] then echo "$i" fi done
Para que funcione, debe guardarse en un archivo llamado, por ejemplo, filtro.sh (con permisos de ejecución). A la hora de ser invocado, debe pasársele un archivo que contenga aquellos paquetes no actualizados, utilizando el formato de salida de la orden arriba expuesta.
Dicho de otra manera, se invoca la orden para obtener la lista de paquetes por fecha de instalación, se seleccionan únicamente aquellos que no fueron actualizados y se copian a un archivo, que es el que se pasa al filtro.
Si alguien se lo pregunta, funcionar, funcionaría utilizando la lista completa de paquetes en lugar de sólo aquellos no actualizados, pero sería muchísimo más lento.
El script es realmente cutre, así que si alguien quiere mejorarlo adelante ;)
- Blog de Kalvy
- Entra a tu cuenta o crea una para poder comentar.