javac instalado em /etc

javac instalado em /etc

Eu instalei openjdk-9-jdk:amd64no Ubuntu e quando executo which javacele mostra um softlink que leva ao /etcdiretó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á javacarmazenado lá e devo mover este executável?

Responder1

Se você olhar, /etc/alternativesverá 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.)

informação relacionada