update-alternatives 是一个用于管理符号链接的工具,允许在多个版本的可执行文件、库、手册页等之间进行选择。以下是一些常用的 update-alternatives 命令和它们的用途:
安装新替代项
sudo update-alternatives --install <link> <name> <path> <priority>
<link>:这是主符号链接的路径,用户最终使用的命令。<name>:这是替代项组的名字,标识一组相关的替代项。<path>:这是具体的替代项路径,即指向的具体文件或可执行文件。<priority>:这是替代项的优先级,数值越高优先级越高。
示例:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 2
这会创建一个名为 python 的替代项组,并添加两个替代项。默认情况下,由于 3.9 的优先级更高,/usr/bin/python 将指向 /usr/bin/python3.9。
显示当前的替代项配置
update-alternatives --display <name>
<name>:替代项组的名字。
示例:
update-alternatives --display python
这会显示名为 python 的替代项组的详细信息,包括当前的符号链接路径和所有可用的替代项。
手动选择替代项
sudo update-alternatives --config <name>
<name>:替代项组的名字。
示例:
sudo update-alternatives --config python
这会列出所有可用的替代项,并允许你手动选择一个替代项作为默认值。
更新替代项
sudo update-alternatives --set <name> <path>
<name>:替代项组的名字。<path>:具体的替代项路径。
示例:
sudo update-alternatives --set python /usr/bin/python3.8
这会将名为 python 的替代项组的符号链接设置为 /usr/bin/python3.8。
删除替代项
sudo update-alternatives --remove <name> <path>
<name>:替代项组的名字。<path>:具体的替代项路径。
示例:
sudo update-alternatives --remove python /usr/bin/python3.8
这会从 python 替代项组中移除 /usr/bin/python3.8。
完整示例
假设你想管理 python 命令的多个版本:
- 安装不同的 Python 版本:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 3
- 查看当前配置:
update-alternatives --display python
- 手动选择默认版本:
sudo update-alternatives --config python
- 设置特定版本为默认:
sudo update-alternatives --set python /usr/bin/python3.8
- 移除某个版本:
sudo update-alternatives --remove python /usr/bin/python2.7
通过这些命令,你可以方便地管理系统中多个版本的软件,并根据需要切换默认版本。