update-alternatives --install говорит, что ему нужен приоритет пути к имени ссылки?

36

Я набрал:

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

Это говорит об альтернативах - для установки требуется приоритет имени пути ссылки

Swapnil
источник
1
Что вы печатая точно ? пожалуйста, будьте осторожны с любыми пунктуацией (например, тире) и пробелами
Steeldriver
@steeldriver не могли бы вы объяснить приоритет пути к имени ссылки. Если не было ссылки типа "/ user / bin / java /", тогда будет ли ошибочный результат?
Свопнил
1
Следует создать ссылку (и имя, если в ней нет текущей javaгруппы /etc/alternatives). AFAIK единственная вещь, которая должна существовать заранее, это компонент пути, т. Е. /usr/lib/jvm/jdk1.8.0/bin/java- но учтите, что (как написано в вашем вопросе) у вас есть пробел - отсюда мой первый комментарий.
SteelDriver
@steeldriver да / usr / lib / jvm / bin / java / доступен. Я пробую sudo update-альтернативы - установите "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0.05/bin/java" 1
Swapnil
1
Вы оставляете пробел между --словом и словом install? если так, не надо - должно быть --install. Кроме того, цитаты не должны быть необходимыми, простоsudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1
Steeldriver

Ответы:

52

Вы оставляете пробел между - и словом установить? если так, не надо - это должно быть--install

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

Кавычки не должны быть необходимыми, поскольку ни один из элементов не имеет встроенных пробелов - хотя они не должны причинять вреда.

steeldriver
источник
1
Также имейте в виду, что относительные пути здесь не принимаются, вы должны использовать абсолютный путь.
Бруно Фингер
какой диапазон номеров приоритетов?, заранее спасибо.
Кристиан
7

Синтаксис команды

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

если в параметрах нет пробела, вам не нужны кавычки.

В твоем случае:

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

Обратите внимание: действительно ли у вас было место на пути до jdk?

Даниэле Лицитра
источник
3

Это потому, что эта команда поддерживает символические ссылки. Я рекомендую выполнить, man update-alternativesчтобы получить больше информации о команде.

Чаро
источник
2

Просто пытаюсь внести свой вклад с этим постом. Я использую эту команду, когда я правильно знаю настройки.

echo 1 | sudo update-alternatives --config java
Вальтер Сильва
источник