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

Tob*_*oby 6 apt gcc update-alternatives

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

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

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

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

Wee*_*end 12

我用谷歌搜索了这个问题,在前三页中,只有两个相关结果。一个是这个没有答案的问题;另一个是关于 CentOS 错误跟踪器的错误报告,update-alternatives替换新的从链接而不是添加链接

--installDebianupdate-alternatives联机帮助页的部分中,据说

如果指定的替代名称已存在于替代系统的记录中,则所提供的信息将被添加为该组的一组新替代。

但就目前而言,恐怕我们只能通过一次性将所有从站添加到现有链接组中来实现这一点,包括原始和新添加的从站。

对我来说,配置java替代方案是

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk-10/bin/java" 10 \
    --slave "/usr/bin/jar"          "jar"           "/opt/jdk-10/bin/jar" \
    --slave "/usr/bin/jarsigner"    "jarsigner"     "/opt/jdk-10/bin/jarsigner" \
    --slave "/usr/bin/javac"        "javac"         "/opt/jdk-10/bin/javac" \
    --slave "/usr/bin/javadoc"      "javadoc"       "/opt/jdk-10/bin/javadoc" \
    --slave "/usr/bin/javap"        "javap"         "/opt/jdk-10/bin/javap" \
    --slave "/usr/bin/javaws"       "javaws"        "/opt/jdk-10/bin/javaws"
Run Code Online (Sandbox Code Playgroud)

您不需要先删除链接组,因为当前的行为是新添加的从站完全替换原来的从站。请注意,您始终可以使用update-alternatives --display "$your_command"来安全地查看替代状态。