Sim, você pode usar absolutamente update-alternatives
para você mesmo. Por exemplo, tenho diferentes versões do LLVM instaladas em ~/.local/llvm-VERSION
. Eu posso instalar links binários em ~/.local/bin
(que está no meu $PATH
) assim:
alias update-my-alternatives='update-alternatives --altdir ~/.local/etc/alternatives --admindir ~/.local/var/lib/alternatives'
mkdir -p ~/.local/var/lib/alternatives ~/.local/etc/alternatives
version=3.9.0
slaves=""
for b in llvm-${version}/bin/*; do \
slaves+=" --slave $HOME/.local/bin/$(basename $b) $(basename $b) $(readlink -f $b)" \
done
update-my-alternatives --install $HOME/.local/bin/llvm-config llvm $(readlink -f $(dirname $b)/llvm-config) ${version//./0} ${slaves}
Posso repetir o último comando para novas versões e usar update-my-alternatives --config llvm
para escolher entre as versões.
Se você quiser usar as alternativas de sistema preexistentes, copie todos os arquivos em /var/lib/alternatives
para ~/.local/var/lib/alternatives
e altere todos os caminhos do sistema na primeira seção para serem caminhos do usuário (por exemplo, alterar /usr
to /home/username/.local
).