Base estándar de Linux

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Un estándar para las distribuciones Linux
El logo LSB

La base estándar de Linux (LSB) fue un proyecto conjunto de varias distribuciones de Linux bajo la estructura organizativa de la Fundación Linux para estandarizar la estructura del sistema de software, incluido el sistema de archivos. Estándar de jerarquía. LSB se basó en la especificación POSIX, Single UNIX Specification (SUS) y varios otros estándares abiertos, pero los amplió en ciertas áreas.

Según LSB:

El objetivo del LSB es desarrollar y promover un conjunto de estándares abiertos que aumenten la compatibilidad entre las distribuciones de Linux y permitan que las aplicaciones de software se ejecuten en cualquier sistema compatible incluso en forma binaria. Además, el LSB ayudará a coordinar esfuerzos para reclutar proveedores de software a puertos y escribir productos para Linux Operating Systems.

El cumplimiento de LSB puede certificarse para un producto mediante un procedimiento de certificación.

Bibliotecas estándar especificadas por LSB (centradas en ld-lsb. so), una serie de comandos y utilidades que amplían el estándar POSIX, el diseño de la jerarquía del sistema de archivos, los niveles de ejecución, el sistema de impresión, incluidos los spoolers como CUPS y herramientas como Foomatic, y varias extensiones de X Sistema de ventanas. También especificaba funciones de arranque, como $local_fs, $network, que se usaban para indicar dependencias de servicio en secuencias de comandos de inicialización al estilo System V. Un bloque de comentarios legibles por máquina en la parte superior de una secuencia de comandos proporcionó la información necesaria para determinar en qué punto del proceso de inicialización se debe invocar la secuencia de comandos; fue llamado el encabezado LSB.

El comando lsb_release -a estaba disponible en muchos sistemas para obtener los detalles de la versión LSB, o podría estar disponible instalando un paquete apropiado, por ejemplo, redhat-lsb paquete en distribuciones con sabor a Red-Hat como Fedora, o el paquete lsb-release en distribuciones basadas en Debian.

El estándar dejó de actualizarse en 2015 y las distribuciones actuales de Linux no lo cumplen ni lo ofrecen; sin embargo, el comando lsb_release a veces todavía está disponible. El 7 de febrero de 2023, un exmantenedor de LSB escribió: "El proyecto LSB está esencialmente abandonado".

Ejemplo de salida LSB en terminal (versión debian 11)

Compatibilidad con versiones anteriores

LSB pretende hacer binarios de espacio de usuario portátil

LSB fue diseñado para ser compatible con binarios y produjo una interfaz binaria de aplicación (ABI) estable para proveedores de software independientes. Para lograr la compatibilidad con versiones anteriores, cada versión posterior era puramente aditiva. En otras palabras, solo se agregaron interfaces; no se eliminaron interfaces. LSB adoptó una política de desaprobación de interfaz para dar a los desarrolladores de aplicaciones suficiente tiempo en caso de que se elimine una interfaz de LSB.

Esto permitió al desarrollador confiar en todas las interfaces de LSB durante un tiempo determinado y también planificar los cambios. Las interfaces solo se eliminaron después de haber sido marcadas como "obsoletas" durante al menos tres versiones principales, o aproximadamente once años.

LSB 5.0 fue la primera versión importante que rompió la compatibilidad con versiones anteriores.

Historial de versiones

  • 1.0: Comunicado inicial 29 de junio de 2001.
  • 1.1: Publicado el 22 de enero de 2002. Especificaciones específicas del hardware (IA-32).
  • 1.2: Publicado el 28 de junio de 2002. Especificaciones específicas del hardware (PowerPC 32-bit). Certificación iniciada en julio de 2002.
  • 1.2.1: Publicado en octubre de 2002. Añadido Itanium.
  • 1.3: Publicado el 17 de diciembre de 2002. Especificaciones específicas del hardware (Itanium, Enterprise System Architecture/390, z/Architecture).
  • 2.0: Publicado el 31 de agosto de 2004
    • LSB está modularizado en LSB-Core, LSB-CXX, LSB-Graphics y LSB-I18n (no publicado)
    • Nuevas especificaciones específicas para hardware (PowerPC 64-bit, AMD64)
    • Sincronizado a Single UNIX Specification (SUS) versión 3
  • 2.0.1: Publicado el 21 de octubre de 2004, versión ISO de LSB 2.0, que incluyó la especificación para todas las arquitecturas de hardware (excepto LSB-Graphics, de las cuales sólo está disponible una versión genérica).
  • 2.1: Publicado el 11 de marzo de 2005.
  • 3.0: Publicado el 1 de julio de 2005. Entre otros cambios en la biblioteca:
    • GNU C Library versión 2.3.4
    • C++ ABI se cambia a la utilizada por gcc 3.4
    • La especificación básica se actualiza a ISO POSIX (2003)
    • Corrigendas técnicas 1: 2005
  • 3.1: Publicado el 31 de octubre de 2005. Esta versión ha sido presentada como ISO/IEC 23360:2006.
  • 3.2: Publicado el 28 de enero de 2008. Esta versión ha sido presentada como ISO/IEC 23360:2006.
  • 4.0: Publicado el 11 de noviembre de 2008. Esta versión contiene las siguientes características:
    • GNU C Library versión 2.4
    • Compatibilidad binaria con LSB 3.x
    • Fácil de usar SDK
    • Soporte para nuevas versiones de las bibliotecas gráficas GTK y Cairo
    • Java (modulo opcional)
    • Formas más simples de crear paquetes RPM compatibles con LSB
    • Crypto API (a través de la biblioteca de Servicios de Seguridad de Red) (modulo opcional)
  • 4.1: Publicado el 16 de febrero de 2011:
    • Java eliminado
    • Se han promovido módulos de "Trial Use" de LSB 4.0, que abarcan multimedia (ALSA), seguridad (NSS) y de escritorio diversos (xdg-utils) como submodules requeridos
    • Actualización de las bibliotecas GTK+, El Cairo y CUPS
    • Tres nuevas suites de prueba
  • 5.0: Publicado el 2 de junio de 2015, Esta versión ha sido presentada como ISO/IEC 23360:2021
    • GNU C Library versión 2.10 (para psiginfo)
    • Primera versión importante que rompe la compatibilidad con versiones anteriores (compatible con LSB 3.0, y en su mayoría compatible con LSB 3.1 y posteriormente, con algunas excepciones)
    • Incorpora los cambios realizados en FHS 3.0
    • Se ha eliminado la biblioteca Qt 3
    • Evolved module strategy; LSB is modularized to LSB Core, LSB Desktop, LSB Languages, LSB Imaging, and LSB Trial Use

Estándar ISO/IEC

El LSB, versión 3.1, está registrado como estándar internacional oficial ISO/IEC. Las partes principales de la misma son:

  • ISO/IEC 23360-1:2006 Linux Standard Base (LSB) core specification 3.1 — Part 1: Generic specification
  • ISO/IEC 23360-2:2006 Linux Standard Base (LSB) core specification 3.1 — Parte 2: Especificación de la arquitectura IA-32
  • ISO/IEC 23360-3:2006 Linux Standard Base (LSB) core specification 3.1 — Parte 3: Specification for IA-64 architecture
  • ISO/IEC 23360-4:2006 Linux Standard Base (LSB) core specification 3.1 — Parte 4: Especificación para arquitectura AMD64
  • ISO/IEC 23360-5:2006 Linux Standard Base (LSB) core specification 3.1 — Part 5: Specification for PPC32 architecture
  • ISO/IEC 23360-6:2006 Linux Standard Base (LSB) core specification 3.1 — Part 6: Specification for PPC64 architecture
  • ISO/IEC 23360-7:2006 Linux Standard Base (LSB) core specification 3.1 — Part 7: Specification for S390 architecture
  • ISO/IEC 23360-8:2006 Linux Standard Base (LSB) core specification 3.1 — Parte 8: Especificación para arquitectura S390X

También existe ISO/IEC TR 24715:2006 que identifica áreas de conflicto entre ISO/IEC 23360 (la especificación Linux Standard Base 3.1) y el estándar internacional ISO/IEC 9945:2003 (POSIX).

El LSB, versión 5.0, también está registrado como estándar internacional oficial ISO/IEC.

  • ISO/IEC 23360-1-1:2021 Linux Standard Base (LSB) — Parte 1-1: Definiciones comunes
  • ISO/IEC 23360-1-2:2021 Base Estándar de Linux (LSB) — Parte 1-2: Parte genérica de especificación básica
  • ISO/IEC 23360-1-3:2021 Base Estándar Linux (LSB) — Parte 1-3: Parte genérica de especificación de escritorio
  • ISO/IEC 23360-1-4:2021 Base Estándar de Linux (LSB) — Parte 1-4: Especificación de idiomas
  • ISO/IEC 23360-1-5:2021 Base Estándar de Linux (LSB) — Parte 1-5: Especificación de imágenes
  • ISO/IEC TS 23360-1-6:2021 Base Estándar de Linux (LSB) — Parte 1-6: Especificación gráfica y Gtk3
  • ISO/IEC 23360-2-2:2021 Base Estándar de Linux (LSB) — Parte 2-2: Especificación básica para arquitectura X86-32
  • ISO/IEC 23360-2-3:2021 Linux Standard Base (LSB) — Parte 2-3: Especificación de escritorio para arquitectura X86-32
  • ISO/IEC 23360-3-2:2021 Linux Standard Base (LSB) — Parte 3-2: Core specification for IA64 (ItaniumTM) architecture
  • ISO/IEC 23360-3-3:2021 Linux Standard Base (LSB) — Parte 3-3: Especificación de escritorio para la arquitectura IA64 (Itanium TM)
  • ISO/IEC 23360-4-2:2021 Linux Standard Base (LSB) — Parte 4-2: Core specification for AMD64 (X86-64) architecture
  • ISO/IEC 23360-4-3:2021 Base Estándar de Linux (LSB) — Parte 4-3: Especificación de escritorio para arquitectura AMD64 (X86-64)
  • ISO/IEC 23360-5-2:2021 Base Estándar de Linux (LSB) — Parte 5-2: Especificación básica para la arquitectura PowerPC 32
  • ISO/IEC 23360-5-3:2021 Base Estándar Linux (LSB) — Parte 5-3: Especificación de escritorio para la arquitectura PowerPC 32
  • ISO/IEC 23360-6-2:2021 Linux Standard Base (LSB) — Parte 6-2: Core specification for PowerPC 64 architecture
  • ISO/IEC 23360-6-3:2021 Linux Standard Base (LSB) — Parte 6-3: Especificación de escritorio para la arquitectura PowerPC 64
  • ISO/IEC 23360-7-2:2021 Base Estándar de Linux (LSB) — Parte 7-2: Ficha técnica para arquitectura S390
  • ISO/IEC 23360-7-3:2021 Linux Standard Base (LSB) — Parte 7-3: Especificación de escritorio para arquitectura S390
  • ISO/IEC 23360-8-2:2021 Base Estándar de Linux (LSB) — Parte 8-2: Especificación básica para arquitectura S390X
  • ISO/IEC 23360-8-3:2021 Linux Standard Base (LSB) — Parte 8-3: Especificación de escritorio para arquitectura S390X

ISO/IEC 23360 e ISO/IEC TR 24715 se pueden descargar gratuitamente desde el sitio web de ISO.

Recepción

Si bien LSB era un estándar y no tenía competidor, solo lo siguieron unas pocas distribuciones de Linux. Por ejemplo, solo se certificaron 21 lanzamientos de distribución (versiones) para LSB versión 4.0, en particular Red Flag Linux Desktop 6.0, Red Hat Enterprise Linux 6.0, SUSE Linux Enterprise 11 y Ubuntu 9.04 (Jaunty Jackalope); incluso menos fueron certificados para la versión 4.1.

La LSB fue criticada por no aceptar aportes de proyectos, sobre todo el proyecto Debian, fuera de la esfera de sus empresas miembro.

Elección del formato del paquete RPM

LSB especificó que los paquetes de software deben entregarse como un instalador compatible con LSB o (preferiblemente) entregarse en una forma restringida del formato RPM Package Manager.

Esta elección de formato de paquete impidió el uso de otros formatos de paquete existentes que no son compatibles con RPM. Para abordar esto, el estándar no dictó qué formato de paquete debe usar el sistema para sus propios paquetes, simplemente que RPM debe ser compatible para permitir que los paquetes de distribuidores de terceros se instalen en un sistema conforme.

Limitaciones en Debian

Debian incluyó soporte opcional para LSB desde el principio, en la versión 1.1 en "woody" (3.0; 19 de julio de 2002), 2.0 en "sarge" (3.1; 6 de junio de 2005), 3.1 en "etch" (4.0; 8 de abril de 2007), 3.2 en "lenny" (5,0; 14 de febrero de 2009) y 4,1 en "sibilancias" (7; 4 de mayo de 2013). Para usar paquetes RPM compatibles con LSB extranjeros, el usuario final debe usar el programa Alien de Debian para transformarlos al formato de paquete nativo y luego instalarlos.

El formato RPM especificado por LSB tenía un subconjunto restringido de funciones RPM para bloquear el uso de funciones RPM que no se podrían traducir a.deb con Alien u otros programas de conversión de paquetes, y viceversa, ya que cada formato tiene capacidades de las que carece el otro.. En la práctica, no todos los paquetes binarios de Linux eran necesariamente compatibles con LSB, por lo que aunque la mayoría se podía convertir entre.rpm y.deb, esta operación estaba restringida a un subconjunto de paquetes.

Al usar Alien, Debian era compatible con LSB a todos los efectos, pero según la descripción de su paquete lsb, la presencia del paquete "no implica que creamos que Debian cumple totalmente con la base estándar de Linux y no debe interpretarse como una declaración de que Debian cumple con LSB."

Debian se esforzó por cumplir con LSB, pero con muchas limitaciones. Sin embargo, este esfuerzo cesó alrededor de julio de 2015 debido a la falta de interés y mano de obra dentro del proyecto. En septiembre de 2015, el proyecto Debian confirmó que si bien continuaría la compatibilidad con el estándar de jerarquía del sistema de archivos (FHS), se había eliminado la compatibilidad con LSB. Ubuntu siguió a Debian en noviembre de 2015.

Calidad de conjuntos de pruebas de cumplimiento

Además, los conjuntos de pruebas de cumplimiento fueron criticados por tener errores e incompletos; en particular, en 2005, Ulrich Drepper criticó a LSB por pruebas mal escritas que pueden causar incompatibilidad entre las distribuciones certificadas por LSB cuando algunas implementan un comportamiento incorrecto para que las pruebas con errores funcionen., mientras que otros solicitan y reciben exenciones de cumplir con las pruebas. También denunció la falta de pruebas de aplicaciones, señalando que probar solo las distribuciones nunca puede resolver el problema de las aplicaciones que dependen del comportamiento definido por la implementación.

Para los proveedores que consideran las certificaciones LSB en sus esfuerzos de portabilidad, la Fundación Linux patrocinó una herramienta que analizó y brindó orientación sobre símbolos y bibliotecas que van más allá de LSB.

Contenido relacionado

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Filosofía de la inteligencia artificial

La filosofía de la inteligencia artificial es una rama de la filosofía de la tecnología. Esta se centra en investigar la inteligencia artificial y sus...

Red troncal

Una red troncal o central es una parte de una red informática que interconecta redes y proporciona un camino para el intercambio de información entre...

Historial de versiones de macOS

La historia de macOS, el actual sistema operativo Mac de Apple anteriormente llamado Mac OS X hasta 2011 y luego OS X hasta 2016, comenzó con el proyecto de...

Historia de la supercomputación

El término supercomputación surgió a fines de la década de 1920 en los Estados Unidos en respuesta a los tabuladores de IBM en la Universidad de Columbia....
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save