Update-Alternativen --Install sagt, es braucht Link Name Pfad Priorität?


36

Ich tippte:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/ jdk1.8.0/bin/java" 1

Es heißt, dass Alternativen --install die Priorität des Linknamenspfads benötigt


1
Was genau schreibst du ? Bitte seien Sie vorsichtig mit Interpunktionen (z. B. Bindestrichen) und Leerzeichen
steeldriver

@steeldriver könnten Sie die Pfadpriorität des Linknamens erklären. Wenn es keinen Link wie "/ user / bin / java /" gäbe, würde dies zu einem fehlerhaften Ergebnis führen?
Swapnil

1
Es sollte den Link erstellen (und den Namen, wenn es keine aktuelle javaGruppe in gibt /etc/alternatives). AFAIK Das einzige, was vorher existieren muss, ist die Pfadkomponente , dh /usr/lib/jvm/jdk1.8.0/bin/java- aber beachte, dass (wie in deiner Frage gepostet) du ein Leerzeichen in deinem hast - daher mein 1. Kommentar.
Steeldriver

@steeldriver yeah / usr / lib / jvm / bin / java / ist verfügbar. Ich habe Sudo Update-Alternativen ausprobiert - installiere "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0.05/bin/java" 1
Swapnil

1
Lässt du ein Leerzeichen zwischen dem --und dem Wort install? wenn ja, nicht - es muss sein --install. Auch die Anführungszeichen sollten nicht notwendig sein, nursudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1
Steeldriver

Antworten:


52

Lassen Sie ein Leerzeichen zwischen dem - und dem Wort install? wenn ja, nicht - es muss sein--install

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1

Die Anführungszeichen sollten nicht erforderlich sein, da keines der Elemente eingebettete Leerzeichen enthält - obwohl sie keinen Schaden anrichten sollten.


1
Beachten Sie auch, dass relative Pfade hier nicht akzeptiert werden. Sie müssen den absoluten Pfad verwenden.
Bruno Finger

Was ist der Bereich der Prioritätsnummern? Vielen Dank im Voraus.
Christianbueno.1

7

Der Befehl sintax lautet

alternatives --install <link> <name> <path> <priority>

Wenn die Parameter kein Leerzeichen enthalten, benötigen Sie keine Anführungszeichen.

In Ihrem Fall:

alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0/bin/java 1

Achtung: Hattest du vor jdk wirklich ein Leerzeichen im Pfad?


3

Dies liegt daran, dass dieser Befehl symbolische Verknüpfungen verwaltet. Ich empfehle auszuführen man update-alternatives, um mehr Informationen über den Befehl zu erhalten.


2

Ich versuche nur, mit diesem Beitrag einen Beitrag zu leisten. Ich benutze diesen Befehl, sobald ich mein Setup richtig kenne.

echo 1 | sudo update-alternatives --config java
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.