Uso de directorios / opt y / usr / local en el contexto de una PC

65

¿Cuál es la diferencia entre /opty /usr/localdirectorios y qué tipo de programas se les debe instalar?

Me referí a la Jerarquía del sistema de archivos de Linux, pero la explicación no es tan clara. De acuerdo con el enlace anterior;

/opt : - Este directorio está reservado para todos los paquetes de software y complementos que no forman parte de la instalación predeterminada

/usr/local: - La /usr/localjerarquía es para uso del administrador del sistema al instalar software localmente. Es necesario evitar que se sobrescriba cuando se actualiza el software del sistema.

En el contexto de una PC sin computadoras en red, ¿cuál debería ser el directorio para instalar un software al que accederán múltiples usuarios locales? (es decir, dónde debo instalar un software como netbeans)

Gracias

Niroshan
fuente
44
Google Chrome opts para usar ese directorio por alguna razón.
Camilo Martin
2
@CamiloMartin Supongo que es optional.
becko
44
@becko Bueno, debe ser una optelección ideal si Google lo publicó opt.
Camilo Martin
3
Incluso si todos están en lo cierto, optimus Prime suena mejor.
erm3nda
2
Lol ... Llegué tarde a la fiesta ... Pero parece que ustedes han optimitado mucho la sección de comentarios ...: P
john400

Respuestas:

71

/optes para aplicaciones de terceros que no dependen de ninguna dependencia fuera del alcance de dicho paquete. /usr/locales para paquetes instalados en esta máquina fuera del alcance del administrador de paquetes de distribución.

Un ejemplo:

Se instalaría un cliente sip de código abierto suministrado como .deb /usr. Si se construyó con el marco Qt, apt lo incorporaría como una dependencia.

El mismo cliente sip de código abierto creado a partir del código fuente residiría /usr/localpara que apt no lo estropeara si luego instalara un paquete .deb para la misma aplicación. Puede construir sus dependencias desde la fuente u obtenerlas del administrador de paquetes.

Se /optsupone que una aplicación de terceros es independiente. Por ejemplo, un sip-client patentado que usa Qt no dependería de la versión de apt, sino que lo incluiría o lo enlazaría estáticamente.

Para obtener más información, consulte el Estándar de jerarquía del sistema de archivos .

Egil
fuente
1
entonces netbeans va a / usr / local ya que depende de jdk y otros compiladores + además de que sigue Linux FHS?
Niroshan
1
La respuesta es sí.
Egil
1
Si quiero instalar condaglobalmente como se sugiere aquí , ¿es /optel lugar correcto?
Alexey
@Egil, ¿por qué Mac no tiene un directorio opt?
Pacerier
Anteriormente voté por esta respuesta, pero ahora veo que sus conclusiones difieren ligeramente de este artículo de Linux Journal . El artículo implica que con el software empaquetado, importa quién suministró el paquete . Si el paquete es de cesión temporal de paquetes del sistema operativo, entonces debe ser instalado bajo /usr(o, posiblemente, incluso directamente bajo /bin, /libetc.), como de costumbre. Sin embargo, si es de otra fuente, entonces se debe poner en /usr/local. Eso podría incluir el "cliente sip de código abierto" .deben la respuesta.
sampablokuper
12

Instalaría paquetes de terceros solo binarios /opt.

Cualquier cosa que construyas tú mismo desde la fuente que pondría /usr/local.

netbeansestá en los repositorios de Ubuntu. ¿Necesitas una versión específica?

Broam
fuente
¿Hay alguna razón detrás de esto o es solo una buena práctica? (Mencioné netbeans como ejemplo; cambié esa parte para eliminar cualquier ambigüedad). Gracias
Niroshan
Creo que otras respuestas lo han dicho mejor. Por lo general, los binarios de terceros son independientes.
Broam
¿Qué pasa con las cosas que dependen de tiempos de ejecución, como Python o software Java? Me los pondría /optpero no estoy seguro si es correcto.
Camilo Martin
8

Se trata de embalaje. Si algo está empaquetado en la forma LHS (poner ejecutables en bin / bibliotecas en lib / etc.) debe ir a / usr / local.

Si algo tiene un directorio de nivel superior y no sigue ese modelo, entra en / opt. En general, debe agregar explícitamente cosas en / optar a su RUTA.

Ver también Esta pregunta sobre superusuario

ÁRBOL
fuente
Esta respuesta parece ser corroborada por este artículo de Linux Journal .
sampablokuper