update que paquetes instalar guia gestor configurar centos fedora redhat rpm yum

centos - paquetes - que es yum



¿Cómo desinstalo todos los rpms instalados hoy con yum? (2)

Estoy muy familiarizado con

rpm -qa --last

y he encontrado que es muy útil en ciertas ocasiones. Sin embargo, en esta ocasión accidentalmente me puse demasiado celoso e instalé un gran grupo de yum.

yum groupinstall "Development tools"

¿Hay alguna manera fácil de desinstalar todo lo que acabo de instalar? Me parece que debería haber alguna forma de combinar la consulta de rpm y el borrado de rpm. es decir, conectar la salida de un comando de consulta al comando eliminar.

Actualización: basada en los comentarios del usuario @ rickhg12hs

Se señaló que puedo ver la identificación de la transacción con el yum history que no sabía. Esto es lo que parece:

$ yum history Loaded plugins: fastestmirror, security ID | Login user | Date and time | Action(s) | Altered ---------------------------------------------------------------------------- 69 | <jds> | 2015-05-11 01:31 | Install | 1 68 | <jds> | 2015-05-11 01:31 | Install | 1 67 | <jds> | 2015-05-11 01:10 | I, U | 210 66 | <jds> | 2015-05-05 12:41 | Install | 1 65 | <jds> | 2015-04-30 17:57 | Install | 2 64 | <ansible> | 2015-04-30 10:11 | Install | 1 63 | <ansible> | 2015-04-30 10:11 | Install | 1 62 | <ansible> | 2015-04-30 10:11 | Install | 1 EE 61 | <ansible> | 2015-04-30 10:11 | Install | 1 60 | <ansible> | 2015-04-30 10:11 | Install | 1 59 | <ansible> | 2015-04-30 09:58 | Install | 19 P< 58 | <ansible> | 2015-04-29 18:28 | Install | 1 > 57 | <ansible> | 2015-04-29 18:28 | Install | 1 56 | <ansible> | 2015-04-29 18:28 | Install | 9 55 | <ansible> | 2015-04-29 18:28 | Install | 3 54 | <ansible> | 2015-04-29 18:28 | Install | 1 53 | <ansible> | 2015-04-29 18:27 | I, U | 5 52 | <ansible> | 2015-04-29 18:27 | I, U | 4 51 | <ansible> | 2015-04-29 18:27 | Install | 1 50 | <ansible> | 2015-04-29 18:27 | Install | 1

y tada: Ahí está, una identificación de transacción.

Quiero desinstalar desde la identificación de transacción 67. Ahora que soy un poco más inteligente, tengo una nueva pregunta.

Entonces, ¿cómo puedo usar el comando yum o rpm para desinstalar una transacción?

Nota: también se me indicó que puedo hacer una

$ yum history info 67 |less Loaded plugins: fastestmirror, security Transaction ID : 67 Begin time : Mon May 11 01:10:09 2015 Begin rpmdb : 1012:bb05598315dcb21812b038a356fa06333d277cde End time : 01:13:25 2015 (196 seconds) End rpmdb : 1174:cb7855e82c7bff545319c38b01a72a48f3ada1ab User : <jds> Return-Code : Success Command Line : groupinstall Additional Development Transaction performed with: Installed rpm-4.8.0-38.el6_6.x86_64 @updates Installed yum-3.2.29-60.el6.centos.noarch @anaconda-CentOS-201410241409.x86_64/6.6 Installed yum-plugin-fastestmirror-1.1.30-30.el6.noarch @anaconda-CentOS-201410241409.x86_64/6.6 Packages Altered: Dep-Install GConf2-2.28.0-6.el6.x86_64 @base Install GConf2-devel-2.28.0-6.el6.x86_64 @base Dep-Install ORBit2-2.14.17-5.el6.x86_64 @base ... snip ...

Creo que esto podría ser bastante útil en determinadas circunstancias.


Si desinstalas paquetes, corres el riesgo de eliminar cosas que ya estaban allí, pero que pasaron a ser actualizadas. Como regla general, debe usar yum (o equivalente) para administrar paquetes, lo que le permite degradar un paquete. Esto eliminaría paquetes nuevos y degradaría los existentes. Ver, por ejemplo, cómo degradar o eliminar con seguridad glibc con yum y rpm

La selección de los nombres de los paquetes para degradar se puede hacer usando la salida de rpm -qa , formateada para permitir la selección simple de la fecha dada. Por ejemplo (vea CentOS: enumere los RPM instalados por fecha de instalación / actualización? ), Puede enumerar los paquetes en orden inverso a la fecha de instalación utilizando

rpm -qa --last

Como un enfoque más elaborado, puede usar la opción --queryformat con la opción :date para formatear la fecha exactamente como desee (utiliza strftime ).

En cualquier caso, puede crear una secuencia de comandos para extraer los nombres de los paquetes de la salida de rpm , y usar esos paquetes con yum (o incluso rpm ) para manipular según sea necesario.

Al hacer una degradación, hay una cosa extraña a tener en cuenta: que revisa la fecha de instalación para que los paquetes sean la fecha actual en lugar de una deshacer completa, utilizando la fecha anterior.


Todos los paquetes instalados en una sola transacción tienen un valor de etiqueta RPMTAG_INSTALLTID idéntico.

Utilizar

rpm -qa --qf ''[%{name}/t%{installtid:date}/n]''

para encontrar todos los paquetes que se instalaron como parte de la instalación del grupo yum.