有时候在电脑上安装了某个程序的多个版本,比如python,常见的有python2.7和python3.5。在不同情况下需要使用不同版本的软件包,此时就可以使用
update-alternatives
进行切换。本文以配置python
为例,进行讲解。
目录
1. 查看都安装了哪些版本
使用whereis
或者ls
查看一下,可以看到我的电脑上安装了python2.7和python3.5两个版本的程序包(默认执行程序都在/usr/bin中)
sun@ubuntu:~$ whereis python
python: /usr/bin/python3.5m
/usr/bin/python3.5
/usr/bin/python2.7
/usr/bin/python
/usr/bin/python3.5m-config
/usr/bin/python3.5-config
/usr/lib/python3.5
/usr/lib/python2.7
/etc/python3.5
/etc/python2.7
/etc/python
/usr/local/lib/python3.5
/usr/local/lib/python2.7
/usr/include/python3.5m
/usr/include/python3.5
/usr/share/python
/usr/share/man/man1/python.1.gz
2. 将这几个版本都加入候选列表中
用法:update-alternatives --install <链接> <名称> <路径> <优先级>
//登录root账户
sun@ubuntu:~$ su root
//添加python2.7到候选列表
root@ubuntu:/home/sun# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7
//添加python3.5到候选列表
root@ubuntu:/home/sun# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
update-alternatives --install /usr/bin/python python /usr/bin/python3.5
3. 切换到不同版本
#查看python的候选项
sun@ubuntu:~$ update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.5
#查看当前的python版本
sun@ubuntu:~$ python --version
Python 2.7.12
#将python2.7切换版本到python3.5
sun@ubuntu:/root$ sudo 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 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:2 #在这里输入编号,回车即可
update-alternatives: 使用 /usr/bin/python3.5 来在手动模式中提供 /usr/bin/python (python)
#再次查看python的当前版本
sun@ubuntu:~$ python --version
Python 3.5.2
4. 移除update-alternatives候选项
#update-alternatives 名字 路径
update-alternatives python /usr/bin/python2.7
5. 查看update-alternatives都配置了哪些程序
sudo update-alternatives --get-selections