web-dev-qa-db-fra.com

Comment ajouter un esclave au groupe de liens existant update-alternatives?

J'ai installé gcc-7 et g ++ - 7 en utilisant la réponse à https://askubuntu.com/a/581497/3331 .

Ensuite, j'ai réalisé que bien que cela asservisse la version g ++ à la version gcc, j'avais oublié d'ajouter un asservissement pour la version gcov. Comment puis-je ajouter gcov en tant qu'esclave à ce groupe de liens?

J'ai vérifié l'homme pour des alternatives de mise à jour mais je n'ai pas vu de solution sans tout recommencer à zéro. Si tel est le cas, dois-je supprimer le groupe de mises à jour alternatif actuel pour recommencer à zéro?

(Je suis sur Bash sous Ubuntu sous Windows, donc 16.04)

4
Toby

J'ai consulté ce numéro sur Google et, dans les trois premières pages, il n'y a que deux résultats pertinents. L'un est ce problème de non-réponse; un autre est un rapport de bogue sur le traqueur de bogues CentOS, update-alternatives remplace les nouveaux liens esclaves au lieu de les ajouter .

Dans section --install de la page de manuel Debian update-alternatives , on dit que

Si le nom alternatif spécifié existe déjà dans les enregistrements du système alternatif, les informations fournies seront ajoutées en tant que nouvel ensemble d'alternatives pour le groupe.

Mais pour le moment, je crains que nous ne puissions y parvenir qu'en ajoutant tous les esclaves au groupe de liaisons existant à la fois, y compris les esclaves originaux et nouvellement ajoutés.

Pour moi, configurer Java alternatives, c’est

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"

Vous n'avez pas besoin de supprimer le groupe de liens en premier, car le comportement actuel est que les esclaves récemment ajoutés remplacent complètement ceux d'origine. Sachez que vous pouvez toujours utiliser update-alternatives --display "$your_command" pour afficher le statut de remplacement en toute sécurité.

7
Weekend