it-swarm-es.com

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

Ocasionalmente instalo aplicaciones manualmente, en lugar de usar apt u otro administrador de paquetes.

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

203
citadelgrad

Eso depende, de verdad. Si la aplicación tiene un archivo MAKE o, por ejemplo, aplicaciones python si la aplicación utiliza distutils (por ejemplo, tiene un archivo setup.py) o un sistema similar de compilación/instalación, debe instalarlo en /usr/local/. Este suele ser el comportamiento predeterminado.

Por lo que entiendo, /usr/local/ tiene una jerarquía que es similar a /usr/. Sin embargo, los directorios como /usr/bin/ y /usr/lib/ generalmente están reservados para la instalación de paquetes a través de apt. Por lo tanto, un programa que espera "instalarse" en /usr/ debería funcionar bien en /usr/local/.

Si solo necesita extraer un tarball y ejecutarlo directamente (por ejemplo, Firefox), póngalo en /opt/. Un programa que solo necesita un directorio y obtendrá todos los archivos/bibliotecas en relación con ese directorio puede obtener un directorio para sí mismo en /opt/.

180
Umang

Es bueno recordar que /usr no significa suario sino recursos del sistema unix.

Como tal, tiendo a pensar que cualquier distribución tiene el derecho de pisotear todo el contenido de /usr, y que mis adiciones específicas al sistema van en /usr/local, que conservo antes de realizar 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, dejo que el administrador de paquetes de distribución haga las cosas a su manera primero, y luego haga lo anterior cuando haga las cosas a mano.

113
Walt Stoneburner

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

Nunca instale programas en/usr /, es probable que cause caos, las cosas instaladas en/usr/están destinadas solo a 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 usarse para la instalación de paquetes precompilados (binarios) (Thunderbird, Eclipse, Netbeans, IBM NetSphere, etc.) y similares. Pero si son solo para un solo usuario, deben colocarse en su directorio de inicio.

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

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

El nombre de la carpeta debe ser aquel donde se encuentra el archivo ejecutable que necesita ejecutar.

34
LassePoulsen

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

De http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :

La idea original detrás de '/ usr/local' era tener un directorio separado ('local') '/ usr' en cada máquina además de '/ usr', que podría montarse solo como lectura desde otro lugar. Copia la estructura de '/ usr'. En estos días, '/ usr/local' es ampliamente considerado como un buen lugar para mantener programas autocompilados o de terceros. La jerarquía/usr/local es para uso del administrador del sistema al instalar software localmente. Es necesario evitar que se sobrescriba cuando se actualiza el software del sistema. Se puede usar para programas y datos que se pueden compartir entre un grupo de hosts, pero que no se encuentran en/usr. El software instalado localmente debe colocarse dentro de/usr/local en lugar de/usr a menos que se instale para reemplazar o actualizar el software en/usr.

26
popey

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

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

5
Javier Rivera

Use "checkinstall" para convertir su paquete alienígena en un deb para que sea desinstalable usando 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 estropean, aunque generalmente le advertirán cuando piense que deb tendrá una secuencia de comandos incorrecta previa o posterior a la instalación.