¿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.