标签: update-alternatives

如何防止 openjdk-6-jre-headless 破坏 Oracle JDK 安装?

我的自动构建服务器运行依赖于Apache Ant的作业。脚本调用apt-get install ant. Ant 取决于openjdk-6-jre-headless哪个运行update-alternatives使自己成为默认 JDK(在此过程中重写我的符号链接)。我已经安装了 Oracle JDK(手动)并且不想update-alternatives运行。update-alternatives每次发生这种情况时,我都无法手动恢复。

去年有人试图纠正这个问题,但被拒绝了:http : //bugs.debian.org/cgi-bin/bugreport.cgi?bug=678195

我如何防止openjdk-6-jre-headless调用,update-alternatives或者更糟糕的情况,我如何在安装过程之前查找值并在事后恢复它?

更新:我在这里提交了一个新的错误报告。我将不胜感激您的支持。

installation apt java openjdk update-alternatives

7
推荐指数
1
解决办法
5893
查看次数

为什么我不能使用 update-alternatives 来选择 Python 2 或 3?

因为 ubuntu 捆绑了不同的版本,所以为什么update-alternatives不能使用有什么特别的原因Python吗?

python update-alternatives

7
推荐指数
1
解决办法
5654
查看次数

如何将我想要的编辑器添加到“update-alternatives”交互式菜单中?

我刚刚在数字海洋服务器上安装了 ubuntu 16.04.2 32 位。

Digital Ocean 对 ubuntu 安装进行了一些调整,例如他们安装了完整的 vim 作为他们在 VPS 中使用的块映像的一部分。我现在想使用这个 - 预安装 - vim 作为我的默认编辑器。所以我跑

sudo update-alternatives --config editor
Run Code Online (Sandbox Code Playgroud)

这给了这个菜单

$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press <enter> to keep the current choice[*], or type selection …
Run Code Online (Sandbox Code Playgroud)

alternative update-alternatives

7
推荐指数
3
解决办法
5898
查看次数

更新替代品:错误:mozilla-javaplugin.so 没有替代品

我正在尝试从 Bionic 中的 Java 开发工具包 (JDK) 8 切换到 JDK 11。安装很顺利:

$ sudo apt-get install openjdk-11-jdk
$ sudo update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101       /usr/lib/jvm/java-1.11.0- openjdk-amd64
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)

所以我想我可以通过以下方式切换:

$ sudo update-java-alternatives -s java-1.11.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)

然而,这会返回:

update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-11-openjdk-amd64/lib/IcedTeaPlugin.so
Run Code Online (Sandbox Code Playgroud)

该文件确实不存在,但 /usr/lib/jvm/java-1.8.0-openjdk-amd64 中也不存在。mozilla-javaplugin.so 也是如此。那么为什么 update-alternatives 会抱怨它不可用,我怎样才能让它停止关心呢?

openjdk update-alternatives

7
推荐指数
1
解决办法
2185
查看次数

“select-editor”和“update-alternatives --config editor”之间的区别

我正在研究 Ubuntu 如何选择默认编辑器,我注意到为了设置默认编辑器进行编辑crontabs,我使用while 来设置我使用的select-editor默认编辑器。有谁知道这两者之间的具体区别吗?有很多文档单独解释了每一项,但我无法弄清楚两者之间的区别或为什么我必须同时设置两者。visudoupdate-alternatives --config editor

为了完整起见,我想指出我知道如何通过设置 EDITOR 和 VISUAL 环境变量来设置默认编辑器。

cron update-alternatives visudo

7
推荐指数
1
解决办法
1045
查看次数

在 14.04.2 LTS 上使用 java 7 和 java 8 的替代方案

我安装了java 7。使用 PPA 存储库,我添加了 java 8。

sudo apt-get install oracle-java8-installer
Run Code Online (Sandbox Code Playgroud)

这使 java 8 成为默认值。因此,我尝试使用 update-alternatives 将 java 7 设为默认值。

sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Run Code Online (Sandbox Code Playgroud)

那导致

java -version
Run Code Online (Sandbox Code Playgroud)

失败。

看起来问题可能在于 Java 的替代品列表很长,我需要将它们一起移动。有办法吗?

java update-alternatives 14.04

