适用环境:Ubuntu 22.04 LTS / Debian 系。
update-alternatives管理的是系统级符号链接,不等同于语言版本管理器或 PATH 顺序。
同一个命令名可能有多种实现,例如 editor、java、cc。Debian 系统用 alternatives 链接组决定默认目标,避免用户直接手改 /usr/bin 下的链接。
查看与交互选择
| |
第一条会显示当前链接、可选项和优先级;第二条提供编号选择。切换前先确认候选程序来自可信软件包,并在切换后核对版本:
| |
创建自定义链接组时要非常具体
只有当软件本身没有注册 alternatives 且确有系统级需求时,才使用 --install。下面是占位示例,路径、名称、优先级都必须换成实际值:
| |
不要用 alternatives 直接管理 python、pip、Node.js、CMake 等开发工具的全部生态。它们通常还牵涉虚拟环境、包管理器、IDE 与项目级版本要求;更适合使用 venv、nvm、容器或项目工具链。
取消手工加入的候选项
| |
移除前先切换到另一个有效候选项。由 APT 安装的软件包应优先通过 APT 卸载,让软件包维护脚本处理对应 alternatives。
出处
- 原始参考:update-alternatives 命令使用方法与软件多版本管理(阿里云开发者社区)
- 手册参考:Ubuntu Jammy:update-alternatives(1)
本文将原始资料整理为“查看—切换—谨慎注册—移除”的可回退流程。