1 votos

Desinstalación de dependencias inútiles de un paquete MacPorts fallido parcialmente instalado

Intenté instalar el xfce en MacPorts, que tiene un centenar de dependencias. Llegó bastante lejos, pero al final la instalación falló debido a cualquier razón, alrededor de 85 dependencias. Así que me gustaría desinstalar todo, en particular las 85 dependencias inútiles que ya no necesito.

El problema es que si intento sudo port uninstall xfce no hace nada. Tampoco lo hace sudo port uninstall --follow-dependencies xfce , sudo port uninstall --follow-dependents xfce y así sucesivamente. Por lo que veo, esto parece deberse a que MacPorts no cree que xfce esté instalado en absoluto, ya que la instalación nunca terminó, por lo que no intenta desinstalar nada. También he probado sudo port clean --all installed y no parecía hacer mucho.

Qué hizo hacer algo es desplazarme hasta el principio, cuando intenté instalar el paquete, y mirar la lista de dependencias que decía que iba a instalar y desinstalar manualmente cada una. Por ejemplo, me desplacé hasta esto:

$ sudo port install xfce
--->  Computing dependencies for xfce
The following dependencies will be installed:
 Thunar
 apr
 apr-util
 at-spi2-atk
 at-spi2-core
 atk
...

Y luego escribió sudo port uninstall Thunar apr apr-util at-spi2-atk at-spi2-core atk ...

que lo hizo. ¿Pero hay alguna forma mejor de hacerlo?

2voto

yoliho Puntos 340

Macports rastrea si un puerto fue solicitado explícitamente por usted (es decir, un argumento para la instalación del puerto) o si fue cargado porque otro puerto lo necesitaba.

Para la limpieza se necesitan dos etapas.

  1. Quitar el puerto de xfce mediante la desinstalación del puerto y la limpieza del puerto. Pero si uno de los puertos xfce falló entonces este paso no es necesario ya que nada de xfce se actuó.

  2. Elimine todos los puertos no solicitados e innecesarios. Todo esto está en el Guía de Macports

    Los no solicitados pueden ser vistos por port list unrequested pero esto incluye los que pueden ser requeridos por otros puertos.

    El comando que enumera todos los puertos que no has solicitado y que no tienen puertos dependientes es port echo leaves A continuación, deberá desinstalarlas.

    Por suerte, existe un código para hacer esto, pero no como parte de la instalación base de Macports. Tienes que instalar un paquete y luego ejecutarlo. sudo install port_cutleaves y luego sudo port_cutleaves Esto encuentra las hojas actuales y le pregunta si quiere desinstalar cada una de ellas. Una vez hecho esto, le pregunta si desea desinstalar un nuevo conjunto de hojas que se han descubierto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X