6
推荐指数
1
解决办法
1万
查看次数

如何重新创建 x-terminal-emulator 替代方案?

我刚刚安装了 Ubuntu GNOME 16.04,在尝试添加terminix为默认终端模拟器时,我搞砸了非常糟糕的x-terminal-emulator替代方案,完全是我的错!

我输入了update-alternatives --install错误的命令,现在我没有其他选择了,这就是我现在得到的:

$ sudo update-alternatives --config x-terminal-emulator
There is only one alternative in link group x-terminal-emulator (providing /usr/bin/x-terminal-emulator): /usr/bin/gnome-terminal.wrapper
Nothing to configure.
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/gnome-terminal.wrapper because link group x-terminal-emulator is broken
update-alternatives: warning: not replacing /usr/bin/x-terminal-emulator with a link
Run Code Online (Sandbox Code Playgroud)

幸运的是,唯一的问题是我无法使用Ctrl+ Alt+T快捷方式打开终端(或任何与此相关的终端模拟器)。Super使用应用程序名称调用它们并进行搜索是没有任何问题的。就像我说的,这不是一个大问题,但它让我很困扰。

我尝试过重新安装模拟器,但没有成功。如果您知道任何可能解决我的困境的方法,我将非常感激!

command-line shortcut-keys update-alternatives

6
推荐指数
2
解决办法
4998
查看次数

无法更改更新替代 mvn

Ubuntu 14.04

mvn通过 `update-alternatives安装和更改版本后,配置保持不变。

脚步

  1. 安装新版本 mvn

    sudo update-alternatives --install /usr/bin/mvn mvn /opt/maven/apache-maven-3.5.0/bin/mvn 100
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检查替代品

    $ sudo update-alternatives --config mvn
    There are 2 choices for the alternative mvn (providing /usr/bin/mvn).
    
      Selection    Path                                   Priority   Status
    ------------------------------------------------------------
    * 0            /opt/maven/apache-maven-3.3.9/bin/mvn   100       auto mode
      1            /opt/maven/apache-maven-3.3.9/bin/mvn   100       manual mode
      2            /opt/maven/apache-maven-3.5.0/bin/mvn   10        manual mode
    
    Press enter to keep the current choice[*], or type selection number: 2
    update-alternatives: using /opt/maven/apache-maven-3.5.0/bin/mvn to provide /usr/bin/mvn (mvn) in manual mode
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更换新的替代品

    $ sudo update-alternatives --config mvn …
    Run Code Online (Sandbox Code Playgroud)

command-line update-alternatives 14.04

6
推荐指数
1
解决办法
6397
查看次数

如何将 slave 添加到现有的 update-alternatives 链接组?

我已经使用https://askubuntu.com/a/581497/333103 上的答案安装了 gcc-7 和 g++-7 。

然后我意识到,虽然这将 g++ 版本从属于 gcc 版本,但我忘记为 gcov 版本添加一个从属。如何将 gcov 作为从属添加到此链接组?

我检查了这个人的更新替代方案,但我没有看到一种方法,而不仅仅是从头开始。如果这种情况是这样做的,那么我是否需要删除当前的更新替代组才能重新开始?

(我在 Windows 上的 Ubuntu 上使用 Bash,所以是 16.04)

apt gcc update-alternatives

6
推荐指数
1
解决办法
5443
查看次数

update-java-alternatives jinfo 文件不存在

我正在尝试学习如何快速更改我的系统使用的 Java 版本,如本文所述:https : //aboullaite.me/switching-between-java-versions-on-ubuntu-linux/ 我使用过 apt-安装 openjdk-8-jdk,当我运行 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      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个可以在版本之间切换的脚本,如文章中所述。(这是文章中的脚本:

sudo update-java-alternatives -s java-8-oracle
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export PATH=$PATH:$JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,会发生这种情况:

sudo update-java-alternatives -s java-8-openjdk-amd64
update-java-alternatives: file does not exist: /usr/lib/jvm/.java-8-openjdk-amd64.jinfo
Run Code Online (Sandbox Code Playgroud)

如何在没有错误的情况下更新 java-alternatives?我应该跳过那条线吗?

java openjdk apt-cache update-alternatives

5
推荐指数
2
解决办法
2353
查看次数