
Acabo de actualizar varias PC a Ubuntu Trusty 14.04. Para esto, solía instalar todo desde cero para obtener un sistema limpio, manteniendo solo /home (y /etc como referencia).
Sin embargo, esta vez actualicé usando la herramienta de actualización y quiero saber qué diferencias tienen mis PC en comparación con un sistema nominal. Porque instalé muchos paquetes diferentes de diferentes fuentes y es posible que haya editado algunos archivos aquí y allá. Por supuesto, sé que apt debería manejar todo automáticamente de forma mágica, pero soy del tipo paranoico y realmente quiero estar seguro.
Básicamente, esto es lo que me gustaría tener:
Obtenga una lista de todos los paquetes instalados y para cada uno de ellos, el repositorio del que proviene (si está disponible). Esto sería básicamente una lista
apt-cache policy
para cada paquete, pero resumida en una lista ordenada.Para paquetes que provienen de "fuentes no oficiales", una indicación de si hay una versión disponible de las fuentes oficiales.(Me refiero al repositorio que figura en /etc/apt/sources.list).
En algún momento instalé paquetes parcheados de terceros y este paquete no se actualiza debido a un número de versión contradictorio. Quiero tener una lista que me diga si tiene sentido recurrir a la versión oficial.
La lista de todos los archivos en el sistema de archivos que provienen de un paquete instalado (incluidos los archivos de configuración), pero que se han modificado posteriormente..
La lista de todos los archivos en el sistema de archivos (excluyendo /home y posiblemente /etc) que no provienen de un paquete instalado..
Básicamente, quiero saber las diferencias que tiene mi sistema si realicé la actualización versus una instalación limpia, y decidir caso por caso si estas diferencias podrían causar cierta inestabilidad.
Respuesta1
Mi pregunta ya está parcialmente respondida en¿Cómo obtengo una lista de paquetes obsoletos?.
Las respuestas sugieren utilizar
apt-show-versions | grep 'No available version' # Show all package not coming from repo
aptitude search '~o' # Similar
Supongo que también podemos hacerlo:
apt-show-versions | grep -v uptodate # All packages that are not up-to-date
Esto daría paquetes que no están actualizados, es decir, paquetes que se pueden actualizar desde repositorios habilitados o paquetes que no provienen de dichos repositorios.
Para obtener una lista de todas las versiones disponibles de dichos paquetes, podríamos hacer:
apt-show-versions -a $(apt-show-versions | grep -v uptodate | sed -r 's/:.*//')
También encontré una pregunta que hace referencia deborphan -a
(¿Cómo enumerar los paquetes instalados en apt que no están respaldados por un repositorio?)
deborphan -a # List all packages that have no reverse dependencies
Para resumir, tengo algunas respuestas para los puntos 1 y 2, pero sigo buscando las 3 y 4:
apt-show-versions
es una buena respuesta- Idem, uno de los combos de comandos anteriores. El paso clave aquí, por supuesto, es primero asegurarse de que solo los repositorios oficiales estén habilitados en /etc/apt.
- ?
- ?