Linux Standard Base (Linux Standard Base)

Перейти к навигации Перейти к поиску
Linux Standard Base

Linux Standard Base (LSB) — стандарт, определяющий базовый состав компонентов и внутреннюю структуру, которым должен удовлетворять дистрибутивов Linux; разработан и развивается под патронажем Linux Foundation. Опирается на существующие спецификации, такие как POSIX, Single UNIX Specification и другие открытые стандарты, при этом расширяя и дополняя их.

Цель — достичь возможности запускать приложения на любой LSB-совместимой системе и скоординировать усилия по портированию приложений под Linux. Чтобы сертифицировать программный продукт на совместимость со стандартом LSB, нужно пройти сертификационную процедуру, которая проводится The Open Group, сотрудничающей с Free Standards Group.

LSB специфицирует: стандартные библиотеки, несколько команд и утилит в дополнение к стандарту POSIX, структуру иерархии файловой системы, уровни запуска и различные расширения системы X Window System.

Стандарт LSB критикуют за то, что он не принимает предложения проектов, в особенности Debian, находящихся за пределами круга его членов.

К примеру, LSB предписывает поставлять программные пакеты (packages) в формате RPM, который был разработан гораздо позже формата deb, однако разработчики Debian не собираются менять свой формат, так как считают его лучше RPM.

Стандарт не навязывает операционным системам, какой формат им использовать для собственных пакетов. Он лишь говорит, какой формат совместимые системы должны поддерживать для установки приложений сторонних разработчиков.

В Debian присутствует опциональная поддержка LSB (версии 1.1 в woody, 2.0 в sarge, а позднее 3.1 в etch и 3.2 в lenny). Для использования сторонних пакетов необходимо использовать утилиту alien. Таким образом, на практике Debian совместим с LSB.

Известный в сообществе открытого программного обеспечения программист Ульрих Дреппер (известен как лидер проекта Glibc) критиковал LSB за плохое качество тестирования[1], которое может привести к несовместимости между сертифицированными дистрибутивами.

Он также указывал на недостаток тестов для приложений, отмечая, что тестирование только дистрибутивов никогда не решит проблем приложений, полагающихся на особенности конкретных реализаций.

В остальных областях LSB менее противоречив и нашёл большее признание.

История версий

[править | править код]
  • 1.0: Первый релиз, июнь 2001.
  • 1.1: Январь 2002. Добавлены аппаратные спецификации (IA-32).
  • 1.2: Июнь 2002. Добавлены аппаратные спецификации (PowerPC 32-bit). Июль 2002: начата сертификация.
  • 1.2.1: Октябрь 2002. Добавлена архитектура Itanium.
  • 1.3: Декабрь 2002. Добавлены аппаратные спецификации (Itanium, Enterprise System Architecture/390, z/Architecture).
  • 2.0: Сентябрь 2004. LSB разделено на LSB-Core, LSB-CXX, LSB-Graphics, LSB-I18n (не выпущено). Добавлены аппаратные спецификации (PowerPC 64-bit, AMD64). LSB синхронизовано с Single UNIX Specification (SUS) version 3.
  • 2.0.1: ISO-версия LSB 2.0, включающая спецификации для всех архитектур (кроме LSB-Graphics, для которого доступна только начальная версия).
  • 2.1: Выпущен в 2004.
  • 3.0: 1 июля 2005. Наряду с другими изменениями в библиотеках, C++ ABI изменено на используемое в gcc 3.4. Спецификация ядра обновлена до ISO POSIX (2003), Техническое Исправление 1: 2005.
  • 3.1: 31 октября 2005. Эта версия представлена как ISO/IEC 23360.
  • 3.2: 19 января 2008.
  • 4.0: 11 ноября 2008. Эта версия содержит следующие свойства:
    • glibc 2.4;
    • двоичная совместимость с LSB 3.x;
    • более простой SDK;
    • поддержка новых версий графических библиотек GTK и Cairo;
    • Java;
    • более простые способы создания LSB-совместимых пакетов RPMp;
    • Crypto API (через библиотеку Network Secure Sockets).
  • 4.1: 16 февраля 2011.
    • Удалена Java.
  • 5.0: 2 июня 2015.
    • Обновление версий библиотек;
    • Добавлены библиотеки SANE, libncursesw, libtiff и libxslt;
    • Добавлена поддержка XCB API для X11;
    • Удалена поддержка Qt3.

Стандарт ISO

[править | править код]

LSB зарегистрирован в качестве официального стандарта ISO. Его основные части[2]:

ISO/IEC 23360-1:2006 Linux Standard Base (LSB) core specification 3.1 — Part 1: Generic specification // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 1. Общие технические условия
ISO/IEC 23360-2:2006 Linux Standard Base (LSB) core specification 3.1 — Part 2: Specification for IA32 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 2. Спецификация архитектуры IA32
ISO/IEC 23360-3:2006 Linux Standard Base (LSB) core specification 3.1 — Part 3: Specification for IA64 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 3. Спецификация архитектуры IA64
ISO/IEC 23360-4:2006 Linux Standard Base (LSB) core specification 3.1 — Part 4: Specification for AMD64 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 4. Спецификация архитектуры AMD64
ISO/IEC 23360-5:2006 Linux Standard Base (LSB) core specification 3.1 — Part 5: Specification for PPC32 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 5. Спецификация архитектуры PPC32
ISO/IEC 23360-6:2006 Linux Standard Base (LSB) core specification 3.1 — Part 6: Specification for PPC64 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 6. Спецификация архитектуры PPC64
ISO/IEC 23360-7:2006 Linux Standard Base (LSB) core specification 3.1 — Part 7: Specification for S390 architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 7. Спецификация архитектуры S390
ISO/IEC 23360-8:2006 Linux Standard Base (LSB) core specification 3.1 — Part 8: Specification for S390X architecture // Основная спецификация 3.1 стандартной базы Linux (LSB). Часть 8. Спецификация архитектуры S390X

Примечания

[править | править код]
  1. Ulrich Drepper. Do you still think the LSB has some value? (англ.) (17 сентября 2005). Дата обращения: 22 февраля 2010. Архивировано из оригинала 21 января 2012 года.
  2. контекстный поиск — БелГИСС (недоступная ссылка)