总长DR

总长DR

总长DR

在一些 Linux 系统(基于 RedHat/CentOS)上,我发现了 UNIX备择方案程序用于管理不同版本的java。我的系统之一是 Ubuntu 20.04,并且替代程序不存在。

我的问题是我可以在 Ubuntu 20.04 上使用替代程序吗?

如果是这样,我该如何安装它?我尝试如下图安装,但找不到。

sudo apt install alternatives
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package alternatives

注意:确实安装了类似的名称sudo apt install galternatives(替代品的 GUI 版本?),所以我正在查看它。它可能工作得足够好。

一个相关的问题是 (问) 我可以在任何版本的 Linux 上运行替代程序还是它只能与特定的 Linux 包管理器一起使用?以前,我将它与 CentOSsyum install命令一起使用。

替代方案如何运作?

看这篇文章https://www.redhat.com/sysadmin/alternatives-command。我将包括其中描述的示例,因此这个问题是独立的(如果该链接停止工作):

安装替代品后我应该能够:

(1)安装多个版本的应用程序。只要每个版本安装到不同的目录中,我就可以使用替代方案。

(2) 配置替代程序以了解不同版本的应用程序安装在何处。

在这种情况下,一个在 中/opt/em-legacy/em2,另一个在 中/usr/local/bin/nem。我将给它命名为 uemacs,并告诉替代方案使其可用,/usr/bin/em这样我就不需要更改运行它的路径。

$ sudo替代方案--install /usr/bin/em uemacs /opt/em-legacy/em2 1

$ sudo替代方案--install / usr / bin / em uemacs / usr / local / bin / nem 99

(3) 告诉替代者您要使用哪个版本的应用程序。这是使用alternatives --config如下所示的命令完成的。

$ sudo alternatives --config uemacs
[sudo] password for seth: 

There are 2 programs which provide 'uemacs'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/local/bin/nem
   2           /opt/em-legacy/em2

参考文章中对此进行了更多解释。

我的问题的背景信息

多年来,我一直手动管理 Java 安装,并解压/解压 Java 包,当需要更新时,重复解压/解压到新目录并管理符号链接以指向我最常使用的版本。

输入云...我厌倦了手动安装 Java,我必须找到另一种(更简单的)方法。 备择方案似乎是一个很好的解决方案。

答案1

在基于 Debian 的发行版上,您可以使用两个命令行工具来管理 java 版本:

  1. update-alternatives

这是我的回答U&L对于 的使用update-alternatives

  1. update-java-alternatives

galternatives是 cli 的图形设置工具update-alternatives

相关内容