¿Almacenarías el Makefile para una posterior desinstallation?

  • Después de instalar un package / biblioteca de un Makefile, ¿conserva el Makefile, que contiene el objective de uninstall algún lugar, para una posterior desinstallation, si corresponde?
    • En caso afirmativo: ¿Lo almacena en algún directory "estándar", como /usr/local ?
    • Si no, ¿cómo se desinstala?

Al igual que goldilocks, guardo los files de installation en una carpeta designada como src; en mi caso a veces es / usr / local / src, pero a menudo es / opt / src. Doy un paso más: utilizo 'script' para grabar un text typescript durante todo el process, y renombro esos files de text typescript para ayudarme a recordar para qué eran más adelante. Los guardo en la misma carpeta que la fuente. Luego, cuando estoy satisfecho de que la compilation y la installation fueron buenas, envuelvo todo en un file comprimido y lo mantengo básicamente bajo / opt / src.

Hago esto porque, invariablemente, si algo es lo suficientemente útil como para instalarlo desde la fuente y mantenerlo durante un año, voy a tener que repetir el process nuevamente para get correcciones de errores y actualizaciones de security desde la parte superior. Cuando llegue ese momento, quiero volver a un punto, desempaquetar el file original y recordar exactamente lo que hice la última vez, junto con la salida resultante.

Incluso puede llevar esto más allá: recuerde, el objective debe ser hacer que sea lo más fácil posible para usted o la persona que viene después de usted actualizar de manera confiable el software en el futuro, por lo que cada pista que puede dejar es su auto futuro. bien, y mientras less hagas esto, es más probable que termines frustrado y quedes time después.

Aquí hay otras sugerencias de pistas para dejar su yo futuro y forms de evitar problemas:

  1. Use 'script' para registrar las instalaciones y su salida; luego cambie el nombre de los files de mecanografía resultantes para que no los sobrescriba accidentalmente más tarde. Guárdelos en la carpeta de compilation.
  2. Recostack información de antes y después y guárdala en el directory de compilation. Por ejemplo, puede hacer "ls -lR /> before.ls-lr; … install software … ; ls -lR /> after.ls-lr". La mayoría de las herramientas de administración de packages también tienen una opción de verificación que arrojará todo tipo de detalles sobre su sistema; tener un antes y un después de esto es útil. A veces también vale la pena hacer un md5sum completo de todos los files o usar una herramienta como Tripwire o Aide.
  3. Sospeche del instalador: ¿está seguro de que no cambia los permissions del modo 777 en / var o hace algo similarmente nefasto? Comparar el resultado anterior y posterior de una list de files recursivos con una herramienta como vimdiff puede ayudarlo a detectar problemas antes de que olvide cómo solucionarlos.
  4. Si necesita dejarse notas, colóquelas en el directory de compilation; por ejemplo, un file como "README.bob" sería muy útil para ayudar a "Bob" con cualquier pequeño problema que detecte la primera vez que pueda olvidar el siguiente hora.

Todo este esfuerzo da sus frutos una vez que comienzas a distribuir el software a un grupo de sistemas, o en un entorno donde realmente te importan los sistemas / datos.

Puede llevar las cosas un paso más allá y usar cualquiera de los cientos de administradores de packages para crear un package que pueda distribuir a sus propios sistemas. Con una herramienta como FPM , eso es fácil.

No almacenaría solo el file MAKE. Si bien el objective de desinstallation puede no tener (o no debería ) algo más para tener éxito, eso no es una garantía.

Eso significa save una copy del package original. Sin embargo, no tiene mucho sentido si hay un file público de versiones antiguas y no le preocupa que se vaya. Puede downloadlo de nuevo más tarde de todos modos. El único problema con esto es que para las cosas con autotooled necesitas ejecutar ./configure primero, y si usas opciones diferentes la uninstall puede perderse algo, pero esa no es una gran preocupación, creo. De vez en cuando he guardado notas sobre la configuration particular de algo.

Guardo packages fuente independientes en /usr/local/src , pero siempre que pueda encontrarlo cuando lo necesite, no importa.