Ich habe update-alternatives
mehrmals im Handbuch nachgeschlagen, aber ich kann nicht herausfinden, wie der aktuelle Link auf eine bestimmte Alternative verweist. Diese Informationen werden beim Hinzufügen einer neuen Alternative benötigt.
Aus dem update-alternatives
Handbuch:
--install <link> <name> <path> <priority>
Angenommen, ich möchte eine neue Version von Java Runtime Edition hinzufügen, kenne aber den aktuellen Symlink, der auf die Alternative ( <link>
Parameter) verweist, nicht . Was ich derzeit mache ist:
sudo update-alternatives --install /tmp/randomStuff java /usr/local/java/jre1.7.0_25/bin/java 0
Dieser Befehl gibt Folgendes aus:
update-alternatives: renaming java link from /usr/local/bin/java to /tmp/randomStuff.
Das Lesen die Ausgabe mir die alte Verbindung herauszufinden, die auf die Alternative deuten, so dass ich mein Kommando schließlich mit den rechten wieder laufen kann <link>
Parameter, ändert /tmp/randomStuff
an /usr/local/bin/java
:
sudo update-alternatives --install /usr/local/bin/java java /usr/local/java/jre1.7.0_25/bin/java 0
Das funktioniert gut, aber wie Sie sehen, ist es sehr umständlich , den Befehl mit /tmp/randomStuff
dem <link>
Parameter auszuführen.
Hier kommen also die Fragen: (1) Gibt es update-alternative
Argumente, die den aktuellen Link ausgeben können, der auf eine bestimmte Alternative verweist, oder (2) gibt es eine Möglichkeit, eine neue Alternative zu installieren, ohne einfach einen neuen Parameter angeben zu müssen den Strom halten <link>
?
quelle
sudo update-alternatives --query java Link: java Status: auto Best: /usr/local/java/jre1.6.0_45/bin/java Value: /usr/local/java/jre1.6.0_45/bin/java Alternative: /usr/local/java/jre1.6.0_45/bin/java Priority: 0
1.16.10
installiert. Können Sie Ihre Version nicht aktualisieren?Einfache Frage hier: Wird es nicht
<link>
immer dieselbe sein, die von einem einfachenwhich [program]
System abgerufen wird, da dies der Link ist, über den das System ein Programm über die Befehlszeile aufruft?Wenn ich zum Beispiel die Links für pycharm zurückverfolge, die ich bekomme:
Und ich kann dann verwenden:
Für meinen neuen Pycharm installieren.
Dann könnten Sie vielleicht ein Skript erstellen, um die Ausgabe von zu verwenden
which
.quelle
update-alternatives
verfolge auch Java- und Flash-Plugins für Firefox und vergesse immer den Pfad "/ usr / lib / mozilla / plugins", in dem ich diese Plugins ablegen sollte. Ich kann diesen Pfad nicht mitwhich
oderwhereis
oder einem Befehl herausfinden, der mir in den Sinn kommt, wohingegen die Antwort von @binfalse diesen Pfad auf meinem Computer korrekt zurückgibt, wenn ich ihn ausführeupdate-alternatives --query java-plugin
.