Dónde instalar software y ejecutables para todos los usuarios

Respuestas:

19

Por lo general, no debería tener que intentar instalar nada a mano. En casi todos los casos, encontrará un paquete .deb. Si no hay un google para sugerencias (como cómo instalar Oracle JDK en Ubuntu ). Si este es su propio software, consulte la Guía de empaquetado de Ubuntu para obtener ayuda sobre cómo colocar correctamente las cosas en Ubuntu.

Si debe hacerlo de todos modos, coloque el binario en / opt / myapp y vincule el ejecutable con ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Si desea saber más sobre el tema, escriba man hieren una terminal. Allí se explica la diferencia entre / usr / bin y / usr / local / bin . En cualquier caso, ambas rutas están en la variable de entorno $ PATH. Eso significa que cualquier binario que pones allí será ejecutable por cualquiera que solo dé el nombre del binario (y no la ruta completa). Entonces, utilizando el ejemplo anterior, puede ejecutar su programa en myappbinarylugar de tener que dar la ruta completa /opt/myapp/myappbinary.

mniess
fuente
1
¿Cuál es el propósito de ponerlo en / opt, especialmente si de todos modos vas a vincularlo en / usr / local?
psusi
Si quiero que todos los usuarios del sistema puedan usar la aplicación, ¿debería hacer un enlace simbólico a / usr / bin en lugar de / usr / local / bin?
Jiew Meng
44
@jiewmeng Si miras man hier, verás todo lo explicado allí. Incluyendo la diferencia entre / usr / bin y / usr / local / bin. En resumen: no vincules nada a / usr / bin /. @psusi La razón es mantener limpio su sistema de archivos. si alguna vez reinstala su computadora (o se muda a una máquina / disco duro diferente), los únicos directorios que debe mirar deben ser / home, / etc y / opt. Y déjame repetir una vez más: por lo general, nunca quieres hacer nada fuera de tu $ HOME, excepto tal vez editar archivos de configuración en / etc.
mniess
7

/ usr es legible en todo el mundo, así que no, no habrá ningún problema con otros usuarios que puedan ejecutar el programa. / usr / local es donde van las aplicaciones que compila usted mismo a partir del código fuente. Los programas instalados a través del administrador de paquetes van a otro lado. Nunca he visto ningún propósito para / optar, y creo que es solo una transferencia de los viejos días de AT&T Sys V en los años 80.

psusi
fuente
¿Cuál es la diferencia entre / usr / local / bin y / usr / bin? Si quiero que todos los usuarios puedan acceder a la aplicación, ¿la pongo en / usr / bin?
Jiew Meng
@jiewmeng, una vez más, la versión local es para programas que usted mismo compila desde el origen, en lugar de instalarlos a través del administrador de paquetes. No tiene nada que ver con los usuarios y el acceso.
psusi
0

Dependiendo del sabor de Linux, el lugar preferido para instalar algo a mano puede variar. Si lo hace a mano, haga lo que sugiere el archivo README .

Si crea un nuevo usuario y sus antiguos usuarios no tuvieron que hacer nada para acceder al nuevo programa, los nuevos usuarios tampoco lo harán.

Sin embargo, eres libre de crear / opt / bin e incluirlo en la ruta , pero ¿por qué deberías hacerlo? O incluso / flip / flop / funky / bin . O enlace desde algún lugar a un directorio, que ya está incluido en la RUTA .

usuario desconocido
fuente