stringtranslate.com

Base estándar de Linux

El logotipo de LSB

Linux Standard Base ( LSB ) fue un proyecto conjunto de varias distribuciones de 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 especificación única UNIX (SUS) y varios otros estándares abiertos, pero los amplió en ciertas áreas.

Según LSB:

El objetivo de LSB es desarrollar y promover un conjunto de estándares abiertos que aumentarán la compatibilidad entre distribuciones de Linux y permitirán que las aplicaciones de software se ejecuten en cualquier sistema compatible, incluso en formato binario . Además, el LSB ayudará a coordinar esfuerzos para reclutar proveedores de software para portar y escribir productos para sistemas operativos Linux.

El cumplimiento de la LSB puede certificarse para un producto mediante un procedimiento de certificación. [1]

LSB especificó bibliotecas estándar (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. al sistema X Window . También especificaba funciones de arranque, como $local_fs , $network , que se utilizaban para indicar dependencias de servicios en scripts de inicialización estilo System V. [2] Un bloque de comentarios legible por máquina en la parte superior de un script proporcionó la información necesaria para determinar en qué punto del proceso de inicialización se debe invocar el script; se llamó encabezado LSB. [3]

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

El estándar dejó de actualizarse en 2015 y las distribuciones actuales de Linux no lo adhieren ni lo ofrecen; sin embargo, en ocasiones el lsb_releasecomando todavía está disponible. [ cita necesaria ] 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 (Debian versión 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 compatibilidad con versiones anteriores, cada versión posterior fue puramente aditiva. En otras palabras, sólo se agregaron interfaces; no se eliminaron interfaces. El LSB adoptó una política de desaprobación de la interfaz para dar a los desarrolladores de aplicaciones tiempo suficiente en caso de que se eliminara una interfaz del LSB.

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

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

Historial de versiones

Estándar ISO/IEC

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

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). [12]

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

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 y no tenía competidor, solo lo siguieron unas pocas distribuciones de Linux . Por ejemplo, sólo 21 lanzamientos de distribución (versiones) fueron certificados 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) ; [14] incluso menos fueron certificados para la versión 4.1.

La LSB fue criticada [15] [16] [17] [18] por no recibir aportaciones de proyectos, más notablemente 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 [19] o (preferiblemente) entregarse en una forma restringida del formato RPM Package Manager . [20]

Esta elección del formato de paquete impidió el uso de otros formatos de paquetes existentes que no sean compatibles con RPM. Para abordar esto, el estándar no dictaba qué formato de paquete debía usar el sistema para sus propios paquetes, simplemente que se debía admitir RPM para permitir que los paquetes de terceros distribuidores se instalaran en un sistema conforme.

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 utilizar paquetes RPM externos compatibles con LSB, el usuario final debe utilizar 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, si bien la mayoría podía convertirse entre .rpm y .deb, esta operación estaba restringida a un subconjunto de paquetes.

Al utilizar Alien, Debian era compatible con LSB para 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 la 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 del sistema de archivos (FHS) continuaría, el soporte para LSB se había eliminado. [24] Ubuntu siguió a Debian en noviembre de 2015. [25]

Calidad de los 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ó al LSB por pruebas mal escritas que pueden causar incompatibilidad entre distribuciones certificadas por LSB cuando algunas implementan un comportamiento incorrecto para que las pruebas con errores funcionen, mientras que otras solicitar y recibir exenciones del cumplimiento de 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 de un comportamiento definido por la implementación. [26]

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

Ver también

Referencias

  1. ^ "Certificación de una solicitud ante la LSB". Fundación Linux . 2008. Archivado desde el original el 15 de julio de 2009 . Consultado el 26 de abril de 2010 .
  2. ^ "Nombres de las instalaciones". Especificación básica básica estándar de Linux 3.1 . 2005.
  3. ^ "Convenciones de comentarios para scripts de inicio". Especificación básica 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-discute . 7 de febrero de 2023.
  6. ^ "Hoja de ruta de LSB". Fundación Linux . 2008 . Consultado el 26 de abril de 2010 .
  7. ^ "Notas de la versión de 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 de LSB 5.0: Qt 3 eliminado". linuxfoundation.org . Consultado el 3 de junio de 2015 .
  11. ^ ISO/IEC 23360-1:2006 - Especificación central 3.1 de Linux Standard Base (LSB) - 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 del sistema - Informe técnico sobre los conflictos entre ISO/IEC 9945 (POSIX) y la base estándar de Linux (ISO/IEC 23360) . Consultado el 15 de octubre de 2011 .
  13. ^ "Estándares 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 básica estándar de Linux 3.1 . 2005.
  20. ^ "Capítulo 22. Instalación de software 22.3. Restricciones de secuencias de comandos del paquete". Especificación básica básica estándar de Linux 3.1 . 2005.
  21. ^ ab "Debian - Detalles del paquete lsb en lenny (estable) - Paquete de soporte 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). "¿Sigues pensando que el LSB tiene algún valor?" . Consultado el 26 de abril de 2010 .
  27. ^ "Todo sobre el comprobador de aplicaciones de Linux". Fundación Linux . 2008 . Consultado el 26 de abril de 2010 .

enlaces externos

Medios de comunicación: