Por que usar o comando alternatives?

0

Estou seguindo as instruções do site sobre como criar uma janela de encaixe de inicialização recipiente. Eles estão usando o CentOS.

No dockerfile, eles chamam o comando alternativo várias vezes. Eu gostaria de entender o propósito dessas declarações.

nota: run é um comando do docker. Estou interessado no comando alternativo passado para executar

RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000

Pelo que posso dizer, eles estão modificando links simbólicos. Isso é correto e, mais importante, por quê?

Thnx

Matt

    
por tatmanblue 11.08.2017 / 22:35

1 resposta

5

Você pode precisar manter várias versões de um executável (como o java) em seu sistema. Talvez a maior parte do seu sistema funcione com o Java 8, mas um aplicativo precisa do Java 7.

O programa alternativas permite alternar rapidamente de uma versão para outra.

EDIT: Por outras razões, você pode querer fazer isso, veja Qual é a diferença entre JAVA_HOME e update-alternatives? / a> e Melhor maneira de adicionar alternativas usando as alternativas de atualização?

De alternativas ao homem :

It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice of editor to invoke if the user has not specified a particular preference.

The alternatives system aims to solve this problem. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name.

por 11.08.2017 / 22:38