From Mageia wiki
Jump to: navigation, search


Estado de la traducción:

Este articulo es la versión traducida de Removing packages. Fecha de la ultima traducción 25/03/2024. Puede ayudar a sincronizar la traducción, en caso de haber cambios en la versión original.

Drakconf multiflag.png
Otros idiomas
Deutsch ; English ; Español ; Français ;
Resumen:
Tras muchas discusiones sobre el comando urpme --auto-orphans, escribimos esta pagina basandonos en esta [consulta en el foro ingles].

Al desinstalar un paquete, ¿Se desinstalan tambien sus dependencias?

Al instalar un paquete mediante "urpmi <nombrepaquete>" se instalan por ejemplo 9 dependencias, asi que se instalan en total 10 paquetes, si desinstalo el paquete utilizando el comando "urpme" ¿Se desinstalaran 10 paquetes?

De no ser así, ¿Cual es la mejor forma de desinstalaler los 10 paquetes?

Respuesta:

Solo se desinstalarán el/los paquete(s) especificados, no sus dependencias. Para eso esta diseñado urpme --auto-orphans, y básicamente funciona si se sabe como trabaja, ya que se requiere saber y poner atención a la función de algunos mecanismos, para que funcione de la manera que se espera.

Dragon-head.png ¡Aquí hay dragones!
URPMI y DNF usan diferentes mecanismos para rastrear los paquetes huérfanos.

Si utiliza ambos, ¡Jamás deberá de usar la función automática de eliminar paquetes huérfanos de ninguno de ellos!

Pequeño ejemplo: Tiene un sistema recién instalado, urpme --auto-orphans no encuentra paquetes huérfanos, o sea, todos los paquetes instalados fueron instalados por usted. Literalmente cada uno de ellos. Luego instala algún paquete foo, este trae consigo los paquetes bar y baz.

La función de paquetes huérfanos marca a bar y baz como no instalados explícitamente poniéndolos en /var/lib/rpm/installed-through-deps.list Después de algún tiempo quiere desinstalar foo. Pero bar y baz permanecen instalados, ya que aún podrían ser utilizados, posiblemente sean alguna librería. Podria desinstalarlos mediante urpme --auto-orphans.

Puede marcar manualmente paquetes cono "no huérfanos" (o sea, quitarlos de /var/lib/rpm/installed-through-deps.list) haciendo que urpmi instale el paquete, estos solo lo quitara de la lista de huérfanos, ya que usted pidió instalar el paquete.

Eso es el caso ideal. Solo ejecute urpme --auto-orphans (¡PERO NO acepte eliminar los paquetes!!!)Para ver cuantos paquetes "huérfanos" tiene. Si desea conservar todo lo que ve, solo instálelos con urpmi ... Entonces funcionará como se describió anteriormente.

Otra forma sería ejecutar journalctl -a | grep -F [RPM] y buscar paquetes que se instalaron junto al que quiere desinstalar, pero es tedioso...

Desinstalar junto a las dependencias

Ejemplo: urpme --auto-orphans task-x11 desinstalará x11 sus dependencias

Referencia: * https://bugs.mageia.org/show_bug.cgi?id=3163#c7 - urpmi debería simplificar la eliminación de los meta-paquetes y sus dependencias, en forma similar a la opción purge de apt

¡Advertencia!

Hay buenas razones para ser cauteloso con urpme --auto-orphans.

Es DEMASIADO fácil eliminar por accidente paquetes importantes.

Considere este ejemplo. Tiene instalado el meta-paquete task-plasma5. Un meta paquete es un paquete que no contiene archivos, pero que tiene como dependencias varios paquetes. task-plasma5 tiene cientos de paquetes como dependencias.

Ahora quiere desinstalar alguno de esos paquetes. Por ejemplo el lector de documentos okular. Al desinstalar okular falta una de las dependencias de task-plasma5 y se desinstalará también. Eso está bien, todos los demás paquetes que fueron instalados por task-plasma5 siguen ahí, solo que ahora están marcados como huérfanos. Si ahora ejecuta urpme --auto-orphans verá cientos de paquetes, y una sola tecla podría eliminar por completo el escritorio Plasma.

Marcar todos los paquetes huérfanos como deseados

Para marcar todos los paquetes huérfanos como instalados manualmente puede ejecutar.

 urpmi $(urpmq --auto-orphans -f)

Nota adicional sobre paquetes huérfanos

El manejo de paquetes huérfanos en la mayoría de los casos es una preocupación más técnica que practica. El tipo de procedimiento que se podría necesitar si prueba muchas aplicaciones y tiene almacenamiento limitado.

Reportes de fallos relacionados

Mageia 8 y Cauldron/mga9

(elimine los que se vayan arreglando)

  • mga#31382, mga#31699#c28 (En ese comentario hay un ejemplo y enlaces a reportes similares) - ¡urpme --auto-orphans quiere eliminar demasiado!

A considerar

  • mga#3947 - La detección de huérfanos debería registrar los archivos solicitados, no los instalados mediante dependencias
  • mga#8123 - Añadir "huerfanos" como filtro a rpmdrake

Other method for cleaning up RPMs

Apart from orphans, there are additional methods for cleaning up your system.

Eliminar kernels antiguos

Se recomienda conservar el kernel que tenga funcionando, y uno o dos anteriores como resguardo. En la mayoría de los casos puede eliminar los kernels antiguos y de otras variantes.

Desde Mageia 9, la eliminación de los kernels antiguos se maneja de forma automática, por remove-old-kernels que puede ajustarse y correrse manualmente.

