Linux Daemon escrito en ubicación Java
Pregunta
Actualmente estoy escribiendo un demonio de Java. Estoy escribiendo una secuencia de comandos que tendrá los comandos estándar del daemon (iniciar, detener, reiniciar, estado) y estoy tratando de decidir dónde deberían ir las cosas al instalar el daemon.
Mi idea actual es:
Archivo PID: /var/run/myapp.pid
Script Daemon: /etc/init.d/myapp
Aplicación Java (.jar): / usr / bin / myapp
Registros: /var/log/myapp.err , /var/log/myapp.log , / var / log / myapp .info (obtienes la idea)
Configuraciones: /etc/myapp.conf (o / etc / myapp / configs-go-here si tengo más de una en el futuro )
Todavía soy nuevo en la estructura de directorios de Linux, así que si estoy haciendo algo mal, hágamelo saber. Lo que más me confunde es que mi aplicación Java es un archivo .jar (archivo) y no un binario. Entonces, ¿eso significa que / usr / bin / no es el "correcto"? lugar para ello?
Solución
Podría colocar el archivo .jar
en /usr/lib/myapp/myapp.jar
y hacer que el script de inicio haga java -j / usr / lib / myapp / myapp.jar
Mirándolo desde ese lado, el jar es efectivamente una biblioteca que utiliza el binario / usr / bin / java
, por lo que esas ubicaciones me parecen buenas.
Otros consejos
La sugerencia /usr/lib/myapp/myapp.jar
va por el buen camino, pero / usr / lib
es para archivos específicos de la arquitectura, desde Java < Los archivos code> jar son independientes de la plataforma, /usr/share/myapp/myapp.jar
es una ubicación mejor.