stringtranslate.com

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

Логотип ЛСБ

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

По данным ЛСБ:

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

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

LSB определяет стандартные библиотеки (сосредоточенные вокруг ld-lsb.so), ряд команд и утилит, расширяющих стандарт POSIX , структуру иерархии файловой системы , уровни выполнения , систему печати, включая спулеры , такие как CUPS , и такие инструменты, как Foomatic , а также несколько расширений. в систему X Window . Он также определял средства загрузки, такие как $local_fs , $network , которые использовались для указания зависимостей служб в сценариях инициализации в стиле System V. [2] Машиночитаемый блок комментариев в верхней части сценария предоставлял информацию, необходимую для определения, на каком этапе процесса инициализации следует вызвать сценарий; он назывался заголовком LSB. [3]

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

Стандарт перестал обновляться в 2015 году, и текущие дистрибутивы Linux не соответствуют ему и не предлагают его; однако lsb_releaseиногда команда все еще доступна. [ нужна цитата ] 7 февраля 2023 года бывший сопровождающий LSB написал: «Проект LSB по существу заброшен». [5]

Пример вывода LSB в терминале (Debian версии 11)

Обратная совместимость

LSB стремится сделать двоичные файлы пользовательского пространства переносимыми

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

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

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

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

Стандарт ИСО/МЭК

LSB версии 3.1 зарегистрирован в качестве официального международного стандарта ISO / IEC . Основными его частями являются:

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

LSB версии 5.0 также зарегистрирован в качестве официального международного стандарта ISO / IEC .

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

Прием

Хотя 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) ; [14] еще меньше было сертифицировано для версии 4.1.

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

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

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

Этот выбор формата пакета исключил использование других существующих форматов пакетов, несовместимых с 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 апреля 2005 г., 3.1 в «etch») 2007), 3,2 у «ленни» (5,0; 14 февраля 2009 г.) и 4,1 у «хрипящего» (7; 4 мая 2013 г.). Чтобы использовать сторонние RPM-пакеты, совместимые с LSB, конечному пользователю необходимо использовать программу Debian Alien , чтобы преобразовать их в собственный формат пакета, а затем установить их.

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

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

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

Наборы тестов качества соответствия

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

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

Смотрите также

Рекомендации

  1. ^ «Сертификация приложения в LSB» . Фонд Linux . 2008. Архивировано из оригинала 15 июля 2009 года . Проверено 26 апреля 2010 г.
  2. ^ «Названия объектов». Стандартная базовая спецификация ядра Linux 3.1 . 2005.
  3. ^ «Соглашения о комментариях для сценариев инициализации» . Стандартная базовая спецификация ядра Linux 3.1 . 2005.
  4. ^ "Пакет redhat-lsb" . Fedoraproject.org . Архивировано из оригинала 1 сентября 2015 года . Проверено 15 августа 2015 г.
  5. ^ «Re: Архив этого списка рассылки» . список рассылки lsb-discuss . 7 февраля 2023 г.
  6. ^ "Дорожная карта LSB" . Фонд Linux . 2008 год . Проверено 26 апреля 2010 г.
  7. ^ «Примечания к выпуску LSB 5.0» . linuxfoundation.org . Архивировано из оригинала 8 июля 2017 года . Проверено 3 июня 2015 г.
  8. ^ djwm (10 марта 2011 г.). «Java удалена из стандартной базы Linux 4.1». Архивировано из оригинала 7 декабря 2013 года.
  9. ^ «Java удалена из стандартной базы Linux 4.1» . h-online.com . 10 марта 2011 года . Проверено 15 августа 2015 г.
  10. ^ «Примечания к выпуску LSB 5.0: Qt 3 удален» . linuxfoundation.org . Проверено 3 июня 2015 г.
  11. ^ ISO/IEC 23360-1:2006 — Базовая стандартная базовая спецификация Linux (LSB) 3.1 — Часть 1: Общая спецификация . Проверено 15 октября 2011 г.
  12. ^ ISO/IEC TR 24715:2006 - Информационные технологии. Языки программирования, их среды и интерфейсы системного программного обеспечения. Технический отчет о конфликтах между ISO/IEC 9945 (POSIX) и стандартной базой Linux (ISO/IEC 23360) . Проверено 15 октября 2011 г.
  13. ^ «Общедоступные стандарты ISO» . Проверено 15 октября 2011 г.
  14. ^ Каталог сертифицированных продуктов на linuxbase.org (12 января 2015 г.)
  15. ^ "bugs.debian.org".
  16. ^ "linuxfoundation.org".[ постоянная мертвая ссылка ]
  17. ^ "openacs.org".
  18. ^ «osnews.com».
  19. ^ «Глава 22. Установка программного обеспечения 22.1. Введение». Стандартная базовая спецификация ядра Linux 3.1 . 2005.
  20. ^ «Глава 22. Установка программного обеспечения 22.3. Ограничения сценариев пакета» . Стандартная базовая спецификация ядра Linux 3.1 . 2005.
  21. ^ ab «Debian — Подробная информация о пакете lsb в lenny (стабильная версия) — пакет поддержки Linux Standard Base 3.2» . Проект Дебиан . 18 августа 2008 года . Проверено 26 апреля 2010 г.
  22. ^ "Debian LSB" . Проект Дебиан . Проверено 26 апреля 2010 г.
  23. ^ "Обсуждение Debian LSB ML" . Проект Дебиан . Проверено 12 сентября 2015 г.
  24. ^ «Debian отказывается от стандартной базы Linux» . LWN.net .
  25. ^ «Исходный пакет lsb 9.20150917ubuntu1 в Ubuntu» . 19 ноября 2015 г.
  26. ^ аб Дреппер, Ульрих (17 сентября 2005 г.). «Вы все еще думаете, что LSB имеет какую-то ценность?» . Проверено 26 апреля 2010 г.
  27. ^ «Все о средстве проверки приложений Linux» . Фонд Linux . 2008 год . Проверено 26 апреля 2010 г.

Внешние ссылки

СМИ: