Isabela, parte de este gran equipo de trabajo, nos ha hecho el favor de redactar este post ya que conoce perfectamente este tema.
Solución:
¿Qué? no /bin/
no es un enlace simbólico a /usr/bin
en cualquier sistema compatible con FHS. Tenga en cuenta que todavía hay Unices y Linux populares que ignoran esto, por ejemplo, /bin
y /sbin
están enlazados a /usr/bin
en Arch Linux (el razonamiento es que no necesita /bin
para rescate/modo de usuario único, ya que simplemente iniciaría un CD en vivo).
/bin
contiene comandos que pueden ser utilizados tanto por el administrador del sistema como por los usuarios, pero que son necesarios cuando no hay otros sistemas de archivos montados (por ejemplo, en modo de usuario único). También puede contener comandos que son usados indirectamente por scripts
/usr/bin/
Este es el directorio principal de comandos ejecutables en el sistema.
esencialmente, /bin
contiene ejecutables que el sistema requiere para reparaciones de emergencia, arranque y modo de usuario único. /usr/bin
contiene archivos binarios que no son necesarios.
Notaré que pueden estar en discos/particiones separadas, /bin
debe estar en el mismo disco que /
. /usr/bin
puede estar en otro disco, aunque tenga en cuenta que esta configuración se ha roto por un tiempo (por eso, por ejemplo, systemd advierte sobre esta configuración en el arranque).
Para mayor corrección, algunos unices pueden ignorar FHS, ya que creo que es solo un estándar de Linux, no tengo conocimiento de que aún se haya incluido en SUS, Posix o cualquier otro estándar de UNIX, aunque debería ser en mi humilde opinión. Sin embargo, es parte del estándar LSB.
Actualización: Para un poco de historia y la verdadera razón por la que hay /usr
, lea esto: http://lists.busybox.net/pipermail/busybox/2010-December/074114.html. También esto.
/sbin
– Binarios necesarios para el arranque, la reparación del sistema de bajo nivel o el mantenimiento (nivel de ejecución 1 o S)
/bin
– Binarios necesarios para el funcionamiento normal/estándar del sistema en cualquier nivel de ejecución.
/usr/bin
– Binarios de aplicación/distribución destinados a ser accedidos por usuarios registrados localmente
/usr/sbin
– Binarios de aplicación/distribución que admiten o configuran cosas en /sbin.
/usr/share/bin
– Archivos binarios o scripts de aplicación/distribución destinados a ser accedidos a través de la web, es decir, aplicaciones web Apache
*local*
– Binarios que no forman parte de una distribución; compilado localmente o instalado manualmente. Por lo general, nunca hay un /local/bin
pero siempre un /usr/local/bin
y /usr/local/share/bin
.
Algún tipo de “actualización” sobre este tema:
Recientemente, algunas distribuciones de Linux se están fusionando /bin
dentro /usr/bin
y relacionado /lib
dentro /usr/lib
. A veces también (/usr)/sbin
a /usr/bin
(Arco Linux). Asi que /usr
Se espera que esté disponible al mismo tiempo que /
.
La distinción entre las dos jerarquías se considera una complejidad innecesaria ahora. La idea una vez fue tener sólo /bin
disponible en el arranque, pero tener un ramdisk inicial lo vuelve obsoleto.
Sé que Fedora Linux (2011) y Arch Linux (2012) van por este camino y Solaris lo hace desde hace mucho tiempo (> 15 años).
- escritorio libre: TheCaseForTheUsrMerge
- fedora: función UsrMove
- arco: combine /bin, /sbin, /lib en /usr/bin y /usr/lib
Sección de Reseñas y Valoraciones
Al final de la post puedes encontrar las referencias de otros usuarios, tú igualmente tienes la habilidad mostrar el tuyo si dominas el tema.