it-swarm-es.com

¿Cómo rastrea qué paquetes se instalaron en Fedora (Linux)?

(Esta pregunta es muy similar a 6338 . Se sugirió que se dividirá de él como Fedora y Ubuntu/Debian son lo suficientemente diferentes como para justificar diferentes respuestas).

A medida que utilizo cualquier configuración de Fedora, instale gradualmente una serie de paquetes por encima de la instalación de la línea de base. Si vuelvo a instalar, o si necesito instalar una nueva máquina, generalmente quiero reinstalar los paquetes específicos específicos , y quiero hacerlo rápido para obtener Volver al trabajo con un mínimo de molestia. Por lo que he visto a todos los administradores de paquetes (yum y pirut) puede decirme qué paquetes están instalados, y todos tienen registros (aunque diferentes para cada herramienta, que es una molestia). Pero ninguno de ellos puede decirme qué paquetes he instalado, a diferencia de sus dependencias o actualizaciones del sistema. Incluso los registros son difíciles de que no estoy completamente seguro de lo que debería extraer de ellos, o cómo integrarlos (en el caso de las diversas herramientas de la familia APT). Esto significa que cada vez que vuelva a instalar, o incluso solo respaldo, no estoy seguro de cómo volver a crear esa lista.

No estoy necesariamente esperando que ninguna de las herramientas haga esto por mí, pero si no lo hagas, estoy buscando soluciones. Incluso los patrones para GREP para, las buenas reglas de pulgar, o una idea clara de lo que se está registrando exactamente, sería útil. Puede que no haya una "mejor respuesta" aquí, pero los buenos serían muy útiles.

11
quark

yum list installed y yum.log mostrará lo que se ha instalado, pero no creo que nada en el sistema se diferencia entre los paquetes que eligió para instalar y los que se instalaron como dependencias

3
theotherreceive

Suponer que todavía tiene el /root/install.logfile de la instalación original, podría crear los archivos rpm.orig y rpm.curr, por lo tanto:

cd /root
rpm -qa --qf '%{NAME}\n' | sort -u > rpm.curr
awk '($1=="Installing"){print $2}' install.log | sort -u > rpm.orig

Luego, para ver los paquetes agregados:

comm -13 rpm.orig rpm.curr

Y unos removidos:

comm -23 rpm.orig rpm.curr

Tenga en cuenta que si tiene una instalación x86_64, no dirá la diferencia entre los paquetes de 32 y 64 bits.

2
user14749

Intenta usar Sudo yum history packages-list \*

Mostrará lo que se instaló explícitamente y lo que se instaló como dependencia:

ID | Action(s)      | Package                                              
-------------------------------------------------------------------------------
47 | Dep-Install    | cairomm-1.8.0-2.1.el6.x86_64                         
47 | Dep-Install    | glibmm24-2.22.1-1.el6.x86_64                         
47 | Install        | gnome-system-monitor-2.28.0-11.el6.x86_64
2
Francisco

El archivo /root/install.log le dirá qué paquetes se incluyeron en la instalación inicial. Aquí hay un script rápido que comparará el contenido de este archivo con la salida de rpm -qa:

rpm -qa | sort > /root/postinstall.list
for P in `sed -n 's/Installing \(.*\)/\1/p' </root/install.log`
do
  sed -ie "/$P/d" /root/postinstall.list
done

El archivo /root/postinstall.list contiene lo que desea. Tenga en cuenta que los paquetes que son una versión actualizada de un paquete instalado originalmente aparecerá en el archivo. Si esto no es lo que quiere, necesitará un patrón más sofisticado en la declaración SED.

0
dkaylor

rpm -qa --last

de las páginas del hombre:

--last Orders the package listing by install time such that the latest packages are at the top.

Salida de muestra:

mdadm-3.2.2-9.el6                             Mon 12 Dec 2011 10:06:17 AM EST
libdrm-2.4.25-2.el6                           Mon 12 Dec 2011 09:54:51 AM EST
tcp_wrappers-libs-7.6-57.el6                  Mon 12 Dec 2011 09:54:50 AM EST
0
Dejan

Esta es una fácil.

Simplemente ejecute el siguiente comando en su shell favorito. La Manipage para RPM será ilustrativa dolorosa si necesita tomar una inmersión más profunda en esto.

rPM -QA

0
Axxmasterr

Suponiendo que siempre usaste "Yum" para instalar todo lo que puedes hacer:

Sudo yum history info \* | grep "^Command Line   : install"

Debería mostrarle todos los comandos "Instalación de Yum" realizados en el sistema después de la instalación.

0
Quintesse