web-dev-qa-db-ja.com

既存のupdate-alternativesリンクグループにスレーブを追加する方法は?

https://askubuntu.com/a/581497/3331 の回答を使用して、gcc-7とg ++-7をインストールしました。

それから、これがg ++バージョンをgccバージョンに従属させている間に、gcovバージョンのスレーブを追加するのを忘れていたことに気付きました。このリンクグループにスレーブとしてgcovを追加するにはどうすればよいですか?

更新の代替手段を探しましたが、最初からやり直さずには方法がわかりませんでした。このケースがそれを行う方法である場合、現在の更新代替グループを削除して新たに開始する必要がありますか?

(Windows上のUbuntuでBashを使用しているため、16.04)

4
Toby

この問題をグーグルで検索したところ、最初の3ページには関連する結果が2つしかありません。 1つは、この無回答の問題です。もう1つはCentOSバグトラッカーに関するバグレポートです。 update-alternativesは、新しいスレーブリンクを追加する代わりに置き換えます

_ Debian --installマンページのupdate-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"

現在の動作では、新しく追加されたスレーブが元のスレーブを完全に置き換えるため、最初にリンクグループを削除する必要はありません。代替ステータスを安全に表示するには、常にupdate-alternatives --display "$your_command"を使用できることに注意してください。

7
Weekend