Debian系统软链接管理神器update-alternatives

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都可以用
    原文作者:xcrossed
    原文地址: https://www.jianshu.com/p/7744336b5bcb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