如何使用每个用户的更新替代

Max*_*ime 11 debian users

有没有办法使用更新替代“用户范围”?我的意思是为每个用户设置首选项会很棒。

Debian 是否为此提供了一些工具?

Sam*_*man 15

是的,您绝对可以update-alternatives自己使用。例如,我在~/.local/llvm-VERSION. 我可以像这样将二进制链接安装到~/.local/bin(在我的$PATH)中:

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}
Run Code Online (Sandbox Code Playgroud)

我可以为新版本重复最后一个命令并用于update-my-alternatives --config llvm在版本之间进行选择。

如果您想使用预先存在的系统替代方案,您可以将所有文件复制/var/lib/alternatives到 to~/.local/var/lib/alternatives并将第一部分中的所有系统路径更改/usr为用户路径(例如更改为/home/username/.local)。


kas*_*erd 3

每个用户都可以创建自己的bin目录,例如 in~/bin并将其放在他们的PATH. 在该目录中,他们可以拥有指向其首选替代方案的符号链接。

我不知道他们是否可以使用该update-alternative命令来更新自己的符号链接目录,或者是否必须手动执行此操作。