Debian系统软链接管理神器update-alternatives
概述
这是一篇介绍update-alternatives使用实战的文章,主要介绍了使用场景,使用方法,使用范围。相信使用了它,不用再繁琐的修改软链接了。
使用场景 update-alternatives解决的问题
- 它是一个默认命令的明确的符号链接管理工具,直白点,就是管理软链接的。
- 当你系统中同个软件有多个版本需要切换时,比如Python,Java,PHP,editor,hadoop等,通过它能搞搞定软链接切换,并且管理所有版本。
- 可能有人要问,我不用它也能解决,是的,但是你要做很多额外的手工工作
如何获取update-alternatives
- update-alternatives是Debian内置的一个软件,不用安装
使用方法(这里以python为例)
- 查看当前系统的Python版本
> * sudo update-alternatives --display python
python - auto mode
link best version is /data/softwares/anaconda3/bin/python3.6
link currently points to /data/softwares/anaconda3/bin/python3.6
link python is /usr/bin/python
/data/softwares/anaconda3/bin/python3.6 - priority 3
/usr/bin/python2.7 - priority 1
/usr/bin/python3.6 - priority 2
- 手动安装,如果提示下面这种,则要手动把链接安装到update-alternatives
update-alternatives: error: no alternatives for python
> 手动安装,格式为update-alternatives --install [softlink] [alias commond] [command exec path] priority
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
sudo update-alternatives --install /usr/bin/python python /data/softwares/anaconda3/bin/python 3
> 再次输入 udpate-alternatives --display python 就上显示我上面的正确提示
- 切换不同版本
sudo update-alternatives --config python
There are 3 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /data/softwares/anaconda3/bin/python3.6 3 auto mode
1 /data/softwares/anaconda3/bin/python3.6 3 manual mode
2 /usr/bin/python2.7 1 manual mode
3 /usr/bin/python3.6 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
> 手动输入你要选择的那个版本的数字即可切换默认版本
查看当前系统被update-alternatives管理的软链接
ll /var/lib/dpkg/alternatives
完整的命令参考请输入 update-alternatives –help查看
使用范围,哪些系统支持upate-alternatives
- Debian系的Linux都支持,所以Ubuntu,Linux Mint都可以用