
Eu instalei openjdk-9-jdk:amd64
no Ubuntu e quando executo which javac
ele mostra um softlink que leva ao /etc
diretório:
$ ls -l /usr/bin/javac
lrwxrwxrwx 1 root root 23 kwi 13 08:09 /usr/bin/javac -> /etc/alternatives/javac
Até onde eu sei, apenas os dados de configuração devem ser armazenados em arquivos /etc
. Por que está javac
armazenado lá e devo mover este executável?
Responder1
Se você olhar, /etc/alternatives
verá que não contém executáveis, mas mais links simbólicos; por exemplo
$ ls -l /etc/alternatives/javac
lrwxrwxrwx 1 root root 43 Sep 20 2016 /etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
É assim que as alternativas são implementadas: o “binário” no caminho é um link simbólico para a alternativa em /etc/alternative
, que é em si um link simbólico para o binário alvo escolhido. Esta seleçãoédados de configuração, portanto /etc
é perfeitamente apropriado. (Alternativas podem ser usadas para mais do que binários, então você encontrará páginas de manual etc. lá também.)