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. |
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].
|
Contents
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.
![]() |
¡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?