software-installation – Hacer un seguimiento de los programas

Pregunta:

Cuando instalo un programa simple, a menudo usa make && make install y ni siquiera tiene un objetivo de desinstalación .

Si deseo actualizar un programa, ¿es un protocolo estándar asumir que simplemente se reescribe sin problemas sobre el programa anterior?

¿Cómo hago un seguimiento de estos programas? ¿La mayoría de la gente simplemente 'dispara y olvida' y si no se proporciona un objetivo de desinstalación , tengo que eliminar todo manualmente?

Respuesta:

Instale cada programa en un árbol de directorio dedicado y utilice Stow o XStow para que todos los programas aparezcan en una jerarquía común. Stow crea enlaces simbólicos desde el directorio específico del programa a un árbol común.

Con más detalle, elija un directorio de nivel superior, por ejemplo /usr/local/stow . Instale cada programa en /usr/local/stow/PROGRAM_NAME . Por ejemplo, organice la instalación de sus ejecutables en /usr/local/stow/PROGRAM_NAME/bin , sus páginas de manual en /usr/local/stow/man/man1 y así sucesivamente. Si el programa usa autoconf, entonces ejecute ./configure --prefix /usr/local/stow/PROGRAM_NAME . Después de ejecutar make install , ejecute stow :

./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME

Y ahora tendrás enlaces simbólicos como estos:

/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo

Puede realizar fácilmente un seguimiento de los programas que ha instalado enumerando el contenido del directorio stow , y siempre sabrá a qué programa pertenece un archivo porque es un enlace simbólico a una ubicación en el directorio de ese programa. Desinstale un programa ejecutando stow -D PROGRAM_NAME luego elimine el directorio del programa. Puede hacer que un programa no esté disponible temporalmente ejecutando stow -D PROGRAM_NAME (ejecute stow PROGRAM_NAME para que esté disponible nuevamente).

Si desea poder cambiar rápidamente entre diferentes versiones del mismo programa, use /usr/local/stow/PROGRAM_NAME-VERSION como directorio del programa. Para actualizar de la versión 3 a la versión 4, instale la versión 4, luego ejecute stow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4 .

Las versiones anteriores de Stow no van mucho más allá de los conceptos básicos que describí en esta respuesta. Las versiones más nuevas, así como XStow (que no se ha mantenido últimamente) tienen características más avanzadas, como la capacidad de ignorar ciertos archivos, hacer frente mejor a los enlaces simbólicos existentes fuera del directorio de almacenamiento (como man -> share/man ), manejar algunos conflictos automáticamente (cuando dos programas proporcionan el mismo archivo), etc.

Si no tiene o no desea utilizar el acceso de root, puede elegir un directorio en su directorio de inicio, por ejemplo, ~/software/stow . En este caso, agregue ~/software/bin a su PATH . Si man no encuentra automáticamente las páginas de manual, agregue ~/software/man a su MANPATH . Agregue ~/software/info a su INFOPATH , ~/software/lib/python a su PYTHONPATH , y así sucesivamente según corresponda.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım