Cómo eliminar todos los paquetes con DNF de los cuales ningún otro paquete depende

7

Mi problema

Quería construir un software a mano. Así que instalé todas sus dependencias usando dnf install <a> <b> <c>.

Entonces ya no necesitaba esa pieza de software, por lo que también quería desinstalar todas sus dependencias. Pero yum remove <a> <b> <c>eliminaría todos los paquetes, incluso si otro paquete instalado todavía depende de uno de estos paquetes ( <b>por ejemplo).

Lo que he probado

  • Leí el man dnf, pero no pude encontrar un comando adecuado.

Mi pregunta

¿Cuál es la forma más sencilla de:

  1. Descubra cuál de los paquetes <a>, <b>y <c>otros paquetes todavía lo necesitan.
  2. dnf removetodos los paquetes de mi lista de paquetes que ya no necesito ( <a>, <b>y <c>), pero no elimine los paquetes del punto (1.).

¿Alguna idea?

Gracias por tu ayuda. Si algo no está claro, comente y agregaré más detalles.

Franz-Josef Christbaumer
fuente

Respuestas:

1

Para Fedora puede usar la limpieza de paquetes , por ejemplo con la --leavesopción.

--leaves Lista los nodos hoja en la base de datos RPM local. Los nodos hoja son RPM en los que ningún otro RPM se basa.

bwt
fuente
11

Con Yum, usarías el package-cleanupcomando from yum-utils. Pero, con DNF, está integrado como el dnf autoremovecomando. De los documentos :

dnf [options] autoremove

Elimina todos los paquetes "hoja" del sistema que se instalaron originalmente como dependencias de los paquetes instalados por el usuario, pero que ya no son necesarios para ninguno de estos paquetes.

Tenga en cuenta que también puede usar el dnf listcomando para ver qué paquetes se eliminarán, antes de ejecutar la eliminación automática,

dnf list autoremove

También tenga en cuenta que DNF tiene otra diferencia de comportamiento que debería ayudarlo en situaciones similares (pero no en su caso exacto). Si su pieza principal de software fue instalada por DNF (en lugar de fuera de DNF a mano), y usted usó dnf remove, el valor predeterminado (a diferencia de yum) también es eliminar las dependencias que se agregaron solo para ese paquete y que no se usan para Algo más.

mattdm
fuente
Yum también tenía la opción de autoremove, también DNF, creo que ahora 'autoremoves' automáticamente de todos modos dnf.readthedocs.org/en/latest/…
Wilf