Articulo de referencia

GoboLinux

GoboLinux es una distribución de Linux cuya característica más destacada es una reorganización del sistema de archivos tradicional de Linux . En lugar de seguir el Estándar de J...

GoboLinux es una distribución de Linux cuya característica más destacada es una reorganización del sistema de archivos tradicional de Linux . En lugar de seguir el Estándar de Jerarquía del Sistema de Archivos como la mayoría de los sistemas tipo Unix , cada programa en un sistema GoboLinux tiene su propio árbol de subdirectorios , donde se pueden encontrar todos sus archivos (incluidas las configuraciones específicas de ese programa). Así, un programa "Foo" tiene todos sus archivos y bibliotecas específicos en , bajo la versión correspondiente de este programa en uso. Por ejemplo, la suite de compiladores GCC comúnmente conocida versión 8.1.0, residiría en el directorio ./Programs/Foo/Programs/GCC/8.1.0

Según los desarrolladores de GoboLinux, esto da como resultado un sistema más limpio. [ 4 ]

Descripción general

La jerarquía de GoboLinux representa una ruptura radical con el sistema de archivos tradicionalmente empleado por la mayoría de los sistemas operativos tipo UNIX, donde tipos específicos de archivos se almacenan juntos en subdirectorios estándar comunes (como /binpara ejecutables y /etcarchivos de configuración) y donde se utilizan gestores de paquetes para llevar un registro de a qué programa pertenece cada archivo. En GoboLinux, los archivos de cada programa se colocan en su propio subdirectorio dedicado. Los creadores de GoboLinux han afirmado que "el sistema de archivos es el gestor de paquetes", y el sistema de paquetes de GoboLinux utiliza el propio sistema de archivos como base de datos de paquetes. [ 5 ] Se dice que esto produce un árbol de directorios más sencillo y menos desordenado. GoboLinux utiliza enlaces simbólicos y un módulo del kernel opcional llamado GoboHide para lograr todo esto, manteniendo una compatibilidad total con la jerarquía tradicional del sistema de archivos de Linux.

Los creadores de GoboLinux han declarado que su diseño tiene otros "modernismos", como la eliminación de algunas distinciones entre directorios tradicionales similares (como las ubicaciones de los ejecutables /bin, /usr/bin, y /usr/local/bin). Los diseñadores de GoboLinux han afirmado que esto hace que los scripts de shell fallen con menos frecuencia que con otras distribuciones de Linux. Este cambio, introducido por GoboLinux en 2003, solo ha sido adoptado por otras distribuciones mucho más tarde: Fedora fusionó /bin y /usr/bin en 2012; [ 6 ] Debian habilitó la fusión de /usr por defecto en 2018. [ 7 ]

GoboLinux también permite al usuario tener instaladas diferentes versiones del mismo programa simultáneamente (e incluso ejecutarlas al mismo tiempo). Además, se ha afirmado que el índice de gestión de paquetes nunca se desincronizaría con el sistema de archivos, ya que las referencias a archivos inexistentes simplemente se convierten en enlaces rotos y, por lo tanto, se vuelven inactivas. Los cambios en el sistema de archivos de GoboLinux también permiten otras innovaciones, como un sistema de arranque basado en scripts completamente diferente que no utiliza sistemas de inicio de estilo System V o BSD ni ninguno de sus sustitutos.

Jerarquía de archivos

Captura de pantalla de la jerarquía de archivos

El diseño de GoboLinux estuvo influenciado por sistemas anteriores como NeXTSTEP , AtheOS y BeOS , los cuales adoptaron estructuras de sistema de archivos originales manteniendo un grado considerable de compatibilidad con Unix. En la raíz del árbol de GoboLinux, hay cinco directorios: Programs, Users, System, Data y Mount.

Programa "Compilar"

Compile es un programa que descarga, descomprime y compila archivos tarball de código fuente, e instala el código ejecutable resultante, todo con un solo comando (comoCompile foo) utilizando scripts de compilación simples conocidos como "recetas". [ 8 ]

