Стандартная база Linux

редактировать

Логотип LSB

Стандартная база Linux (LSB ) совместный проект нескольких дистрибутивов Linux в рамках организационной структуры Linux Foundation по стандартизации структуры программной системы, включая Стандарт иерархии файловой системы, используемый в Ядро Linux. LSB основан на спецификации POSIX, Single UNIX Specification (SUS) и нескольких других открытых стандартах, но расширяет их в определенных областях.

Согласно LSB:

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

Соответствие LSB может быть подтверждено для продукта процедурой сертификации.

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

LSB также определяют средства загрузки, такие как $ local_fs, $ network, которые используются для указания зависимостей служб в Скрипты инициализации в стиле System V. Машиночитаемый блок комментариев в верхней части сценария предоставляет информацию, необходимую для определения того, в какой точке процесса инициализации сценарий должен быть запущен. Он называется заголовком LSB .

. Команда lsb_release -aдоступна во многих системах для получения сведений о версии LSB или может быть сделана доступной путем установки соответствующего пакета, например redhat-lsbв дистрибутивах с ароматом Red-Hat, таких как Fedora или пакет lsb-releaseв дистрибутивах на основе Debian.

Lsb release -a 01.png
Содержание
  • 1 Обратная совместимость
  • 2 История версий
  • 3 Стандарт ISO
  • 4 Прием
    • 4.1 Выбор формата пакета RPM
    • 4.2 Ограничения Debian
    • 4.3 Качество комплекты тестов на соответствие
  • 5 См. также
  • 6 Ссылки
  • 7 Внешние ссылки
    • 7.1 Медиа
Обратная совместимость
LSB призван сделать пользовательское пространство двоичные файлы переносимым

LSB разработан для обеспечения двоичной совместимости и создания стабильного двоичного интерфейса приложения (ABI) для независимых поставщиков программного обеспечения. Для обеспечения обратной совместимости каждая последующая версия является чисто аддитивной. Другими словами, интерфейсы только добавляются, а не удаляются. LSB принял политику отказа от интерфейса, чтобы дать разработчикам приложений достаточно времени на случай, если интерфейс будет удален из LSB.

Это позволяет разработчику полагаться на каждый интерфейс в LSB в течение известного времени, а также планировать изменения, не удивляясь. Интерфейсы удаляются только после того, как они были помечены как «устаревшие» как минимум для трех основных версий или примерно одиннадцать лет.

LSB 5.0 - это первый основной выпуск, который нарушает обратную совместимость с более ранними версиями.

История версий
  • 1.0: первоначальный выпуск 29 июня 2001 г.
  • 1.1: выпущен 22 января 2002 г. Добавлены аппаратные спецификации (IA-32 ).
  • 1.2 : Выпущен 28 июня 2002 г. Добавлены аппаратные спецификации (PowerPC 32-bit ). Сертификация началась в июле 2002 г.
  • 1.2.1: выпущена в октябре 2002 г. Добавлено Itanium.
  • 1.3: выпущено 17 декабря 2002 г. Добавлены аппаратные спецификации (Itanium, Enterprise System Architecture / 390, z / Architecture).
  • 2.0: выпущено 31 августа 2004 г.
  • 2.0.1: Выпущена 21 октября 2004 г. ISO версия LSB 2.0, которая включала спецификации для всех аппаратных архитектур (кроме LSB-Graphics, из которых доступна только общая версия).
  • 2.1: выпущено 11 марта 2005 г.
  • 3.0: выпущено 1 июля 2005 г. Среди других изменений библиотеки:
    • GNU C Library версия 2.3.4
    • C ++ ABI заменен на тот, который используется gcc 3.4
    • Основная спецификация обновлена ​​до ISO POSIX (2003)
    • Технические исправления 1 : 2005
  • 3.1: выпущен 31 октября 2005 г. Эта версия была представлена ​​как ISO / IEC 23360.
  • 3.2: Выпущена 28 января 2008 г. Эта версия была представлена ​​как ISO / IEC 23360.
  • 4.0: выпущено 11 ноября 2008 г. Эта версия содержит следующие функции:
    • Библиотека GNU C версия 2.4
    • Двоичная совместимость с LSB 3.x
    • Легче использовать SDK
    • Поддержка новых версий GTK и Cairo графических библиотек
    • Java (дополнительный модуль)
    • Упрощенно Пути создание LSB-совместимых пакетов RPM
    • Crypto API (через библиотеку Network Security Services ) (дополнительный модуль)
  • 4.1: выпущено 16 февраля 2011 г.:
    • Java удалены модули
    • «Пробное использование» из LSB 4.0, охватывающие мультимедиа (ALSA ), безопасность (NSS) и прочее для настольных компьютеров (xdg-utils ), были продвинуты как требуемые подмодули
    • Обновлены библиотеки GTK +, Cairo и CUPS
    • Добавлено три новых набора тестов
  • 5.0: Выпущено 2 июня 2015 г.
    • Первый основной выпуск, который нарушает обратную совместимость с более ранними версиями (совместим с LSB 3.0 и в основном совместим с LSB 3.1 и более поздними версиями, за некоторыми исключениями)
    • Включает изменения, внесенные в FHS 3.0
    • Библиотека Qt 3 удалена
    • Развитая модульная стратегия; LSB разделен на модули: LSB Core, LSB Desktop, LSB Languages, LSB Imaging и LSB Trial Use
