
Lo instalé openjdk-9-jdk:amd64
en Ubuntu y cuando lo ejecuto which javac
me muestra un enlace suave que conduce al /etc
directorio:
$ ls -l /usr/bin/javac
lrwxrwxrwx 1 root root 23 kwi 13 08:09 /usr/bin/javac -> /etc/alternatives/javac
Hasta donde yo sé, solo los datos de configuración deben almacenarse en /etc
. ¿Por qué está javac
almacenado allí? ¿Debo mover este ejecutable?
Respuesta1
Si miras, /etc/alternatives
verás que no contiene ejecutables, sino más enlaces simbólicos; Por ejemplo
$ 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
Así es como se implementan las alternativas: el "binario" en la ruta es un enlace simbólico a la alternativa en/etc/alternative
, que a su vez es un enlace simbólico al binario de destino elegido. Esta selecciónesdatos de configuración, por lo que /etc
es perfectamente apropiado. (Se pueden usar alternativas para más que archivos binarios, por lo que también encontrará páginas de manual, etc. allí).