stringtranslate.com

Base estándar de Linux

El logotipo de LSB

Linux Standard Base ( LSB ) fue un proyecto conjunto de varias distribuciones Linux bajo la estructura organizativa de la Linux Foundation para estandarizar la estructura del sistema de software, incluido el Filesystem Hierarchy Standard . LSB se basó en la especificación POSIX , la Single UNIX Specification (SUS) y varios otros estándares abiertos, pero los amplió en ciertas áreas.

Según LSB:

El objetivo de la 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 formato binario . Además, la LSB ayudará a coordinar los esfuerzos para reclutar proveedores de software para que adapten y escriban productos para los sistemas operativos Linux.

La conformidad con LSB podría certificarse para un producto mediante un procedimiento de certificación. [1]

LSB especificó bibliotecas estándar (centradas en el ld-lsb.so), una serie de comandos y utilidades que extienden el estándar POSIX , el diseño de la jerarquía del sistema de archivos , niveles de ejecución , el sistema de impresión, incluyendo spoolers como CUPS y herramientas como Foomatic , y varias extensiones del X Window System . También especificó facilidades de arranque, como $local_fs , $network , que se usaban para indicar dependencias de servicio en scripts de inicialización de estilo System V. [2] Un bloque de comentarios legible por máquina en la parte superior de un script proporcionaba la información necesaria para determinar en qué punto del proceso de inicialización se debía invocar el script; se llamaba encabezado LSB. [3]

El comando lsb_release -aestaba disponible en muchos sistemas para obtener los detalles de la versión LSB, o podía hacerse disponible instalando un paquete apropiado, por ejemplo, el redhat-lsbpaquete en distribuciones con formato Red Hat como Fedora , [4] o el lsb-releasepaquete en distribuciones basadas en Debian.

El estándar dejó de actualizarse en 2015 y las distribuciones de Linux actuales no lo cumplen ni lo ofrecen; sin embargo, el lsb_releasecomando a veces todavía está disponible. [ cita requerida ] El 7 de febrero de 2023, un ex mantenedor del LSB escribió: "El proyecto LSB está esencialmente abandonado". [5]

Un ejemplo de salida LSB en una terminal (versión Debian 11)

Compatibilidad con versiones anteriores

LSB tiene como objetivo hacer que los binarios del espacio de usuario sean portátiles

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 fue puramente aditiva. En otras palabras, solo se agregaron interfaces; no se eliminaron interfaces. LSB adoptó una política de desuso de interfaces para darles a los desarrolladores de aplicaciones tiempo suficiente en caso de que se eliminara una interfaz de LSB.

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

LSB 5.0 fue el primer lanzamiento importante que rompió la compatibilidad con versiones anteriores. [7]

Historial de versiones

Norma ISO/IEC

La versión 3.1 de LSB está registrada como norma internacional oficial ISO / IEC . Sus partes principales son:

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

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

Las normas ISO/IEC 23360 e ISO/IEC TR 24715 se pueden descargar gratuitamente desde el sitio web de ISO. [13]

Recepción

Si bien LSB era un estándar sin competidores, solo lo seguían unas pocas distribuciones de Linux . Por ejemplo, solo 21 lanzamientos de distribuciones (versiones) fueron certificadas para la versión 4.0 de LSB, en particular Red Flag Linux Desktop 6.0, Red Hat Enterprise Linux 6.0, SUSE Linux Enterprise 11 y Ubuntu 9.04 (Jaunty Jackalope) ; [14] incluso menos fueron certificadas para la versión 4.1.

La LSB fue criticada [15] [16] [17] [18] por no tener en cuenta los aportes de proyectos, especialmente del proyecto Debian , fuera de la esfera de sus empresas miembro.

Elección del formato del paquete RPM

LSB especificó que los paquetes de software deberían entregarse como un instalador compatible con LSB [19] o (preferiblemente) entregarse en una forma restringida del formato del Administrador de paquetes RPM . [20]

Esta elección del formato de paquete excluía el uso de otros formatos de paquete existentes que no fueran compatibles con RPM. Para solucionar este problema, el estándar no dictaba qué formato de paquete debía utilizar el sistema para sus propios paquetes, sino que simplemente indicaba que RPM debía ser compatible para permitir que los paquetes de distribuidores externos se instalaran en un sistema compatible.

Limitaciones de 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 "wheezy" (7; 4 de mayo de 2013). Para usar paquetes RPM compatibles con LSB externos, el usuario final necesita 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 características RPM para bloquear el uso de características 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 el otro carece. En la práctica, no todos los paquetes binarios de Linux eran necesariamente compatibles con LSB, por lo que, si bien la mayoría se podía convertir entre .rpm y .deb, esta operación estaba restringida a un subconjunto de paquetes.

Al utilizar Alien, Debian era compatible con LSB a todos los efectos, pero según la descripción de su lsbpaquete, [21] 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 es compatible con LSB". [21]

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

Calidad de los conjuntos de pruebas de cumplimiento

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

Para los proveedores que estén considerando 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á del LSB. [27]

Véase también

Referencias

  1. ^ "Certificación de una aplicación ante el LSB". Linux Foundation . 2008. Archivado desde el original el 15 de julio de 2009. Consultado el 26 de abril de 2010 .
  2. ^ "Nombres de instalaciones". Especificación básica del estándar Linux 3.1 . 2005.
  3. ^ "Convenciones de comentarios para scripts de inicio". Especificación básica estándar de Linux 3.1 . 2005.
  4. ^ "Paquete redhat-lsb". fedoraproject.org . Archivado desde el original el 1 de septiembre de 2015 . Consultado el 15 de agosto de 2015 .
  5. ^ "Re: Archivo de esta lista de correo". Lista de correo lsb-discuss . 7 de febrero de 2023.
  6. ^ "Hoja de ruta de LSB". Linux Foundation . 2008 . Consultado el 26 de abril de 2010 .
  7. ^ "Notas de la versión LSB 5.0". linuxfoundation.org . Archivado desde el original el 8 de julio de 2017 . Consultado el 3 de junio de 2015 .
  8. ^ djwm (10 de marzo de 2011). «Java eliminado de Linux Standard Base 4.1». Archivado desde el original el 7 de diciembre de 2013.
  9. ^ "Java eliminado de Linux Standard Base 4.1". h-online.com . 10 de marzo de 2011 . Consultado el 15 de agosto de 2015 .
  10. ^ "Notas de la versión LSB 5.0: se ha eliminado Qt 3". linuxfoundation.org . Consultado el 3 de junio de 2015 .
  11. ^ ISO/IEC 23360-1:2006 - Especificación básica de Linux Standard Base (LSB) 3.1 -- Parte 1: Especificación genérica . Consultado el 15 de octubre de 2011 .
  12. ^ ISO/IEC TR 24715:2006 - Tecnología de la información - Lenguajes de programación, sus entornos e interfaces de software de sistema - Informe técnico sobre los conflictos entre la norma ISO/IEC 9945 (POSIX) y la base estándar Linux (ISO/IEC 23360) . Consultado el 15 de octubre de 2011 .
  13. ^ "Normas ISO disponibles públicamente" . Consultado el 15 de octubre de 2011 .
  14. ^ Directorio de productos de productos certificados en linuxbase.org (12 de enero de 2015)
  15. ^ "bugs.debian.org".
  16. ^ "linuxfoundation.org".[ enlace muerto permanente ]
  17. ^ "openacs.org".
  18. ^ "osnews.com".
  19. ^ "Capítulo 22. Instalación del software 22.1. Introducción". Especificación básica del estándar Linux 3.1 . 2005.
  20. ^ "Capítulo 22. Instalación de software 22.3. Restricciones de scripts de paquetes". Especificación básica estándar de Linux 3.1 . 2005.
  21. ^ ab «Debian -- Detalles del paquete lsb en lenny (stable) -- Paquete de soporte para Linux Standard Base 3.2». Proyecto Debian . 18 de agosto de 2008 . Consultado el 26 de abril de 2010 .
  22. ^ "Debian LSB". Proyecto Debian . Consultado el 26 de abril de 2010 .
  23. ^ "Discusión sobre Debian LSB ML". Proyecto Debian . Consultado el 12 de septiembre de 2015 .
  24. ^ "Debian abandona la base estándar de Linux". LWN.net .
  25. ^ "Paquete fuente lsb 9.20150917ubuntu1 en Ubuntu". 19 de noviembre de 2015.
  26. ^ ab Drepper, Ulrich (17 de septiembre de 2005). "¿Todavía crees que el LSB tiene algún valor?" . Consultado el 26 de abril de 2010 .
  27. ^ "Todo sobre el verificador de aplicaciones Linux". Linux Foundation . 2008. Consultado el 26 de abril de 2010 .

Enlaces externos

Medios de comunicación: