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


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 .


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?


¿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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.