105 votos

Cómo eliminar paquetes macports no utilizados?

Cada vez que se instala un programa a través de MacPorts, se pone y se instala un montón de dependencias. Cuando desinstalación he dicho programa, ¿cómo puedo hacer DarwinPorts eliminar de forma recursiva todas las dependencias no utilizadas con ella?

117voto

Nip Puntos 362

MacPorts 1.9.0 añadido la sqlite portdbformat y MacPorts 2.0.0 abandonó el antiguo flat formato. El sqlite puerto formato de base de datos es el valor predeterminado para las nuevas instalaciones; instalaciones antiguas que se han actualizado a 1.9.x va a continuar el uso de la flat formato1. Usted puede convertir un 1.9.x flat sistema a la sqlite formato por medio de la actualización MacPorts 2.0 o cambiando el portdbformat valor en /opt/local/etc/macports/macports.conf y, a continuación, la emisión de un puerto de comando como root (por ejemplo sudo port installed).

Una de las características de este nuevo formato es que se realiza un seguimiento de "solicitada" versus "no solicitadas" en las instalaciones portuarias. Un no solicitadas que puerto es el que se instala sólo porque un puerto depende de ello. El leaves pseudo-portname se expande a todos los no solicitadas puertos en los que ningún otro puerto instaladas depende. Usted puede usar esto para "limpiar" innecesarios puertos, incluso si usted no originalmente desinstalar con sudo port uninstall --follow-dependencies portname (que va a hacer lo que quiera, pero sólo si te acuerdas de usarlo cada vez que desinstalar algo).


Usted debe examinar su actual hojas antes de desinstalar alguno de ellos.

port echo leaves

Algunas hojas (automake, gperf, libtool, pkgconfig) son dependencias en tiempo de construcción de los puertos comunes, por lo que puede "solicitar" (sudo port setrequested port1 port2 port3 …) para evitar la desinstalación de ellos sólo para tener que volver a instalar más tarde.

Puede desinstalar cualquier resto deja bastante fácil:

sudo port uninstall leaves

Nota: Antes de la poda de las hojas, puede que también desee desinstalar las versiones antiguas de los puertos que no son "activos". Esto puede revelar un par de hojas más (es decir, los puertos que son dependencias de los puertos que están instalados, pero inactivo):

sudo port uninstall inactive

Hay varias secciones en el MacPorts Guía que también describir el proceso de utilización leaves a desinstalar innecesarios puertos.

10voto

Mike Polen Puntos 3173

A partir de la documentación:

La desinstalación de acción desinstalar un instalado puerto.

%% sudo port uninstall vile Note

También de forma recursiva desinstalar el los puertos que el puerto depende, el uso de la ‑‑follow‑dependenciesbandera. Esto no va a desinstalar las dependencias que están marcados como solicitado o que han de otras personas dependientes.

Para desinstalar de forma recursiva todos los puertos que dependen de el puerto antes de desinstalar el puerto en sí, el uso de la ‑‑follow‑dependents flag.

Si un puerto es una dependencia de otro instalado puerto, desinstalar no quitar a menos que quite la dependiente de puerto(s) en primer lugar. Para anular este comportamiento, utilice la opción-f (fuerza) el interruptor. Obviamente, esto va a romper el los dependientes. No forzar la desinstalación los puertos a menos que usted sepa lo que usted está haciendo.

%% sudo port -f uninstall vile

Nota de la importante salvedad de que en el último párrafo. Las dependencias son exactamente eso-dependencias-y las diferentes aplicaciones, se puede (se) requiere las mismas dependencias.

4voto

user26252 Puntos 31

También hay un script en el directorio llamado 'contrib port_cutleaves macports puede ejecutar para eliminar las dependencias que no sean necesarios: http://trac.macports.org/browser/contrib/ . Se te pedirá que para cada puerto a-ser desinstalado y permite mantener alguna, en caso de que desee.

3voto

Marton Puntos 299

El comando para eliminar un puerto y sus dependientes es:

 sudo port uninstall foo --follow-dependents
 

Sin embargo, si el puerto está desinstalando tiene dependientes que no se desinstala sin el -f (fuerza) de la bandera.

Por supuesto, usted debe comenzar por la lectura a través de la Guía de MacPorts buscando específicamente en la sección de guía de desinstalación.

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