¿Existe una ubicación estándar en Linux para contener archivos de origen, por ejemplo OpenSSL ? Estoy construyendo Nginx desde la fuente con una versión no predeterminada de OpenSSL. Necesito descargar y descomprimir OpenSSL y lo hice en el directorio de inicio. Ahora, me pregunto si hay una ubicación estándar en Linux /opt
.
directory-structure
source
user3448600
fuente
fuente
Respuestas:
Siempre que se pregunte algo como esto, consulte el Estándar de jerarquía del sistema de archivos (FHS). Allí encontrará la siguiente entrada:
Para que pueda poner sus archivos de origen en subdirectorios de
/usr/src
. Dicho esto, este es un directorio opcional, por lo que realmente puedes guardarlos donde quieras. El código fuente no es relevante después de haberlo compilado en un ejecutable, por lo que el sistema nunca requerirá que se pueda acceder a la fuente de algo en una ubicación específica.En conclusión:
/usr/src
es una ubicación bastante estándar, pero siéntase libre de elegir la suya propia.fuente
/usr/src
un sistema que no sea Linux. Los BSD mantienen sus fuentes de sistema base allí de forma predeterminada y no desea mezclarlos con software de terceros. Simplemente construya en su$HOME
lugar .../usr/src
derivados de Debian, si tiene ciertos paquetes instalados (gcc-6-source
,binutils-source
paquetes DKMS, los encabezados del núcleo, etc.). En Debian, hay una buena característica en la que puede agregarse alsrc
grupo que posee/usr/src
y luego simplemente escribir allí como usted mismo (sin necesidad de hacerlosudo
o lo que sea)./usr/src/debug
y/usr/src/kernels
(AFAICS)./usr
ningún sistema. Deberías poner cosas adentro/usr/local
. ¿Los BSD te importan usar/usr/local/src
?/usr/local/src
es un lugar seguro para guardar el código fuente y también construirlo. El FHS dice :y también
No está claro qué significa "código fuente local", pero está claro que el sistema no va a tratar de colocar nada
/usr/local/src
, a diferencia/usr/src
, por lo que parece haber pocas desventajas al colocar el código allí.De hecho, tengo el mío en un sistema de archivos separado:
Nota: al menos en Debian, su usuario debe ser agregado al
staff
grupo para poder escribir/usr/local
.fuente
/usr/local/src
mientras las otras respuestas solo discuten/usr/src
/usr/local
(en teoría). Así que esencialmente significa exactamente lo que describiste.Si por "estándar" quiere decir convencional, entonces el lugar para descomprimir y construir el código fuente es su directorio de inicio. Se espera que dichos archivos sean transitorios, se eliminen cuando haya terminado o se mantengan si lo desea, organizados como quiera. Su directorio de inicio es su área para jugar con todo este tipo de cosas.
Si desea conservarlos luego, como referencia , se recomienda el " Estándar de jerarquía del sistema de archivos "
/usr/src
. Sin embargo, esta es una guía, no una ley; y, si tuviera que adquirir este hábito y luego aventurarse en un sistema que no sea Linux, es probable que cause problemas al seguirlo. Por ejemplo, en un sistema BSD, las fuentes del sistema base se mantienen allí y realmente no desea meterse con ellas. Incluso en Linux puede correr el riesgo de mezclarse con cualquier fuente almacenada por los administradores de paquetes, lo que no es deseable.Recomendaría evitar en
/usr/src
general. No hay ningún beneficio obvio en mantener algo allí, y existe un riesgo potencial si confunde su significado previsto.fuente
Puede usar
/usr/src
este lugar como un sonido razonable y las distribuciones basadas en rpm lo usan para almacenar el contenido de los paquetes srpm. Pero cualquier otro lugar como/opt
,/usr/local
,~/src
es buenofuente