Назад | Перейти на главную страницу

Как использовать альтернативные обновления для каждого пользователя

Есть ли способ использовать альтернативу обновлению "на уровне пользователя"? Я имею в виду, что было бы здорово установить предпочтения для каждого пользователя.

Предоставляет ли Debian какие-нибудь инструменты для этого?

Да, вы можете использовать update-alternatives для себя. Например, у меня установлены разные версии LLVM под ~/.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}

Я могу повторить последнюю команду для новых версий и использовать update-my-alternatives --config llvm выбирать между версиями.

Если вы хотите использовать уже существующие системные альтернативы, вы можете скопировать все файлы в /var/lib/alternatives к ~/.local/var/lib/alternatives и измените все системные пути в первом разделе на пути пользователя (например, измените /usr к /home/username/.local).

Пользователи, которые не хотят использовать систему по умолчанию для приложения, которое использует альтернативы (а альтернатива действительно установлена), всегда могут просто использовать правильное имя или полный путь для альтернативы, отличной от используемой по умолчанию, или настроить alias отменяет символическую ссылку.

Каждый пользователь может создавать свои bin каталог например в ~/bin и поместите это первым в их PATH. Внутри этого каталога они могут иметь символические ссылки на их предпочтительную альтернативу.

Я не знаю, могут ли они использовать update-alternative , чтобы обновить свой собственный каталог символических ссылок, или если им придется сделать это вручную.