alternatives命令用法

本文介绍Linux系统中使用alternatives命令管理多个版本的相同软件的方法。通过实例展示了如何安装和配置不同版本的Java,使得用户可以根据需求轻松切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

alternatives命令用法


alternatives是Linux下的一个功能强大的命令。只能在root权限下执行。如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置。

alternatives常用于同一个系统中安装同一软件的多个版本。比如为了开发需要,我需要安装JDK1.4.2,同时还需要JDK1.6.10,我怎么样才能忽略安装路径,按照我自己的意思,使用我想要的java版本呢?

下面为您一一道来。

alternatives的命令行执行如下:
[root@localhost tools]# alternatives 
alternatives version 1.3.36 - Copyright (C) 2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.

usage: alternatives --install <link> <name> <path> <priority>
  [--initscript <service>]
  [--slave <link> <name> <path>]*
  alternatives --remove <name> <path>
  alternatives --auto <name>
  alternatives --config <name>
  alternatives --display <name>
  alternatives --set <name> <path>

common options: --verbose --test --help --usage --version
  --altdir <directory> --admindir <directory>

说明:
alternatives --install <link> <name> <path> <priority>
其中,
install表示安装
link是符号链接
name则是标识符
path是执行文件的路径
priority则表示优先级

以java的安装为例,我的Fedora 8下自带了两种java版本,分别如下:

  Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.7.0-icedtea/bin/java
  2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java


我在目录/tools/jdk安装了java version "1.4.2_19"
[root@localhost test]# alternatives --install /usr/bin/java java /tools/jdk/bin/java 3
[root@localhost test]# alternatives --config java

There are 3 programs which provide 'java'.

  Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-icedtea/bin/java
  2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
  3 /tools/jdk/bin/java

Enter to keep the current selection[+], or type selection number: 3


我还在目录/tools/jdk6下安装了java version "1.6.0_12"
[root@localhost test]# alternatives --install /usr/bin/java java /tools/jdk6/bin/java 4
[root@localhost test]# alternatives --config java

There are 4 programs which provide 'java'.

  Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.7.0-icedtea/bin/java
  2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
 + 3 /tools/jdk/bin/java
  4 /tools/jdk6/bin/java

Enter to keep the current selection[+], or type selection number: 4

用alternatives --config java就可以选择你想要的Java版本。

`update-alternatives --install` 是一个用于在多个版本的相同程序之间切换的命令。它允许系统管理员设置不同程序的优先级,并让用户选择默认使用哪个版本。具体用法如下: ### 命令格式 ```bash sudo update-alternatives --install <link> <name> <path> <priority> ``` ### 参数说明 - `<link>`: 目标链接文件的路径(通常是 `/usr/bin` 下的可执行文件)。 - `<name>`: 交替项的名称(例如 `gcc`)。 - `<path>`: 实际可执行文件的路径(例如 `/usr/bin/gcc-9`)。 - `<priority>`: 设置该版本的优先级,数值越大优先级越高。 ### 示例 假设你想安装两个版本的 GCC 并设置它们的优先级: 1. **安装 GCC 11 和 GCC 9** ```bash sudo apt-get install gcc-11 sudo apt-get install gcc-9 ``` 2. **添加到 alternatives 系统** ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50 ``` 3. **配置默认版本** ```bash sudo update-alternatives --config gcc ``` 运行 `--config` 命令后,系统会提示你选择默认使用的 GCC 版本。 ### 文档中的示例 在提供的文档中,有以下几个 `update-alternatives --install` 命令: 1. **安装 GCC 编译器** ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50 ``` 2. **安装 G++ 编译器** ```bash sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 40 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 50 ``` 3. **安装 GFortran 编译器** ```bash sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 40 sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 50 ``` 这些命令将不同的编译器版本添加到 `alternatives` 系统中,并设置了各自的优先级。你可以通过 `--config` 命令来选择默认使用的版本。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值