总长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 版本:
这是我的回答U&L对于 的使用update-alternatives
。
这galternatives
是 cli 的图形设置工具update-alternatives
。