El sistema Compile es algo similar al sistema Portage de Gentoo, [ 9 ] que se basa en la colección Ports de FreeBSD . Sin embargo, Portage está diseñado para una jerarquía de sistema de archivos tradicional, compatible con el Estándar de Jerarquía de Sistemas de Archivos (FHS ), mientras que Compile extiende la capacidad de la jerarquía de sistema de archivos distintiva de GoboLinux al ámbito de la gestión de paquetes. De este modo, en GoboLinux, el propio sistema de archivos funciona de forma natural como una especie de base de datos de gestión de paquetes. [ 10 ]

El programa Compile se introdujo en la versión 011 de GoboLinux. Antes de eso, hubo discusiones sobre portar el sistema Portage de Gentoo a GoboLinux y desarrollar el puerto como un proyecto de SourceForge.net bajo el nombre GoboPortage . [ 11 ] [ 12 ]

Otras características de Compile incluían:

El uso del sitio de descarga de cada programa
El repositorio de la distribución (o uno de sus espejos) se utiliza únicamente para descargar recetas. Las recetas se pueden descargar sobre la marcha o en lotes.
Scripts de compilación minimalistas y orientados a la declaración.
El software típico que requiere "configurar, compilar e instalar" se puede programar en dos líneas, lo que facilita enormemente el mantenimiento.
Compatibilidad con dependencias al estilo GoboLinux
El software compilado "manualmente" por el usuario se tiene en cuenta mediante un mecanismo de detección.
Agnosticismo patológico
También funciona en una instalación de GoboLinux sin privilegios de root (es decir, dentro del directorio principal de cualquier otra distribución). [ 13 ]

Comunicados

Las versiones se han numerado utilizando el sistema de base octal . Según los autores, este esquema se eligió porque mantiene el típico cero inicial que está presente en muchos números de versión de software libre (ya que un cero inicial a menudo indica que un número es octal), y es un juego de palabras con la " carrera de números de versión " que ocurrió entre las distribuciones de Linux alrededor de 1999. Cuando se leen como números decimales, el uso de números octales provoca un "incremento de versión" determinista cada ocho versiones. Hasta la versión 013, GoboLinux no hizo "versiones puntuales", para evitar la implicación de que algunas versiones eran más estables que otras. Esta tradición se rompió con la versión 014.01, una actualización de la 014 centrada en correcciones de errores .

Puertos

GoboLinux se desarrolla actualmente para x86-64 . Oficialmente, solo se creó para i686 hasta la versión 015, pero en algún momento se realizó una adaptación incompleta para i386 . También se han realizado adaptaciones para arquitecturas embebidas, como ARM y SuperH ; estas tareas se llevaron a cabo con Bootstrap, [ 14 ] una herramienta desarrollada especialmente para automatizar la creación de adaptaciones.

Recepción

LWN.net revisó GoboLinux 010 en 2004: [ 15 ]

Resulta que el proyecto GoboLinux ha estado haciendo precisamente eso: reorganizar los directorios y archivos en una nueva estructura. Todo comenzó cuando uno de los desarrolladores trabajaba en un sistema donde no tenía privilegios de superusuario, pero aun así necesitaba compilar programas. Para evitar problemas al actualizar, colocó cada programa en su propio directorio y los nombró según el nombre del programa correspondiente, por ejemplo, ~/Programs/AfterStep. Otras partes de los programas se ubicaron en directorios con nombres similares, como ~/Libraries, ~/Headers, etc. También se desarrollaron scripts personalizados para la compilación automatizada de estos programas y la correcta ubicación de los componentes individuales.

Linux.com escribió una reseña sobre GoboLinux 013: [ 16 ]

Como es lógico, este tipo de jerarquía facilita la gestión de paquetes. Los usuarios pueden instalar y usar varias versiones del mismo programa o bibliotecas del sistema. De hecho, cuando GoboLinux migró a la versión 3 de la Colección de Compiladores GNU (GCC), mantuvieron los programas antiguos en funcionamiento, ya que el sistema de archivos permite que varias bibliotecas coexistan sin problemas. Además, la desinstalación se reduce a eliminar el directorio del programa.

Jesse Smith de DistroWatch Weekly reseñó GoboLinux 015: [ 17 ]

