¿Dónde debo almacenar las descargas de origen para la instalación?

10

Solía ​​descargar todo a / tmp, porque después make; sudo make installya no necesito esos archivos.

Pero ahora me di cuenta de que la única forma de desinstalar programas instalados desde la fuente es usar make uninstall(cuando esté disponible). Por lo tanto, probablemente debería conservar mis descargas en caso de que las necesite más adelante.

Entonces, ¿dónde debo guardarlos? ¿Hay un lugar diseñado para eso en Linux?

ChocoDeveloper
fuente
Evite el problema: instale desde paquetes cuando sea posible.
Michael Hampton
@MichaelHampton A veces, esa no es una opción (creo), por ejemplo: nginx requiere que se instale el formulario fuente si desea agregar módulos de terceros.
ChocoDeveloper

Respuestas:

16

La ubicación definida por el Estándar de jerarquía del sistema de archivos para mantener el código fuente es /usr/src. Supongo que también podría usar /usr/local/src, ya que es un poco más descriptivo de dónde vino el software (es decir, lo compiló; la distribución no lo hizo).

Sin embargo, tenga en cuenta que el FHS en realidad menciona que el código fuente no debe construirse a partir de este directorio, probablemente porque no se supone que compile cosas como raíz, por lo que supongo que movería el árbol fuente allí después de la instalación. En la práctica, sin embargo, no me molesto; Mantengo todo lo que construyo ~/Code, que está en una partición más espaciosa. Básicamente, no existe una convención ampliamente aceptada; solo haces lo que funciona para ti.

También deberías mirar checkinstall , un gran software que hace un paquete rudimentario a partir de un comando. (Probablemente estará en el repositorio de su distribución). Esencialmente, en lugar de ejecutarse

sudo make install

correría algo en la línea de

sudo checkinstall make install

que lo interroga sobre el paquete que está haciendo, mira cómo make installinstala todo, luego crea un paquete que luego se puede instalar y desinstalar limpiamente con un administrador de paquetes. Creo que checkinstall puede construir paquetes para sistemas basados ​​en dpkg (Ubuntu, Debian, etc.), sistemas basados ​​en RPM (Fedora, RHEL, etc.) y sistemas basados ​​en Slackware. Si está ejecutando Arch, no se moleste con checkinstall; en su lugar, considere usar un PKGBUILD.

¡Espero que ayude!

treinta y tres
fuente
+1 por mencionar paquetes. Cuál creo que es la respuesta que se necesitaba (pero no se le preguntó).
Hennes
¡Gracias! Estoy usando checkinstall ahora, se ve muy bien hasta ahora. Una última pregunta: no necesito mantener el .deb, ¿verdad? dpkg sabrá cómo desinstalarlo incluso si se ha ido
ChocoDeveloper 03 de
Eso es correcto. Todos los administradores de paquetes mantienen una lista de archivos instalados por el paquete, por lo que puede eliminar el paquete integrado después de instalarlo.
treinta y
5

No hay un lugar designado para los archivos fuente; todos tienen sus propios hábitos.

Sin embargo, considere estas tres opciones:

  1. En raíces homedir (funciona, pero está encendido / que suele ser bastante pequeño).
  2. / usr / local / src / (o en realidad cualquier cosa bajo / usr / local /
  3. Instale a través de un paquete y use el administrador de paquetes para desinstalar.

Para el mantenimiento a largo plazo, realmente recomiendo la opción 3. Incluso si tiene que construir los paquetes usted mismo (desde el origen). En cuyo caso, usted puede: descomprimir / configurar / hacer / hacer el paquete a través de alguna sintaxis dependiendo de su elección de paquete / paquete de instalación

Hennes
fuente