Linux Standard Base
Linux Standard Base, LSB — совместный проект семейства операционных систем, основанных на Linux (то есть дистрибутивов Linux), при организации Linux Foundation, целью которого является стандартизация их внутренней структуры. LSB опирается на существующие спецификации, такие как POSIX, Single UNIX Specification и другие открытые стандарты, при этом расширяя и дополняя их.
По их словам[1]:
Цель LSB — разработать и продвигать набор стандартов, который увеличит совместимость различных дистрибутивов Linux и даст возможность запускать приложения на любой совместимой системе. Кроме того, 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 за плохое качество тестирования[2], которое может привести к несовместимости между сертифицированными дистрибутивами.
Он также указывал на недостаток тестов для приложений, отмечая, что тестирование только дистрибутивов никогда не решит проблем приложений, полагающихся на особенности конкретных реализаций.
В остальных областях 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. Эта версия содержит следующие свойства:
- 4.1: 16 февраля 2011.
- Удалена Java.
- 5.0: 2 июня 2015.
- Обновление версий библиотек;
- Добавлены библиотеки SANE, libncursesw, libtiff и libxslt;
- Добавлена поддержка XCB API для X11;
- Удалена поддержка Qt3.
Стандарт ISO
LSB зарегистрирован в качестве официального стандарта ISO. Его основные части[3]:
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 |
Примечания
- Linux Standard Base Project — Архивированная версия официального сайта от 2 октября 2003
- Ulrich Drepper. Do you still think the LSB has some value? (англ.) (недоступная ссылка) (17 сентября 2005). Дата обращения: 22 февраля 2010. Архивировано 21 января 2012 года.
- контекстный поиск — БелГИСС (недоступная ссылка)
См. также
Ссылки
- Linux Standard Base (LSB) (англ.).
- Four Linux Vendors Agree On An LSB Implemenation (англ.) (недоступная ссылка). slashdot (17 ноября 2004). Дата обращения: 1 ноября 2008. Архивировано 21 января 2012 года.
- Additional Vendors Participate in Growing LSB Effort (англ.) (недоступная ссылка). Debian (проект) (26 августа 1998). — пресс-релиз, описывающий схему организации команды (на тот момент), и кто был вовлечён. Дата обращения: 1 ноября 2008. Архивировано 21 января 2012 года.
- Jeff Licquia. Yes, the LSB Has Value (англ.) (недоступная ссылка) (27 сентября 2005). — Ответ Drepper by Jeff Licquia. Дата обращения: 1 ноября 2008. Архивировано 21 января 2012 года.
- Тестовый набор OLVER для LSB Core 3.1 (недоступная ссылка). Дата обращения: 1 октября 2008. Архивировано 21 января 2012 года.