En las listas de correo de Fedora se ha dado a conocer una propuesta bastante interesante, y es que se ha planteado la posibilidad de fusionar el contenido de los directorios /usr/biny y /usr/sbin, reemplazando el directorio /usr/sbin con un enlace simbólico que apunta a /usr/bin.
Y aunque esta propuesta podría no representar un gran cambio, cabe mencionar que tiene algunas implicaciones interesantes tanto para los usuarios como para los desarrolladores, pues la conversión de /bin y /sbin a enlaces simbólicos a /usr/bin y /usr/sbin se realizó en Fedora 17.
La separación de bin y sbin se introdujo originalmente para distinguir entre programas destinados a usuarios estándar y programas administrativos. Sin embargo, en la práctica, esta distinción se ha vuelto menos relevante, especialmente cuando diferentes distribuciones colocan archivos ejecutables de manera diferente entre los directorios bin y sbin.
La división original era tener binarios «importantes» vinculados estáticamente en /sbin que luego podrían usarse para operaciones de emergencia y rescate. Obviamente, ya no hacemos enlaces estáticos. Más tarde, la división se reutilizó para aislar archivos binarios «importantes» que sólo serían utilizados por el administrador. Si bien esto parece atractivo en teoría, en la práctica es muy difícil categorizar programas como este, y los usuarios normales invocan rutinariamente programas desde /sbin.
Cabe señalar que separar archivos ejecutables en directorios bin y sbin es una práctica obsoleta que ha perdido su significado en las distribuciones modernas. Inicialmente, se entendió que usr/bin albergaba programas esenciales ejecutables por el usuario, mientras que /usr/sbin contenía los archivos ejecutables más importantes, vinculados a la administración del sistema, que normalmente requerían privilegios de root.
La propuesta de unificar los directorios /usr/bin y /usr/sbin dentro del sistema es un cambio significativo que busca simplificar la estructura del sistema y hacerlo más coherente. A lo largo de los años, la distinción entre /usr/bin y /usr/sbin se ha vuelto menos clara, ya que la variable de entorno PATH incluye ambos directorios de manera predeterminada en muchas distribuciones.
La mayoría de los programas que requieren privilegios de root para «determinadas» operaciones también se utilizan cuando funcionan sin privilegios. E incluso cuando se requieren privilegios, a menudo se adquieren dinámicamente, por ejemplo usando `polkit`.
Con la llegada de systemd esto se ha vuelto más sistemático: systemd establece `$PATH` con ambos directorios para todos los usuarios y servicios. Entonces, en general, todos los usuarios y programas encontrarán ambos conjuntos de binarios.
Se menciona que la propuesta de unificar estos directorios tiene varios beneficios, tales como simplificar el trabajo de los mantenedores de paquetes al eliminar la necesidad de decidir en qué directorio colocar un archivo ejecutable (por ejemplo, en Fedora la utilidad ip estaba ubicada en sbin y en Debian en bin; después de la unificación, la ruta característica de Debian funcionará en Fedora).
Esto hará que el sistema sea más predecible y comprensible para los usuarios y aumentará la compatibilidad entre diferentes distribuciones. Además, simplificará la búsqueda en registros y el análisis de la salida de utilidades como strace, reduciendo la complejidad operativa, además de que también reducirá la cantidad de comprobaciones de directorio al ejecutar execvp() y llamadas similares
La unificación también se alinea con la práctica de Arch Linux, que fusionó sbin y bin en 2013, y tiene el potencial de hacer que Fedora sea más compatible con otras distribuciones. Eliminar la referencia al directorio /usr/sbin de la variable de entorno PATH una vez que todos los archivos ejecutables estén consolidados en un solo lugar es parte integral de esta propuesta.
Aunque la propuesta aún está en discusión y no ha sido revisada por el FESCo (Comité Directivo e Ingeniería de Fedora), el cual es responsable de la parte técnica del desarrollo de la distribución Fedora, la unificación de bin y sbin parece tener ventajas significativas en términos de simplicidad, predictibilidad y compatibilidad, por lo que es posible que esta propuesta se vuelva uno de los cambios que encontraremos en Fedora 40.
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.