Al instalar aplicaciones de usuario, ¿dónde las "mejores prácticas" sugieren que estén ubicadas?

183

De vez en cuando instalo aplicaciones manualmente, en lugar de usar apt u otro administrador de paquetes.

¿Qué ubicación ( /usr/ , /usr/local/ , /opt/ , /home/ , etc.) es sugerida por las "mejores prácticas" para la instalación de aplicaciones de usuario?

    
pregunta citadelgrad 05.08.2010 - 16:42

6 respuestas

163

Eso depende, realmente. Si la aplicación tiene un archivo MAKE, (para aplicaciones de Python) usa distutils (tiene un archivo setup.py ) o un sistema de compilación / instalación similar, póngalo en /usr/local/ (comportamiento predeterminado).

Si solo necesitas extraer un tarball y ejecutarlo directamente (por ejemplo, Thunderbird, Firefox), ponlo en /opt/ .

¿Por qué? Por lo que entiendo, /usr/local/ tiene una jerarquía que es similar a /usr/ . Entonces, un programa que espera ser "instalado" en /usr/ debería funcionar bien en /usr/local/ . Un programa que solo necesita un directorio y obtendrá todos los archivos / bibliotecas relativos a ese directorio puede obtener un directorio para sí mismo en /opt/ .

    
respondido por el Umang 05.08.2010 - 16:53
99

Es bueno recordar que /usr no representa usuario sino más bien recursos del sistema unix .

Como tal, tiendo a pensar que cualquier distribución tiene los derechos de pisar todo el contenido de /usr, y que mis adiciones específicas al sistema van en /usr/local , que conservo antes de hacer una actualización.

Mientras tanto, las aplicaciones y otras cosas van en /opt .

Algunas personas se sienten cómodas poniendo cosas en /home , aunque rara vez sigo esa convención.

Dicho todo esto, dejé que el administrador del paquete de distribución hiciera las cosas primero, y luego hago lo anterior cuando entrego cosas a mano.

    
respondido por el Walt Stoneburner 17.09.2010 - 19:39
30

Instalar programas inestables como desarrollo de firefox / home / user / opt / hace que sea mucho más fácil de eliminar, y no hay confusión para otros usuarios en cuanto a qué versión deben usar ... Entonces, si no es un programa para global use, instálelo en una subcarpeta en su directorio de inicio.

Nunca instale programas en / usr /, es probable que cause caos, las cosas instaladas en / usr / deben ser solo para paquetes de distribución. / usr / local / es para paquetes compilados localmente. ¡Y la estructura funciona exactamente de la misma manera! los archivos en / usr / local / tendrán prioridad sobre los archivos en / usr /

/ opt / debe utilizarse para la instalación de paquetes precompilados (binarios) (Thunderbird, Eclipse, Netbeans, IBM NetSphere, etc.) y similares. Pero si solo son para un solo usuario, deberían colocarse en su directorio de inicio.

Si desea ejecutar un programa instalado en una ubicación "extraña" (como / home / user / opt / firefox /) sin escribir la ruta completa que necesita agregar a su variable $ PATH, puede haz esto agregando una línea como esta en tu /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

El nombre de la carpeta debe ser el que ubique el archivo ejecutable que necesita ejecutar.

    
respondido por el LassePoulsen 07.08.2010 - 10:40
25

El estándar de jerarquía del sistema de archivos de Linux indica /usr/local .

De enlace :

  

La idea original detrás de '/ usr / local' era tener un separado ('local')   '/ usr' directorio en cada máquina además de '/ usr', que podría ser solo   montado de solo lectura desde otro lugar. Copia la estructura de   '/ usr'. Estos días, '/ usr / local' es ampliamente considerado como un buen lugar en   que mantener programas auto compilados o de terceros. El / usr / local   la jerarquía es para uso del administrador del sistema cuando se instala   software localmente Tiene que estar seguro de ser sobrescrito cuando el   el software del sistema se actualiza. Se puede usar para programas y datos que   se pueden compartir entre un grupo de hosts, pero no se encuentran en / usr. En la zona   el software instalado debe colocarse dentro de / usr / local en lugar de / usr   a menos que se esté instalando para reemplazar o actualizar el software en / usr.

    
respondido por el popey 05.08.2010 - 16:45
5

Por lo general, tengo una carpeta llamada "Programas" en mi casa donde instalo esos programas, lo suficientemente extraño (o no) son cosas java en este momento.

Tiene una gran ventaja para mí, cuando reinstalo o cambio computadoras, se mueven con el resto de mi casa. Tiene una clara desventaja, esas aplicaciones solo están disponibles para mi usuario.

    
respondido por el Javier Rivera 05.08.2010 - 16:57
1

Use "checkinstall" para convertir su paquete alienígena a deb para que no se pueda desinstalar utilizando el administrador de paquetes.

Tenga en cuenta que los archivos de configuración a menudo no se manejarán como archivos de configuración (tal vez ignorados, o tal vez tratados como parte de la aplicación), y que los scripts previos y posteriores a la instalación a veces se equivocan, aunque generalmente le avisará cuando cree que el deb tendrá un script de pre o post instalación incorrecto.

    
respondido por el A Student at a University 16.08.2010 - 03:41

Lea otras preguntas en las etiquetas