Instalaciones desde código fuente

Hola de nuevo, esta vez la pregunta es más filosófica que práctica.
La cuestión es qué es lo que pasa con las versiones viejas cuando yo instalo una nueva. Me explico, supongamos que yo tengo instalada la utilidad utilidad-2.1.0 que en su momento instalé mediante el típico ./configure; make; make install; y que yo ahora instalo utilidad-3.0.0. ¿Qué es lo que sucede con los ficheros que estaban instaldados antes, los de la versión 2.1.0?, se mantienen, se borran, se machacan...
Por supuesto no esto hablando de los fuentes que estarán uno en /usr/src/utiliad-2.1.0 y el otro en /usr/src/utilidad-3.0.0; el problema lo veo con los ficheros que la nueva version no utilice ni sobrescriba ya se me da la sensación de que se irán acumulando en el sistema como basura de difícil localización. ¿Es esto así?
Muchas gracias
Alquimia
1

1 respuesta

Respuesta
1
Como norma general, al instalar desde código fuente no se elimina ningún fichero instalado de versiones anteriores. Otra cosa sería que desinstalaramos un paquete rpm, por ejemplo y luego instaláramos una versión superior, o bien actualizáramos usando rpm. En tal caso, sí que se eliminarían los ficheros antiguos:
* Desinstalación binarios contenidos en paquetes con formato RPM:
rpm -e paquete
* No requiere específicar el número de versión ni la extensión ya que consulta directamente la base de datos de la paquetería instalada en le sistema y procederá a desinstalar el paquete que lleve dicho nombre.
---
De todos modos, no suelen dar problemas los ficheros viejos. Sendmail es un buen ejemplo. En las últimas versiones, ha cambiado bastante los nombres de los ficheros de configuración, que al actualizar la versión se quedan en el directorio /etc y sólo sirven para despistar. La única forma de solucionar este problema es borrar manualmente los ficheros de la versión antigua tras la instalación de la nueva versión cuando estamos seguros de que ya no se usarán nunca más.
Generalmente el Makefile te dice donde se instala cada componente; tan solo
Tienes que leerlo, y empezar a borrar. Es un trabajo bastante tedioso, pero en fin ...
Ojo!, porque con make clean en el directorio /usr/src/miutilidad/ sólo se eliminan los ficheros resultado de la compilación (por ejemplo, los ficheros objeto: *. O o ficheros de configuración de la compilación: Makefiles, etc), pero no los ficheros instalados en el sistema, que puede encontrarse en /usr/bin o /usr/lib o /etc.
Algunos programas traen la opción make uninstall, que no es lo mismo que make clean y esta sí que permite eliminar la instalación de la versión correspondiente al código fuente disponible.
De modo que tendrías que colocarte en el directorio /usr/src/utiliad-2.1.0 y allí hacer un make uninstall. Si el Make file soporta esta opción te ahorrará un montón de trabajo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas