欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 如何使用 update-alternatives 切换软件版本 ?

如何使用 update-alternatives 切换软件版本 ?

2024/10/25 19:29:18 来源:https://blog.csdn.net/xiaochong0302/article/details/141849980  浏览:    关键词:如何使用 update-alternatives 切换软件版本 ?

How to Use the update-alternatives Command in Debian

Debian 中的 update-alternatives 命令是系统上多版本软件管理的利器。它允许您轻松地在同一程序的不同版本之间切换。假设您在单个系统上安装了多个 Java 版本或 Python 版本,在 update-alternatives 的帮助下,您可以将程序的任何版本设置为系统的默认版本。

什么是 update-alternatives?

update-alternatives 是一个命令行工具,可帮助您设置、维护和管理不同版本软件的符号链接。这些符号链接指向系统上的实际文件,使得在不同版本之间切换变得很容易。

为什么用 update-alternatives?

当您的系统上安装了一个程序的多个版本,并且希望在它们之间轻松切换时,使用更新替代方案是有益的。例如,如果您安装了两个版本的 Python,您可以使用 update-alternatives 来切换系统使用的默认版本。

update-alternatives 是如何工作的?

当您在 Debian 上安装软件时,它通常会在 /usr/bin 目录。这些链接指向实际程序文件。

请参阅下图, php 8.3 被设置成 PHP 的默认版本,链接到 /usr/bin/php 二进制文件。

Linux update-alternatives Command Examples

让我们看一些实际的例子来理解如何使用 update-alternatives 命令。

Example 1: Managing Multiple PHP Versions

我已经在系统上安装了 PHP 7.4, PHP 8.1 和 PHP 8.3。默认情况下,安装过程为每个已安装的版本创建 update-alternatives 引用,您可以使用以下命令在它们之间切换。

sudo update-alternatives --config php

执行命令后,您应该看到以下输出。

There are 3 choices for the alternative php (providing /usr/bin/php).Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.3   83        auto mode1            /usr/bin/php7.4   74        manual mode2            /usr/bin/php8.1   81        manual mode3            /usr/bin/php8.3   83        manual modePress <enter> to keep the current choice[*], or type selection number:

输入选择号并单击 Enter,以使其成为系统的默认 PHP 版本。

Example 2: Managing Java Versions

在前面的示例中,已经创建了链接,但是如果没有创建链接呢?我们需要为应用程序创建一组版本链接。假设您安装了多个 Java 版本,我们首先将不同的 java 版本添加到组中,然后选择默认版本。

让我们创建一个链接 Java 8,并命名组为 Java

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1

执行完命令后,您应该看到以下输出

update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode

接下来,在同一组中为 Java 11 创建一个链接

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 2

执行完命令后,您应该看到以下输出

update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode

使用以下命令,在版本之间切换

sudo update-alternatives --config java

执行完命令后,您应该看到以下输出

There are 2 choices for the alternative java (providing /usr/bin/java).Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   2         auto mode1            /usr/lib/jvm/java-8-openjdk-amd64/bin/java    1         manual mode2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   2         manual modePress <enter> to keep the current choice[*], or type selection number:

选择任意选择号并按 Enter 使其成为系统上的默认 Java 版本。

我的开源项目

酷瓜云课堂-在线教育解决方案

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com