Uma maneira razoavelmente simples de conseguir isso seria usar Stow para instalar cada versão do software em seu próprio local, em seguida, permita que os usuários usem stow
(por exemplo, via sudo
) para reenrolar a versão do aplicativo ou use as funções do shell para redefinir PATH
para apontar para a versão do software diferente.
Eu faço algo semelhante a isso (sem stow
) para servidores Sybase que possuem várias versões de banco de dados executadas neles. Eu tenho um script chamado setenv.sh
, que se parece com algo como:
#!/bin/sh
case $1 in
12.5|125)
echo "Setting environment for ASE 12.5"
export SYBASE=$HOME/ase125
# ... some other stuff
;;
15.0|150)
echo "Setting environment for ASE 15.0"
export SYBASE=$HOME/ase150
# ... some other stuff
;;
esac