GNU Stow


Hace mucho tiempo que uso esta pequeña herramienta. Stow es una pequeña utilidad para Linux que nos permite gestionar los proyectos que instalamos desde el código fuente, ejecutando ./configure; make; make-install. La podemos encontrar en los repositorios debian (apt-get install stow) y en RPM (http://www.google.com/custom?q=download+stow+rpm). Una vez lo tenemos instalado en nuestro sistema, siempre ejecuto:

mkdir -p /usr/local/stow
Luego cuando quiero instalar un programa a partir de su código fuente, lo descargo y luego ejecuto para compilarlo las siguientes instrucciones:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib:$LD_LIBRARY_PATH
./configure --prefix=/usr/local/stow/NOMBRE_DEL_PROGRAMA OPCIONES
make
make install
La primera línea nos permite configurar el sistema para que cuando busque librerías dinámicas, tenga en cuenta también estos directorios. Con la segunda línea lanzamos el configurador de autoconf para poder compilar en la tercera línea, y en la cuarta línea instalar el programa bajo el directorio /usr/local/stow/NOMBRE_DEL_PROGRAMA. En este encontraremos un subdirectorio bin, lib, etc, etc.. Si no hubiéramos indicado la opción --prefix, autoconf hubiera preparado para instalar el programa en /bin, /lib, /etc ... mezclándose con los archivos del resto de programas y cuando quisiéramos desintalarlo habría que ir buscando uno a uno cada uno de estos archivos para borrarlos. Al hacerlo con stow sabemos que todos los archivos de este programa están concentrados en /usr/local/stow/NOMBRE_DEL_PROGRAMA. Ahora ejecutaremos los siguientes comandos:
cd /usr/local/stow
stow NOMBRE_DEL_PROGRAMA
Con estos comandos hacemos que stow nos cree enlaces simbólicos en /usr/local/bin, /usr/local/lib, etc.. hacia los subdirectorios y programas de /usr/local/stow/NOMBRE_DEL_PROGRAMA, es como si acabarámos de instalar el programa: Ya podremos ejecutarlo y probarlo. Para eliminar estos enlaces simbólicos (desinstalar el programa), bastará con ejecutar:
cd /usr/local/stow
stow -D NOMBRE_DEL_PROGRAMA

No hay comentarios: