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 jerarquía del sistema de archivos como la mayoría de los sistemas similares a 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 para ese programa). Por lo tanto, un programa "Foo" tiene todos sus archivos y bibliotecas específicos en /Programs/Foo
, bajo la versión correspondiente de este programa a la mano. Por ejemplo, la versión 8.1.0 de la suite de compilación GCC comúnmente conocida residiría en el directorio /Programs/GCC/8.1.0
.
Según los desarrolladores de GoboLinux, esto da como resultado un sistema más limpio.
Resumen
La jerarquía de GoboLinux representa una desviación radical del sistema de archivos empleado tradicionalmente por la mayoría de los sistemas operativos similares a UNIX, donde tipos específicos de archivos se almacenan juntos en subdirectorios estándar comunes (como /bin
para ejecutables y /etc
para archivos de configuración) y donde los administradores de paquetes se utilizan para realizar un seguimiento de qué archivo pertenece a qué programa. En GoboLinux, los archivos de cada programa se colocan en el subdirectorio dedicado propio de su programa respectivo. Los creadores de GoboLinux han dicho que "el sistema de archivos es el administrador de paquetes", y el sistema de paquetes de GoboLinux usa el propio sistema de archivos como una base de datos de paquetes. Se dice que esto produce un árbol de directorios más directo y menos desordenado. GoboLinux usa enlaces simbólicos y un módulo kernel opcional llamado GoboHide para lograr todo esto mientras mantiene la compatibilidad total con la jerarquía del sistema de archivos tradicional 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 da como resultado que los scripts de shell se rompan 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; Debian habilitó la fusión /usr de forma predeterminada en 2018.
GoboLinux también permite al usuario tener diferentes versiones del mismo programa instaladas al mismo tiempo (e incluso ejecutarlas al mismo tiempo). Además, se ha afirmado que el índice de administración de paquetes nunca podría perder la sincronización con el sistema de archivos, porque las referencias a archivos inexistentes simplemente se convierten en enlaces rotos y, por lo tanto, se vuelven inactivos. Los cambios en el sistema de archivos de GoboLinux también permiten otras innovaciones, como un sistema de arranque completamente nuevo que no utiliza sistemas de inicio de estilo System V o BSD.
Jerarquía de archivos
El diseño de GoboLinux estuvo influenciado por sistemas anteriores como NeXTSTEP, AtheOS y BeOS, todos los cuales adoptaron estructuras de sistemas de archivos originales y al mismo tiempo mantuvieron un grado considerable de compatibilidad con Unix. En la raíz del árbol de GoboLinux, hay seis directorios: Programas, Usuarios, Sistema, Archivos y Montaje.
"Compilar" programa
Compilar es un programa que descarga, desempaqueta, compila tarballs de código fuente e instala el código ejecutable resultante, todo con un solo comando (como Compilar foo
) usando scripts de compilación simples conocidos como "recetas".
El sistema Compile es algo similar al sistema Portage de Gentoo, que se basa en la colección FreeBSD Ports. 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, mientras que Compile amplía la capacidad de la jerarquía distintiva de sistemas de archivos de GoboLinux al área de administración de paquetes. Por lo tanto, en GoboLinux, el propio sistema de archivos sirve naturalmente como una especie de base de datos del administrador de paquetes.
El programa Compile se introdujo en GoboLinux versión 011. Antes de eso, hubo discusiones sobre la migración del sistema Portage de Gentoo a GoboLinux y el desarrollo de la migración como un proyecto SourceForge.net bajo el nombre GoboPortage.
Otras características de Compile incluyen:
- El uso del propio sitio de descarga de cada programa
- El repositorio de distribución (o uno de sus espejos) solo se utiliza para descargar recetas. Las recetas pueden ser descargadas en la mosca o en lotes.
- Guiones de compilación orientados al mínimo y declarativo
- Típico "configure; make; make install" software puede ser scripted en dos líneas, muy fácil mantenimiento.
- Apoyo a las dependencias de estilo GoboLinux
- El software compilado "a mano" por el usuario es tomado en cuenta por un mecanismo de detección.
- Path-agnosticism
- También funciona en una instalación sin raíces GoboLinux (es decir, dentro de un directorio de cualquier otra distribución).
Lanzamientos
Los lanzamientos se han numerado utilizando el sistema de base octal. Según los autores, se eligió este esquema porque mantiene el típico cero inicial que está presente en muchos números de versiones de software libre (ya que un cero inicial a menudo indica que un número es octal), y es un juego con el " números de versión race" eso sucedió entre las distribuciones de Linux alrededor de 1999. Cuando se lee como números decimales, el uso de números octales provoca un "aumento de versión" determinista; cada ocho lanzamientos. Hasta la versión 013, GoboLinux no realizó "lanzamientos puntuales", para evitar la implicación de que algunos lanzamientos eran más estables que otros. Esta tradición se rompió con la versión 014.01, una actualización de 014 centrada en la corrección de errores.
Puertos
GoboLinux está desarrollado actualmente para x86-64. Se hizo oficialmente para el i686 solo hasta el lanzamiento 015, pero en un momento se hizo un puerto incompleto para el i386. También se han realizado puertos a arquitecturas embebidas, como ARM y SuperH; estas tareas se lograron con Bootstrap, una herramienta desarrollada especialmente para automatizar la realización de puertos.
Recepción
LWN.net revisó GoboLinux 010 en 2004:
Resulta que el proyecto GoboLinux ha estado haciendo exactamente eso - reorganizar los directorios y archivos en una nueva estructura. Todo comenzó con uno de los desarrolladores trabajando en un sistema donde no tenía privilegios superusuarios, pero todavía necesitaba compilar programas. Para evitar dificultades al actualizar, puso programas individuales en sus propios directorios y los nombró de acuerdo con los nombres de los programas pertinentes, por ejemplo ~/Programas/AfterStep. Otras partes de los programas entraron en directorios identificados de forma similar, como ~/Libraries, ~/Headers, etc. También se desarrollaron scripts personalizados para la compilación automatizada de estos programas y la correcta colocación de componentes individuales.
Linux.com escribió una reseña sobre GoboLinux 013:
Huelga decir que este tipo de jerarquía ayuda en la gestión de paquetes. Los usuarios pueden instalar y utilizar múltiples versiones del mismo programa o bibliotecas del sistema. De hecho, cuando GoboLinux pasó a la versión 3 de GNU Compiler Collection (GCC), todavía mantenían programas antiguos funcionando ya que el sistema de archivos permite que múltiples bibliotecas existan juntas en paz. Además, la desinstalación es sólo una cuestión de eliminar el directorio del programa.
Jesse Smith de DistroWatch Weekly revisó GoboLinux 015:
Booting de los medios GoboLinux ofrece una pantalla con menús basados en texto. Usando estos menús se nos pide seleccionar nuestro idioma preferido de una lista y elegir el diseño de nuestro teclado. Luego se nos presenta una consola de texto donde nos registramos como el usuario "gobo". Las instrucciones en la pantalla nos dicen cómo crear una interfaz gráfica de usuario y cómo lanzar el instalador del sistema. El entorno gráfico resulta ser el gestor de ventana de Iluminación. En el escritorio son iconos para ejecutar el gestor de partición GParted y el instalador del sistema. En la parte inferior de la pantalla encontramos un menú de aplicación, conmutador de tareas y bandeja del sistema.
Smith también revisó GoboLinux 016.
Nombre y logotipo
Gobo es un personaje ficticio. No se sabe mucho sobre él, porque aquellos que lo vieron nunca sobrevivieron para contar información sobre él.
También tiene un sirviente leal ficticio llamado Fibo. La mascota de GoboLinux Que es un pingüino vestido con la ropa de Fibo.
Contenido relacionado
IBM 632
Función de orden superior
Singular (software)