Entiendo que tanto en Windows como en Linux y Unix, se puede instalar un programa | aplicación | software en cualquier directorio. Además, si los paquetes se instalan utilizando el sistema de empaquetado de la distribución, colocará los archivos en la ubicación correcta.
Pero a veces, una instalación de software solicita una ruta para colocar archivos. En caso de una distribución de Linux, ¿dónde está este lugar predeterminado ( C:\Program Fileso C:\progra~1equivalente)? ¿Es diferente para varias distribuciones? Si es así, ¿dónde estaría presente para ser RHEL, Susey Ubuntu?

No hay equivalente directo. La estructura del directorio es muy diferente. En Windows, tiene un único directorio para cada paquete / software instalado que contiene todos los archivos relacionados (p
C:\Program Files\MyProgram. Ej .). En Linux, cada software está "disperso" en muchos directorios según el tipo de archivo y alguna otra regla.Como ejemplo, podemos examinar dónde
xscreensaverestán instalados los diferentes archivos relacionados con el programa:No se preocupe, por lo general cuando un instalador le pregunta dónde instalar a, la respuesta correcta es uno de los siguientes:
/,/opt,/usr,/usr/localComo puede ver, casi todos los (1) archivos
xscreensaverse instalan de/usracuerdo con alguna regla simple: ejecutables/usr/bin, páginas de manual/usr/share/man, documentación,/usr/share/doc/packages/PROGRAMNAMEetc.Cuando un instalador solicita una instalación
prefix, generalmente quiere ahora la ruta de acceso básica bajo la cual instalar el programa. En mixscreensaverejemplo, lo es/usr.Como regla simple:
/debe contener solo el programa que se necesita para iniciar el sistema (comoC:\windows\system32),/usr/localdebe contener los programas que se necesitan solo en esa computadora única,/opt(2) todos los programas opcionales que tienen una estructura de directorio no estándar y/usrtodo el software estándar .En cualquier caso, existe un estándar que define todas estas reglas en detalle: Estándar de jerarquía del sistema de archivos
(1) los archivos de configuración de todo el sistema deben residir en
/etc(2) bastante obsoleto bajo Linux
fuente
/optse prefiere para software de terceros durante/usr/localbastante tiempo./usr/sharese llama "compartir" porque se comparte entre diferentes arquitecturas (documentación, scripts, imágenes), mientras que/usr/lib*es para archivos dependientes de la arquitectura (y no ejecutables, a los cuales/usr/bin).USusually,
/bin,/usr/bin,/usr/local/bin, o/opt/bin. Creo/usr/biny/opt/binson los archivos de programa más cercanos, porque generalmente son para archivos binarios no críticos del sistema instalados por el administrador del sistema, aunque a diferencia de Windows, ambos contienen programas instalados con un administrador de paquetes. Dónde/usr/local/binestá para el software empaquetado no distribuido./bines para binarios críticos del sistema como/bin/sh.fuente
/bin,/usr/bin,/usr/local/binO/opt/bin. ¿No hay una ubicación estándar? La razón por la que pregunto es porque estoy instalando software en algunas máquinas virtuales y la ubicación predeterminada toma cualquier partición que tenga el mayor espacio. Quiero cambiar el espacio de partición al directorio donde suele ir el software y no tener el software colocado de manera diferente en todas las máquinas virtuales./optpor ejemplo, generalmente se usa para software propietario./usr/es una partición separada./biny/usr/binahora es obsoleta; Históricamente, las cosas crítico del sistema estaría en/bin,/lib, ... (directamente en la raíz), mientras que/usr(con/usr/bin,/usr/lib, ...) se montaría más adelante (tal vez a través de red), no siendo necesario para la funcionalidad básica del sistema./optno debería salir. Algunas personas solían pensar en el pasado que era una buena idea tener algunas aplicaciones en una ubicación diferente de todas las demás aplicaciones./binestá en la partición raíz. Como en algunos sistemas, el espacio en la partición raíz es limitado, se movieron archivos binarios no esenciales (es decir, todas las aplicaciones de usuario)/usr/bin.Eche un vistazo a
man hiersu "Descripción de la jerarquía del sistema de archivos".fuente
Como otros han señalado, los programas instalados a través del administrador de paquetes están dispersos en varios directorios. Aunque normalmente se encuentra el binario
/usr/bin, los archivos de configuración de todo el sistema están en/etc, y así sucesivamente.Si no se instala una aplicación a través del administrador de paquetes, los archivos deben instalarse en un lugar donde no interfieran con el administrador de paquetes. Este lugar es
/usr/local.Si se le solicita una ruta de instalación, la opción más común sería
/usr/local/appnamefuente
Escriba
echo $PATHsu terminal para ver la (s) ruta (s) que buscará el shell para encontrar un comando. Se va a buscar un archivo en el orden en que se imprime.fuente
Bueno, no encontrará todas sus soluciones en
/binysbinporque contienen principalmente comandos del sistema (es decir, los comandos utilizados por el sistema)./usr/binidealmente se le puede llamar el"Program Files"mundo de Unix. Con respecto a que/optmuy pocos paquetes optan por usar esa ubicación para la instalación, lo mismo se aplica a los paquetes que usan/etc/o/varcomo ubicacionesfuente