Funciona sin intervención de usuario y por omisión conserva los tres más recientes. Esto evita que sistemas con espacio limitado se queden sin espacio en la partición raíz tras varias actualizaciones del kernel. Además del modo automático que es ejecutado semanalmente, se puede configurar y ejecutar manualmente desde la línea de comandos. Ejecútelo con el parámetro -h para ver la ayuda. Puede ejecutarlo desde el menú de Mageia en Herramientas -> Herramientas del Sistema. Puede consultar el manual que contiene mas detalles para usuarios expertos.

Si ha migrado desde Mageia 8 debe instalar manualmente remove-old-kernels.

Visite también el Foro. Para scripts, vea por ejemplo el Comentario 29 o posteriores en el reporte mga#24403 .

Eliminar idiomas y controladores de hardware no usados

Nuestra herramienta remove-unused-packages es utilizada por las imágenes live.

Puede ejecutarla manualmente como root. Use su - para convertirse en root. ¡Nunca use solo su sin el guion! O configure y utilice sudo.

Si no encuentra paquetes a desinstalar, finalizará sin ningún diálogo. Si encuentra paquetes locale mostrará la opción para desinstalarlos, lo mismo para los controladores.

Para ver lo que se desinstalara, presione el botón Avanzado. Por cada paquete locale, normalmente las traducciones relacionadas serán eliminadas. Si cree que se desinstalara demasiado: puede abortar o continuar e instalar posteriormente lo que necesite. Ejemplo: Reinstalar solo lo necesario: urpmi locales-en autocorr-en hunspell-en hyphen-en mythes-en - Ya que eso hace que la corrección ortográfica funcione para el idioma Ingles.

Almacenamiento Persistente en Live USB

En especial para una Live USB con partición persistente, o una instalación convencional en un dispositivo de almacenamiento USB , es agradable quitar paquetes no utilizados para ahorarse espacio en la partición persistente, así como tiempo y ancho de banda al momento de actualizar.

( Para ser más técnicamente precisos: Los paquetes no se desinstalan de la partición de solo lectura creada como imagen del archivo iso - pero para el sistema será como si estuvieran desinstalados, y no se descargaran actualizaciones que de otra forma se almacenarían en la partición persistente. )

Así que en un sistema Live USB en ejecución, antes de actualizar, elimine los paquetes de idioma que no utilice (locales): Abrir una terminal, hágase root ejecutando su - (¡El guion es importante!), y ejecuté remove-unused-packages. Se le mostrará una ventana donde por lo general desactivara la eliminación de controladores de hardware (así aún podrá usar su dispositivo en la mayoría de las computadoras), entonces presione OK.

Eliminar los paquetes más grandes

El siguiente comando listará los 20 paquetes más grandes en el sistema. Si alguno ya no le es util utilice urpme para eliminarlo, opcionalmente puede eliminar los paquetes huerfanos (vea más arriba).

$ rpm -qa --qf '%{SIZE} %{NAME}\n' | sort -nr | head -n 20

Salida más avanzada: enumerar de acuardo al tamaño en MB, mostrando las versiones:

$ rpm -qa --queryformat '%{size} %{name}-%{version}-%{release}\n' | sort -k 1,1 -rn | numfmt --field 1 --to=iec | nl | head -20

Eliminar paquetes no incluidos en los repositorios

Si ha migrado (posiblemente varias veces) o instalado manualmente algunos paquetes, puede que quiera eliminar algunos paquetes. El siguiente comando lista todos los paquetes que no están en el repositorio "Core Release" (no es necesario especificar el repositorio Updates: generalmente todos los paquetes en "Updates" se encuentran también en "Release" - solo que con otra version) :

$ rpm -qa | xargs urpmq --media "Core Release","Core 32bit Release" -r

Añada los repositorios que desee separándolos con una coma.


Para listar los paquetes que no se encuentran en los repositorios que tenga configurados, utilice

$ urpmq --not-available

Verifique el sufijo

Listar todos los paquetes que no sean ".mga9":

$ rpm -qa | grep -v .mga9

Listar todos los paquetes de una versión previa - Mageia 8 por ejemplo:

$ rpm -qa | grep .mga8

Desde la interfaz grafica: Centro de Control Mageia sección Administración de Software -> Instalar y Quitar Aplicaciones, en la primera lista desplegable seleccioné: "Todos", en la segunda: "Instalados", ay en ele campo "Buscar" presione sobre la lupa, seleccione "en nombres" y presione "mga8" (sin las comillas).

Eliminar algunos paquetes de versiones previas de Mageia puede eliminar aplicaciones de la versión actual de Mageia - se reporta que ha pasado con filezilla y vlc, solo vuélvalas a instalar.

Algunos paquetes no se pueden desinstalar como Boomaga mga#28419. Pruebe un comando similar al siguiente como root rpm -e --noscripts boomaga-3.0.0-1.mga7 .

Puede necesitar algunos paquetes

Puede que tenga paquetes instalados que no querrá desinstalar, pero que no esté consciente de ello. Ejemplos:

  • Controladores de impresoras obtenidos del sitio del fabricante - pueden ser varios paquetes
  • Aplicaciones en formato rpm obtenidas de fuentes externas a Mageia
  • Aplicaciones que usted haya compilado y empaquetado en su sistema
  • Aplicaciones preservadas de versiones previas de Mageia que no están disponibles en la versión actual pero que aun funcionan
  • Paquetes de versiones previas de Mageia requeridos por alguno de los casos anteriores
  • ...

Tenga en cuenta:

  • Es muy raro que afecte el conservar paquetes superfluos
  • En caso de que accidentalmente (o por comprobar) elimine paquetes - ¿los tiene disponibles en caso de que quiera volver a instalarlos?