update-alternative --install diz que precisa de prioridade no caminho do nome do link?

36

Eu digitei:

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

Diz alternativas - a instalação precisa de prioridade no caminho do nome do link

Swapnil
fonte
11
O que você está digitando exatamente ? por favor tenha cuidado com qualquer pontuação (por exemplo, traços) e espaços
steeldriver
@steeldriver você poderia explicar a prioridade do caminho do nome do link. Se não houver um link como "/ user / bin / java /", o resultado será incorreto?
Swapnil
11
Ele deve criar o link (e o nome se não houver um javagrupo atual /etc/alternatives). AFAIK, a única coisa que deve preexistir é o componente do caminho , isto é /usr/lib/jvm/jdk1.8.0/bin/java- mas observe que (conforme publicado na sua pergunta) você tem um espaço no seu - daí o meu primeiro comentário.
Steeldriver
O @steeldriver sim / usr / lib / jvm / bin / java / está disponível. Eu tentei sudo update-alternative - install "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0.05/bin/java" 1
Swapnil
11
Você está deixando um espaço entre --a palavra e install? se assim for, não - precisa ser --install. Também as aspas não deve ser necessário, apenassudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0.05/bin/java 1
steeldriver

Respostas:

52

Você está deixando um espaço entre - e a palavra instalar? se sim, não - precisa ser--install

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

As aspas não devem ser necessárias, pois nenhum dos elementos possui espaços incorporados - embora não causem nenhum dano.

chave de aço
fonte
11
Além disso, lembre-se de que caminhos relativos não são aceitos aqui, você deve usar o caminho absoluto.
Bruno Finger
qual é o intervalo de números de prioridade ?, obrigado antecipadamente.
christianbueno.1
7

O comando sintax é

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

se não houver espaço nos parâmetros, você não precisará de aspas.

No seu caso:

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

Preste atenção: você realmente tinha um espaço no caminho antes do jdk?

Daniele Licitra
fonte
3

Isso ocorre porque esse comando mantém links simbólicos. Eu recomendo executar man update-alternativespara obter mais informações sobre o comando.

Charo
fonte
2

Apenas tentando contribuir com este post. Eu uso esse comando, uma vez que conheço minha configuração corretamente.

echo 1 | sudo update-alternatives --config java
Valter Silva
fonte