update-alternatives 介绍
update-alternatives 命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。
python 这个可执行命令实际是一个链接,指向了 /etc/alternatives/python 。而这个也是一个链接,指向了 /usr/bin/python3.8 ,这才是最终的可执行文件。
alternatives 实际上是通过软链接的方式对版本进行管理
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 24 Sep 13 21:32 /usr/bin/python -> /etc/alternatives/python
$ ls -l /etc/alternatives/python
lrwxrwxrwx 1 root root 18 Sep 13 21:32 /etc/alternatives/python -> /usr/bin/python3.8
update-alternatives基本命令
- display 参数显示关于 Python 替换组的信息
$ update-alternatives --display python
python - auto mode
link best version is /usr/bin/python3.8
link currently points to /usr/bin/python3.8
link python is /usr/bin/python
/usr/bin/python3.8 - priority 2
- 列出替换组中所有的可用候选项
update-alternatives --list python
- 选择候选项
$ update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/bin/python3.5 2 自动模式
* 1 /usr/bin/python2.7 1 手动模式
2 /usr/bin/python3.5 2 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
- install 参数用于添加一个命令的link值
# 添加 python link
$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
update-alternatives --install /usr/bin/python python3 /usr/bin/python3.9 3
$ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 3
# 第一个参数: --install 表示向update-alternatives注册服务名。
# 第二个参数: 注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;
# 第三个参数: 服务名,以后管理时以它为关联依据。
# 第四个参数: 被管理的命令绝对路径。
# 第五个参数: 优先级,数字越大优先级越高。
- remove 参数用于删除一个命令的link值
$ update-alternatives –remove python /usr/bin/python2.7
update-alternatives管理python
- 查看在usr目录里安装了几种不同版本的Python。
ls /usr/bin/python*
- 在终端直接输入 $ python 进入环境可直接查看默认python版本,或者输入$ python --version来查看
- 参考此处