стандарт ISO

LSB версии 3.1 зарегистрирован как официальный стандарт ISO. Основные его части:

  • ISO / IEC 23360-1: 2006 Стандартная база Linux (LSB), основная спецификация 3.1 - Часть 1: Общая спецификация
  • ISO / IEC 23360-2: 2006 Linux Standard Base (LSB) основная спецификация 3.1 - Часть 2: Спецификация для архитектуры IA-32
  • ISO / IEC 23360-3: 2006 Стандартная базовая базовая спецификация Linux (LSB) ядро ​​3.1 - Часть 3: Спецификация для архитектуры IA-64
  • ISO / IEC 23360-4: 2006 Стандартная база Linux (LSB), спецификация ядра 3.1 - Часть 4: Спецификация для архитектуры AMD64
  • ISO / IEC 23360-5: 2006 Linux Standard Base (LSB) Базовая спецификация 3.1 - Часть 5: Спецификация для PPC32 архитектуры
  • ISO / IEC 23360-6: 2006 Базовая спецификация ядра Linux Standard Base (LSB) 3.1 - Часть 6: Спецификация для PPC64 архитектура
  • ISO / IEC 23360-7: 2006 Стандартная базовая база Linux (LSB), базовая спецификация 3.1 - Часть 7: Спецификация для S390 архитектуры
  • ISO / IEC 23360-8: 2006 Стандарт ядра Linux Standard Base (LSB), спецификация 3.1 - Часть 8: Спецификации включен для S390X архитектура

Существует также ISO / IEC TR 24715: 2006, который определяет области конфликта между ISO / IEC 23360 (спецификация Linux Standard Base 3.1) и ISO / IEC 9945: 2003 ( POSIX) Международный стандарт.

ISO / IEC 23360 и ISO / IEC TR 24715 можно бесплатно загрузить с веб-сайта ISO.

Прием

Хотя LSB является стандартом и не имеет как конкурент, за ним следуют лишь несколько дистрибутивов Linux. Например, только 21 выпуск (версия) дистрибутива сертифицирован для LSB версии 4.0, в частности Red Flag Linux Desktop 6.0, Red Hat Enterprise Linux 6.0, SUSE Linux Enterprise 11 и Ubuntu 9.04 (Jaunty Jackalope) ; еще меньше сертифицировано для версии 4.1.

LSB критиковали за то, что он не принимает участие в проектах, в первую очередь проекта Debian, за пределами сферы своих компаний-членов.

Выбор формата пакета RPM

LSB указывает, что пакеты программного обеспечения должны доставляться либо как LSB-совместимый установщик, либо (предпочтительно) доставляться в ограниченной форме Формат Менеджера пакетов RPM.

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

Ограничения Debian

Debian включил необязательную поддержку LSB на раннем этапе, в версии 1.1 в «woody» (3.0; 19 июля 2002 г.), 2.0 в «sarge» (3.1; 6 июня 2005 г.), 3,1 в «etch» ​​(4,0; 8 апреля 2007 г.), 3,2 в «lenny» (5,0; 14 февраля 2009 г.) и 4,1 в «хрип» (7; 4 мая 2013 г.). Чтобы использовать сторонние LSB-совместимые пакеты RPM, конечный пользователь должен использовать программу Debian Alien, чтобы преобразовать их в собственный формат пакетов и затем установить их.

Формат RPM, заданный LSB, имеет ограниченное подмножество функций RPM - для блокировки использования функций RPM, которые нельзя было бы перевести в.deb с помощью Alien или других программ преобразования пакетов, и наоборот, поскольку каждый формат имеет свои возможности. другой не хватает. На практике не все двоичные пакеты Linux обязательно совместимы с LSB, поэтому, хотя большинство из них можно преобразовать между.rpm и.deb, эта операция ограничена подмножеством пакетов.

Используя Alien, Debian является LSB-совместимым для всех целей и задач, но, согласно описанию их пакета lsb, наличие пакета "не означает, что мы считаем, что Debian полностью соответствует стандарту Linux Standard Base, и его не следует истолковывать как утверждение, что Debian является LSB-совместимым ».

Debian стремился соблюдать LSB, но с множеством ограничений. Однако эти усилия прекратились примерно в июле 2015 года из-за отсутствия интереса и рабочей силы внутри проекта. В сентябре 2015 года проект Debian подтвердил, что, хотя поддержка стандарта иерархии файловой системы (FHS) будет продолжена, поддержка LSB прекращена. Ubuntu последовала за Debian в ноябре 2015 года.

Качество комплектов тестов на соответствие

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

Для поставщиков, рассматривающих LSB-сертификаты в своих усилиях по переносимости, Linux Foundation спонсирует инструмент, который анализирует символы и библиотеки, выходящие за пределы LSB, и предоставляет рекомендации.

См. Также
  • icon Портал Linux
Ссылки
Внешние ссылки

СМИ

Последняя правка сделана 2021-05-27 10:48:04
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте