网站首页 > 资源文章 正文
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 二进制文件。
让我们看一些实际的例子来理解如何使用 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 mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
3 /usr/bin/php8.3 83 manual mode
Press <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 mode
1 /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
选择任意选择号并按 Enter 使其成为系统上的默认 Java 版本。
我的开源项目
- course-tencent-cloud(酷瓜云课堂 - gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 - github 仓库)
猜你喜欢
- 2024-09-18 Git简介(git)
- 2024-09-18 七款最佳视频和电影制作管理软件(制作电影视频的app)
- 2024-09-18 7.2kstar!一款无比优雅的文档管理系统,免费开源!
- 2024-09-18 源代码加密软件有哪些?企业常用的10款源代码加密软件推荐
- 2024-09-18 都2024年了,你还在手动切换不同项目得nodejs版本
- 2024-09-18 剪贴板管理工具,EcoPaste软件体验
- 2024-09-18 不会影响对比合并的源代码加密软件!10款源代码加密软件推荐
- 2024-09-18 实例讲解Simulink建立模型的版本管理
- 2024-09-18 [Android] 酷控智能遥控器 2.5版本 支持几十种电器遥控 支持拍照识别
- 2024-09-18 Shire.run:Prompt 即代码到 Prompt 即程序,思考 Prompt 的无限可能性
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)