Al arrancar desde el medio de GoboLinux, aparece una pantalla con menús de texto. Mediante estos menús, se nos pide que seleccionemos nuestro idioma preferido de una lista y elijamos la distribución del teclado. A continuación, se nos presenta una consola de texto donde iniciamos sesión como el usuario "gobo". Las instrucciones en pantalla nos indican cómo acceder a una interfaz gráfica de usuario y cómo ejecutar el instalador del sistema. El entorno gráfico resulta ser el gestor de ventanas Enlightenment. En el escritorio se encuentran los iconos para ejecutar el gestor de particiones GParted y el instalador del sistema. En la parte inferior de la pantalla encontramos un menú de aplicaciones, el selector de tareas y la bandeja del sistema.

Smith también revisó GoboLinux 016. [ 18 ]

Gobo es un personaje ficticio. No se sabe mucho sobre él, ya que quienes lo vieron no sobrevivieron para contar información al respecto. También tiene un sirviente leal ficticio llamado Fibo . La mascota de GoboLinux, Que, es un pingüino que viste la ropa de Fibo . [ 19 ]

Referencias

  1. Distrowatch (27 de marzo de 2020). "El estado del proyecto figura como Activo a partir del viernes 27 de marzo de 2020 a las 02:30 UTC" . Consultado el 27 de marzo de 2020 .
  2. "Versión 017.01 · gobolinux/LiveCD" . Consultado el 13 de abril de 2025 .
  3. "Anuncio de GoboLinux 017.01 - Pasando la antorcha 🔥" . Consultado el 13 de abril de 2025 .
  4. Hisham Muhammad (9 de mayo de 2003). "El árbol de Unix repensado: una introducción a GoboLinux" . Archivado del original el 26 de mayo de 2008. Consultado el 17 de marzo de 2008 .
  5. Marc Weinem (13 de marzo de 2008). "Gestión de paquetes simplificada en GoboLinux: una entrevista con Lucas Villa Real" . Consultado el 31 de marzo de 2008 .
  6. Proyecto Fedora (29-03-2012). "/Usr Move" . Consultado el 30-12-2016 .
  7. Debian (13-06-2018). "debootstrap: habilitar --merged-usr por defecto" . Consultado el 22-04-2023 .
  8. Mayank Sharma (14 de febrero de 2007). "La receta de GoboLinux para una gestión de paquetes deliciosa" . Linux.com . Archivado del original el 17 de septiembre de 2008. Consultado el 19 de julio de 2009 .
  9. "GoboLinux Compile -- ¿Un Portage escalable ?" . Slashdot . 2004-06-05 . Consultado el 2009-07-19 .
  10. "Las ideas detrás de Compile " . GoboLinux. Archivado del original el 13 de junio de 2010. Consultado el 19 de julio de 2009 .
  11. Foros de Gentoo  : Ver tema - GoboGentoo
  12. ^ SourceForge.net: GoboPortage
  13. Mayank Sharma (21 de agosto de 2007). "GoboLinux: Una entrevista con Lucas Villa Real" . Archivado del original el 11 de octubre de 2007. Consultado el 31 de marzo de 2008 .
  14. GoboLinux Embedded [ enlace eliminado ]
  15. "GoboLinux - Diversión con la jerarquía del sistema de archivos [ LWN.net ] " . lwn.net . Consultado el 24-09-2022 .
  16. "La receta de GoboLinux para una gestión de paquetes deliciosa" . Linux.com . 14 de febrero de 2007. Consultado el 24 de septiembre de 2022 .
  17. "DistroWatch.com: Devuélvele la diversión a la informática. Usa Linux, BSD" . distrowatch.com . Consultado el 24 de septiembre de 2022 .
  18. "DistroWatch.com: Devuélvele la diversión a la informática. Usa Linux, BSD" . distrowatch.com . Consultado el 24 de septiembre de 2022 .
  19. "Preguntas frecuentes de GoboLinux" . El sitio web oficial de GoboLinux . Consultado el 20 de junio de 2021. Aparte de Fibo, su fiel sirviente, nadie que lo vio sobrevivió para contar la historia. Más allá de eso, nunca nos arriesgamos a indagar más en el tema." No, la mascota se llama Que. Es un pingüino con la ropa de Fibo.