简介linux下的多版本管理工具—alternatives

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简介linux下的多版本管理工具—alternatives相关的知识,希望对你有一定的参考价值。

   alternatives是Unix下重要的版本管理工具,它最早是在debain的系统中出现,因为它强大实用性使得它在各个Unix环境中大量的移植使用,而我们在平时的时候可能最经常使用的是java的openjdk工具包的版本转换,而在alternatives实现多版本是使用替换系统中命令的link指向来实现版本的转换,它默认的多版本link文件都是放在/etc/alternatives路径下,在实际生产中可以用他来管理系统中不同软件的版本问题。

   在这里就用openjdk工具包做例子,openjdk工具包下的java虚拟机在平时大量的模拟java的环境时都会被使用到,在这里我们可以看下用yum安装的rpm包java的系统文件

[[email protected] ~]# ll $(which java)
lrwxrwxrwx. 1 root root 22 12月 31 12:02 /usr/bin/java -> /etc/alternatives/java

可以看出来系统中java的路径其实是一个link文件,它所指向的就是系统中的/etc/alternatives下的java,现在去/etc/alternatives路径下看下都有什么东西

[[email protected] ~]# cd /etc/alternatives
[[email protected] alternatives]# ll java
lrwxrwxrwx. 1 root root 46 12月 31 12:02 java -> /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

在这里就可以看出系统中的java指令是被指向openjdk1.6版本下,而我们需要切换java的版本也很简单:

[[email protected] alternatives]# alternatives --config java

共有 2 个程序提供“java”。

  选择    命令
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
 + 2           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

按 Enter 来保存当前选择[+],或键入选择号码:2

,在这里说明一下alternatives的参数选项

--install link name path priority:
用于添加替代系统指令下的文件,就是安装替换系统中的文件成link文件
--remove name path:
移除用alternatives管理的关系
--set name path
手动添加链接的从属关系,这个在原debian中是没有的参数
--config name
对alternatives控制的软件进行版本修改,用于手动指定软件版本
--auto name
对alternatives控制的软件进行自动选项版本,这里一般是选项系统中最新的版本
--display name
用于显示alternatives控制的软件如何替换,替换了那些配置文件、版本等等

总之来说alternatives版本控制器是比较重要的版本管理工具,使用它可以快速管理系统中的软件版本,以减少去修改大量的环境变量的时间。

本文出自 “技术随笔” 博客,谢绝转载!

以上是关于简介linux下的多版本管理工具—alternatives的主要内容,如果未能解决你的问题,请参考以下文章

Linux下的基于Pthread的多线程Socket编程

Anaconda简介及CentOS下的安装及使用

linux的简介

Linux系统更改默认Python版本

Linux01 /Linux初识

Linux入门进阶第四天——服务管理