/ usr /, supongo que es el usuario de la computadora.
Cerrar.
Unix comenzó como un sistema operativo multiusuario, por lo que no es "el usuario", es "los usuarios ", en plural.
Antes de que AT&T Unix System V Release 4 (SVR4) saliera en 1988 con sus herramientas de administración de usuarios predeterminadas para crear directorios de inicio de usuarios /home
, la ubicación convencional era /usr
.¹ Su $HOME
directorio podría haber estado /usr/jfw
en un cuadro de System III .
/usr
también contenía, entonces como ahora, /usr/bin
, /usr/lib
, etc. La experiencia mostró que la segregación de los directorios de inicio era una buena práctica de gestión del sistema, por lo que con el /home
cambio de política en SVR4, dejó atrás todo lo que ahora consideramos como pertenecientes a /usr
.
/usr
todavía tenía una buena razón para conservar el nombre: lo que quedó atrás fueron los archivos que no necesitaban estar disponibles hasta que el sistema se arrancó lo suficiente como para admitir el uso interactivo normal. Es decir, lo que quedó atrás fueron las partes del sistema operativo centradas en el usuario . Esto significaba que /usr
podría estar en un volumen físico diferente, lo que era bueno en los días de las unidades de disco duro de 92 MB del tamaño de las lavadoras .
Los primeros sistemas Unix tuvieron cuidado de mantener los archivos principales del sistema operativo fuera de /usr
modo que aún pudiera arrancar en modo de usuario único² incluso si el /usr
volumen no se podía montar por alguna razón. El volumen raíz contenía herramientas suficientes para volver a poner el /usr
volumen en línea.
Varias versiones de Unix ahora caso omiso de este principio constructivo de edad, ya que incluso pequeños sistemas embebidos tienen suficiente espacio tanto para los archivos de volumen de raíz tradicional y todas /usr
en una sola volume.³ de Red Hat Enterprise Linux, Solaris y Cygwin enlace simbólico /bin
a /usr/bin
y /lib
a /usr/lib
fin de que no hay Ya no hay diferencia entre estos directorios.
... / local / ... obviamente significa la computadora local ...
Si. Se refiere al hecho de que los archivos debajo /usr/local
se supone que son particulares de ese sistema único. Los archivos que son genéricos deben vivir en otro lugar.
Esto también tiene raíces en la forma en que los sistemas Unix se usaban comúnmente hace décadas cuando todo esto estaba estandarizado. Una vez más, los discos duros de la época eran voluminosos, realmente caros y se almacenaban poco para los estándares actuales. Para ahorrar dinero y espacio en los discos, un laboratorio de computación lleno de cajas de Unix a menudo compartía la mayor parte de /usr
NFS o algún otro protocolo de red para compartir archivos, por lo que cada caja no tenía que tener su propia copia redundante. Archivos específicos de una sola la caja iría debajo /usr/local
, que sería un volumen separado de /usr
.
Esta herencia histórica es la razón por la cual sigue siendo el valor predeterminado para la mayoría de los software de Unix de terceros para instalar /usr/local
cuando se instala a mano. La mayoría de estos programas le permitirán instalar el paquete en otro lugar, pero al no elegir, obtiene el valor predeterminado seguro, que no interfiere con otras ubicaciones de instalación comunes con propósitos más específicos.
Hay buenas razones para hacer que el software se instale en otro lugar. El equipo macOS de Apple hace esto cuando construyen, digamos, a bash
partir del código fuente de GNU Bash . Se usan /
como prefijo de instalación, anulando el /usr/local
predeterminado, de modo que Bash termine en /bin
.
Otro ejemplo es la forma en que los sistemas Linux más antiguos segregaron su software GUI /usr/X11R6
, para mantenerlo separado de la línea de comandos tradicional y el curses
software basado en. Esto se hizo simplemente anulando el /usr/local
prefijo predeterminado con /usr/X11R6
.⁵
¿Y qué es / bin?
Es la abreviatura de "binario", que en este contexto significa "un archivo que no es texto sin formato". La mayoría de estos archivos son ejecutables en un cuadro de Unix, por lo que estos dos términos se han convertido en sinónimos en algunos círculos. ("Por favor, constrúyeme un binario para RHEL 7, Fred").
Los archivos de texto en una máquina Unix viven en otro lugar: /etc
, /usr/include
, /usr/share
, etc.
Érase una vez, incluso los scripts de shell, que son archivos de texto sin formato, se mantuvieron fuera de los bin
directorios, pero esta línea también se ha desdibujado. Hoy en día, los bin
directorios suelen contener cualquier tipo de archivo ejecutable, ya sea estrictamente "binario" o no.
Notas al pie y digresiones :
La naturaleza primitiva de las herramientas de administración de usuarios antes de SVR4 significaba que el HOME=/usr/$NAME
esquema se documentaba simplemente como una convención, en lugar de que las herramientas de software lo aplicaran como predeterminado.
Puede ver esto en la página 4-8 de la " Guía del administrador del sistema AT&T Unix System V versión 3.2 : aquí puede ver que AT&T recomienda el /usr/$NAME
esquema anterior en la última versión principal de Unix antes de que saliera SVR4.
Era bastante común en los sistemas Unix más antiguos que los administradores de sistemas eligieran un esquema diferente que tuviera más sentido para ellos. Ser personas, eso significaba que se inventaron muchos esquemas diferentes.
Un esquema que encontré antes se /home/$NAME
convirtió en el estándar /u/$NAME
.
Otro sistema utilicé a principios de 1990 tenía tantos usuarios que no podían caber todos los directorios de inicio en un solo volumen físico, por lo que utiliza un esquema como /u1/$NAME
, /u2/$NAME
y así sucesivamente, por lo que recuerdo. El disco en el que terminó su directorio de inicio fue simplemente una cuestión de cuál tenía espacio en el momento en que se creó su cuenta.
Puede iniciar un cuadro de macOS en modo de usuario único manteniendo presionado Cmd-Smientras se inicia. Suelta una vez que la pantalla se vuelva negra y veas aparecer un texto gris claro. Es como correr bajo la Terminal, pero ocupa toda la pantalla porque la GUI aún no ha comenzado.
Ten cuidado, estás corriendo como root
.
Escriba "salir" en el indicador de raíz de usuario único para salir del modo de usuario único y continuar arrancando en modo GUI multiusuario.
Los sistemas operativos Unixy que aún parecen mantener los archivos críticos de modo de usuario único fuera /usr
, de hecho, pueden no hacerlo en estos días. Una vez hice que un cuadro de FreeBSD 9 no se /usr
pueda iniciar moviéndome a un volumen ZFS. Olvidé que las características de ZFS en la raíz no llegaron hasta FreeBSD 10, creando un Catch 22 : ¡el sistema operativo necesitaba archivos /usr
para poder montar /usr
!
Eso fue lo suficientemente malo, pero si FreeBSD 9 aún mantuviera sus cosas de arranque de un solo usuario fuera /usr
, podría haberlo arreglado en su lugar. Como no arrancaría ni siquiera en modo de usuario único por /usr
ser imposible de montar, claramente esa tradición se había violado de alguna manera. Tuve que arrancar desde un CD de rescate para que el sistema volviera a funcionar.
Aquí también es donde obtenemos /usr/share
: segrega los archivos que podrían compartirse incluso entre cajas Unix con diferentes tipos de procesadores. Típicamente, archivos de texto: páginas man, el diccionario, etc.
"X11R6" se refería a la versión del sistema X Window que sustentaba las GUI de Linux en el momento en que prevalecía esta convención. Los sistemas Linux generalmente dejaron de segregar el software GUI cuando X11R6 fue reemplazado por X.Org .
Los sistemas Unix originales mantuvieron sus scripts de shell principales /etc
para evitar mezclarlos con los verdaderos binarios /bin
.