Una situación no muy frecuente en Gentoo es que un paquete A intente escribir durante su instalación sobre archivos que pertenecen a un paquete B, lo que se conoce como una colisión, ya sea porque proveen características similares o porque un paquete contiene al otro.
La mayoría de este tipo de paquetes son mutuamente excluyentes en portage y causaran un bloqueo, sin embargo en las siguientes situaciones es probable que estas colisiones se generen:
- Un paquete fue instalado fuera de portage
- Una instalación fue cancelada durante la fase final de copia de archivos dejando archivos huérfanos
- Un paquete nuevo escribe los mismos archivos que un paquete existente y esta colisión no ha sido considerada.
El procedimiento manual para evitar esta colisión seria eliminar los archivos en conflicto, sin embargo podemos pedir a portage que haga esto por nosotros deshabilitando temporalmente las opciones collision-detect y protect-owned. Por ejemplo para instalar gnucash después de haber cancelado erróneamente la instalación 😀 podemos hacer lo siguiente.
1 | # FEATURES="-collision-detect -protect-owned" emerge gnucash |
Vale la pena resaltar que este procedimiento NO DEBE SER usado para saltar bloqueos, más bien solo debe utilizarse cuando tenemos total certeza del origen de la colisión.