¿Qué paquetes he añadido?

De MEPIS Documentation Wiki

Introducción

A veces puede que se quiera saber que paquetes se añadieron de forma manual usando uno de estos métodos. Por ejemplo, puede que se quiera instalar una nueva versión del sistema operativo y dicha versión es tan distinta que se decide guardar sólo la partición /home y reinstalar todo desde cero. Sin embargo si se añadieron paquetes en el sistema anterior que proporcionaban alguna funcionalidad importante, puede que se quiere volver a instalarlo en el nuevo sistema otra vez. Para algunos de ellos y suponiendo que el nombre sea fácil de recordar, basta con buscarlos en Synaptic e inslarlos cuando se de uno cuenta de que faltan. Pero algunos son más delicados, como por ejemplo si se instalaron unas fuentes fantásticas en el anterior sistema y se está intentado desesperadamente volver a tenerlas en el nuevo sistema.

Métodos básico

No existe una solución perfecta pero las siguientes aproximaciones pueden ser de utilidad.

  • Mostrar todos los paquetes instalados en el sistema:
dpkg -l >LISTA
less LISTA

pero dicha lista es muy larga y no especifica que paquetes estaban incluidos en la instalación inicial y cuales fueron posteriormente instalados con actualizaciones de seguridad, cuales se añadieron de forma manual and cuales se añadieron de forma automática para satisfacer dependencia. Disponer de esta lista puede ser de ayuda pero sólo es realmente útil cuando se quiere recrear un sistema prácticamente idéntico al descrito en Hacer copias de seguridad de los datos. Es una buena idea crear esta lista cada vez que se instala un nuevo sistema y cada vez que se deja de utilizar uno antiguo. Si se dispone de dichas listas para dos estados de un mismo sistema, se pueden comparar de las siguientes maneras:

  • Usar una aplicación con interfaz gráfica como Kompare (disponible mediante Synaptic)
  • Escribir en la línea de comandos:
diff LISTAANTIGUA NUEVALISTA
  • Instalar la utilidad de línea de comandos docdiff que incluye una agradable funcionalidad para usar colores en las comparaciones y escribir:
docdiff --tty --digest LISTAANTIGUA NUEVALISTA

Si no se creo dicha lista nada más instalar la versión previa de MEPIS todavía se puede arrancar el anterior Live CD y crear la lista (simplemente hay que acordarse de guardarla en una ubicación permanente, no sólo en el disco ram).

Métodos avanzados

Cuando hay muchas diferencia en esas listas, puede ser mejor idea crear una lista ordenada cronológicamente de los cambios que se realizaron en el anterior sistema:

ls -lt /var/lib/dpkg/info/*.list|less

Mirando las fechas se puede incluso averiguar que paquetes se instalaron manualmente y cuales son dependecias. Un poco de procesado puede hacer que la lista sea casi perfecta:

ls -lt /var/lib/dpkg/info/*.list|awk '$6!=x{print "";x=$6;print x}{printf " %s", substr($8,20,length($8)-24)}'|less

Por ejemplo, el mi vieja Debian Sarge, el resultado es:

2007-05-28
 wavesurfer
2007-04-26
 cftp
2007-04-16
 nvu
2007-02-09
 subversion db4.2-util libsvn0
2007-02-07
 firefox mozilla-firefox
2006-12-28
 scli
2006-12-15
 rcalc libzvt2.0-0
2006-10-18
 tkgate
2006-07-23
 docdiff libruby1.8 ruby1.8
2006-07-09
 automake1.9 automake1.4 autoconf autotools-dev
...

y con eso se puede ver por ejemplo que cuando se instaló docdiff junto con sus dependencias. Se puede incluso escribir un pequeño script para analizar las dependencias de paquetes.

Y por supuesto si asusta el uso de todas las instrucciones de línea de comandos mostradas anteriormente apuntar manualmente que paquetes se van instalando también funciona.

Herramientas personales
Otros idiomas