update-alternatives - install mówi, że potrzebuje priorytetu ścieżki nazwy łącza?

36

Wpisałem:

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

Mówi się, że alternatywy - install wymaga priorytetu ścieżki nazwy linku

Swapnil
źródło
1
Co dokładnie piszesz ? proszę uważać na wszelkie znaki interpunkcyjne (np. myślniki) i spacje
steeldriver
@steeldriver możesz wyjaśnić priorytet ścieżki nazwy linku. Jeśli nie byłoby linku typu „/ user / bin / java /”, to czy wynik będzie błędny?
Swapnil
1
Powinien utworzyć link (i nazwę, jeśli nie ma bieżącej javagrupy /etc/alternatives). AFAIK, jedyną rzeczą, która musi istnieć wcześniej, jest komponent ścieżki , tj. /usr/lib/jvm/jdk1.8.0/bin/java- ale zauważ, że (jak napisano w pytaniu) masz w sobie miejsce - stąd mój pierwszy komentarz.
steeldriver
@steeldriver yeah / usr / lib / jvm / bin / java / jest dostępny. Wypróbowałem sudo update-alternatives - zainstaluj „/ usr / bin / java” „java” „/usr/lib/jvm/jdk1.8.0.05/bin/java” 1
Swapnil
1
Czy zostawiasz spację między --słowem a słowem install? jeśli tak, to nie - musi być --install. Również cytaty nie powinny być konieczne, po prostusudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1
steeldriver

Odpowiedzi:

52

Czy pozostawiasz spację między - a słowem install? jeśli tak, to nie - musi być--install

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

Cytaty nie powinny być konieczne, ponieważ żaden z elementów nie ma osadzonych spacji - chociaż nie powinny wyrządzać żadnej szkody.

steeldriver
źródło
1
Pamiętaj również, że ścieżki względne nie są tutaj akceptowane, musisz użyć ścieżki bezwzględnej.
Bruno Finger,
jaki jest zakres numerów priorytetowych ?, z góry dzięki.
christianbueno.1
7

Komenda sintax to

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

jeśli w parametrach nie ma miejsca, nie potrzebujesz cudzysłowów.

W Twoim przypadku:

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

Zwróć uwagę: czy naprawdę miałeś miejsce na ścieżce przed jdk?

Daniele Licitra
źródło
3

Jest tak, ponieważ to polecenie zachowuje dowiązania symboliczne. Polecam wykonać, man update-alternativesaby uzyskać więcej informacji o poleceniu.

Charo
źródło
2

Po prostu próbuję przyczynić się do tego postu. Korzystam z tego polecenia, gdy tylko dobrze znam swoją konfigurację.

echo 1 | sudo update-alternatives --config java
Valter Silva
źródło