ubuntu下update-alternatives命令的使用
在ubuntu系统中,update-alternatives是专门维护系统命令链接符的工具,其可以对某个工具的多个软件版本进行管理,通过它可以很方便的设置系统默认使用哪个命令的哪个软件版本。
在命令行中直接输入update-alternatives --help命令,
[19:19:24]@~$ update-alternatives --help
Usage: update-alternatives [<option> ...] <command>
Commands:
--install <link> <name> <path> <priority>
[--slave <link> <name> <path>] ...
add a group of alternatives to the system.
--remove <name> <path> remove <path> from the <name> group alternative.
--remove-all <name> remove <name> group from the alternatives system.
--auto <name> switch the master link <name> to automatic mode.
--display <name> display information about the <name> group.
--query <name> machine parseable version of --display <name>.
--list <name> display all targets of the <name> group.
--get-selections list master alternative names and their status.
--set-selections read alternative status from standard input.
--config <name> show alternatives for the <name> group and ask the
user to select which one to use.
--set <name> <path> set <path> as alternative for <name>.
--all call --config on all alternatives.
<link> is the symlink pointing to /etc/alternatives/<name>.
(e.g. /usr/bin/pager)
<name> is the master name for this link group.
(e.g. pager)
<path> is the location of one of the alternative target files.
(e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority in
automatic mode.
Options:
--altdir <directory> change the alternatives directory.
--admindir <directory> change the administrative directory.
--log <file> change the log file.
--force allow replacing files with alternative links.
--skip-auto skip prompt for alternatives correctly configured
in automatic mode (relevant for --config only)
--verbose verbose operation, more output.
--quiet quiet operation, minimal output.
--help show this help message.
--version show the version.
[19:19:28]@~$
其工作原理如下:系统路径下,/usr/bin/<name>这个软链接,指向了/etc/alternatives/<name>这个文件,其其实也是个软链接,指向了该<name>命令的实际可执行文件;如下:
lrwxrwxrwx 1 root root 22 5月 6 2015 /usr/bin/java -> /etc/alternatives/java*
lrwxrwxrwx 1 root root 70 10月 28 14:11 /etc/alternatives/java -> /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java*
可见,通过两次软链接,我们可以定位到实际的java文件;后面我们针对这个软件版本的管理都是通过改变/etc/alternatives/ --> /实际可执行文件 的软链接来进行的。
来看一个例子,在上面的java可执行组中,修改一下java的版本:
[19:37:17]@~$ java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) Server VM (build 25.112-b15, mixed mode)
[19:37:20]@~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java 1062 auto mode
1 /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java 1062 manual mode
2 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1060 manual mode
3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode.
[19:37:24]@~$ java -version
java version "1.6.0_35"
OpenJDK Runtime Environment (IcedTea6 1.13.7) (6b35-1.13.7-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
[19:37:26]@~$
可见我们已经将java的版本从1.8切换到1.6了,这样我们来看一下软链接实例:
lrwxrwxrwx 1 root root 22 5月 6 2015 /usr/bin/java -> /etc/alternatives/java*
lrwxrwxrwx 1 root root 46 10月 28 19:37 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java*
呵呵,/usr/bin/java -> /etc/alternatives/java* 的链接未改变,而改变的是/etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java*。
主要的几个命令用法如下:
- --install <link> <name> <path> <priority>
向系统中添加一个新的alternatives组,
link:指向/etc/alternatives/<name>的符号引用
name:这个链接组的名称
path:这个命令对应的可执行文件的实际路径
priority:优先级,在auto模式下,数字较大的选项有较高的优先级
示例: sudo update-alternatives --install /usr/bin/java java /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java 1062
- --remove <name> <path> remove <path> from the <name> group alternative.
移除系统中注册的某个<name>的某个软件版本<path>
- --display <name> display information about the <name> group.
- --list <name> display all targets of the <name> group.
显示命令<name>的信息及目标文件
[19:53:34]@~$ update-alternatives --display java
java - manual mode
link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java - priority 1062
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1060
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1061
Current 'best' version is '/home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java
[19:53:49]@~$ update-alternatives --list java
/home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
- --config <name> show alternatives for the <name> group and ask the user to select which one to use.
配置命令<name>的版本,如下:
[19:55:48]@~$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java 1062 auto mode
* 1 /home/likewise-open/SPREADTRUM/hunter.ding/tools/jdk1.8.0_112/bin/java 1062 manual mode
2 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1060 manual mode
3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number: 0
[19:55:56]@~$
这样就使用java1.8作为java命令的默认版本。
ubuntu下update-alternatives命令的使用的更多相关文章
- Ubuntu下几个命令行方式使用的图片浏览工具
想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...
- Ubuntu下使用mail命令发送邮件
Ubuntu下使用mail命令发送邮件 mail命令在Ubuntu下是需要安装的,使用下条命令进行安装: sudo apt-get install heirloom-mailx 接下来输入用户密码,等 ...
- Linux学习笔记(一)----Ubuntu下的apt命令
一.原理与目录 先介绍几个和apt-get相关的目录: /var/lib/dpkg/available文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,其 ...
- Ubuntu下超实用的命令
1. Ubuntu中查看已安装软件包的方法 sudodpkg -l 2. ubuntu系统如何查看软件安装的位置 dpkg-L软件名 实例: wwx@ubuntu:~$dpkg -L mysql-se ...
- ubuntu下svn的命令使用
Subversion的官方网站是:http://subversion.tigris.org/ SVN简介 SVN(Subversion)是一个自由.开源的项目源代码版本控制工具.目前,绝大多数开源软件 ...
- Ubuntu下 安卓 adb 命令报:“insufficient permissions for device: user in plugdev group; ”问题的解决办法
https://blog.csdn.net/freezingxu/article/details/80893025 在接入设备进行联机调试的时候,遇到了这样的问题: insufficient perm ...
- ubuntu下编辑文本命令
常见的基于控制台的文本编辑器有以下几种: emacs 综合性的GNU emacs 编辑环境 nano 一个类似于经典的pico的文本编辑器,内置了一个pi ...
- ubuntu下如何用命令行运行deb安装包
如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境.那该怎么安装?答案是:使用dpkg命令. dpkg命令常用格式如下: sudo dpkg -I ip ...
- 设置ubuntu下使用ls命令显示文件颜色显示
文件颜色属性: # Attribute codes: 字符属性# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed#00无 ...
- Ubuntu 下常用的命令 简略记录
# 动态显示 NVIDIA watch -n 1 nvidia-smi #查看某一目录下文件的总数(不包含子目录) ls -l | wc -l #挂载硬盘或者U盘 mount /dev/sdb1 /m ...
随机推荐
- 取xml文件转成List<T>对象的两种方法
读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最 ...
- 企业架构研究总结(41)——企业架构与建模之ArchiMate的由来和详述(上)
终于完成了关于企业架构框架理论的总结,谢谢各位看官的支持,能挺过之前过于理论化的叙述而坚持到现在着实不易,笔者也自愧没有实践经验可以分享,希望日后有兴趣的看官能够不吝赐教.在本系列后面的也是最后一个大 ...
- 企业架构研究总结(40)——TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架
5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施行.通过对合同的管理施行一个治理方法,如下几点将会得到保障: ...
- CSS 选择器的学习
从蛋学习 CSS 选择器 + 做一个 Jumony 桌面工具,真费劲,目前Jumony Tool两大问题无法解决,完美的显示 html 文档和根据结果在文档中定位,有点儿跑题了…… 1. 选择“cla ...
- django restful webservice返回json数据
做这个demo的前提是你已经配好了python ,django ,djangorestframwork(在我的上一篇博客中有介绍,大家也可以google),mysql-python等. djangor ...
- windows 服务器系统日志分析及安全
一.利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 200 ...
- jQuery中的事件监听方式及异同点
jQuery中的事件监听方式及异同点 作为全球最知名的js框架之一,jQuery的火热程度堪称无与伦比,简单易学的API再加丰富的插件,几乎是每个前端程序员的必修课.从读<锋利的jQuery&g ...
- 从0开始LInux配置PHP开发环境
主要参考 http://www.cnblogs.com/Fly-sky/p/3770305.html 次要参考 http://www.cnblogs.com/mchina/archive/2012/1 ...
- PHP之算法
PHP之算法偶遇隨感 要求如下: 第1种: A,B,C 期望能够得到的组合是: AB,AC,BC 第2种: A,B,C,D(可通过参数控制结果长度,如长度为2或3) 期 ...
- 一个方便且通用的导出数据到 Excel 的类库
一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...