Soy relativamente nuevo en MacOS, antes usaba Ubuntu, así que algunas cosas me resultan bastante extrañas. Una de esas cosas es que en MacOS tenemos 2 /usr
directorios. El primero es con ruta /usr
y el 2º es con camino /Library/Developer/CommandLineTools/usr
. No entiendo cuál es la diferencia entre ellos. ¿Podría explicármelo?
Respuestas
¿Demasiados anuncios?En /Library/Developer/CommandLineTools/usr
puede considerarse como un /usr
destinada a ser utilizada por las herramientas de línea de comandos para desarrolladores. Contiene bibliotecas compartidas para esas herramientas.
Es similar a la forma en que en Linux podría tener varias carpetas de biblioteca, tales como /lib
, /usr/lib
, /usr/local/lib
etc. Sin embargo, en MacOS hay una tradición mucho más fuerte para que cada aplicación sea algo autónomo y traiga bibliotecas y otros recursos en su propia carpeta en lugar de depender de los recursos compartidos en todo el sistema.
Tenga en cuenta también que en las versiones modernas de MacOS, algunas carpetas del sistema, como /usr
se colocan en un volumen de sistema firmado de sólo lectura. Esto significa que incluso si los desarrolladores hubieran querido ir en contra de la tradición de macOS y colocar las bibliotecas allí, eso no habría sido inmediatamente posible en un sistema macOS estándar.
Sólo puede haber un directorio llamado usr
en root ( /
), o dentro de cualquier otro directorio -- todos los nombres de un directorio deben ser únicos.
Sin embargo, puede tener un directorio llamado usr
en cualquier otro (sub)directorio del sistema. En mi actual sistema MacOS de sobremesa hay 42 directorios llamados usr
incluido el de /
(pero excluyendo los que se encuentran en los directorios personales de los usuarios).
En usr
es ciertamente reconocible y puede implicar algo para aquellos que conocen algo de la organización jerárquica tradicional de los sistemas de ficheros Unix, como qué subdirectorios pueden encontrarse dentro de él. Sin embargo, en realidad el nombre no tiene ningún significado especial para el propio sistema (a menos que quizás sea el del directorio root).
Normalmente, los vendedores de subsistemas de software para sistemas tipo Unix suelen suministrarlos en una jerarquía de archivos que imitan el nivel superior /usr
(por ejemplo, en el sentido de que contienen bin
, lib
, share
y directorios similares con propósitos parecidos o idénticos), pero pueden instalarse en cualquier subdirectorio del sistema, o incluso descomprimirse en el directorio root para que sus archivos se fusionen con los del directorio principal del sistema. /usr
directorio.
(Obsérvese también que hay un grupo de personas y colaboradores en la Fundación Linux que han propuesto una llamada "Estándar de jerarquía de sistemas de archivos" (que yo sepa, no ha sido reconocido por ninguna organización de publicación de normas como IEEE, CSA, ECMA, ANSI, CEN, CENELEC, WWWC, ISO, IEC, etc., ni ha sido adoptado por ningún otro fabricante de Unix o sistemas compatibles con Unix, como Apple o cualquiera de los BSD o Solaris, etc.).