Jump to content

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

(Перенаправлено из ISO/IEC 23360 )

Логотип ЛСБ

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 System . Он также определял средства загрузки, такие как $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 ]

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

[ редактировать ]
  • 1.0: первый выпуск 29 июня 2001 г.
  • 1.1: Выпущено 22 января 2002 г. Добавлены спецификации для конкретного оборудования ( IA-32 ).
  • 1.2: Выпущено 28 июня 2002 г. Добавлены спецификации для конкретного оборудования ( PowerPC 32-разрядная версия ). Сертификация началась в июле 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 версии 2.3.4
    • C++ ABI заменен на тот, который используется в gcc 3.4.
    • Основная спецификация обновлена ​​до ISO POSIX (2003).
    • Техническое исправление 1: 2005 г.
  • 3.1: Выпущено 31 октября 2005 г. Эта версия представлена ​​как ISO/IEC 23360:2006.
  • 3.2: Выпущено 28 января 2008 г. Эта версия представлена ​​как ISO/IEC 23360:2006.
  • 4.0: выпущена 11 ноября 2008 г. Эта версия содержит следующие функции:
    • Библиотека GNU C версии 2.4
    • Бинарная совместимость с LSB 3.x
    • Проще использовать SDK
    • Поддержка новых версий GTK и Cairo . графических библиотек
    • Java (дополнительный модуль)
    • Более простые способы создания пакетов RPM, совместимых с LSB.
    • Crypto API (через библиотеку Network Security Services ) (дополнительный модуль)
  • 4.1: Выпущено 16 февраля 2011 г.: [ 8 ]
    • Java удалена [ 9 ]
    • Модули «пробного использования» из LSB 4.0, охватывающие мультимедиа ( ALSA ), безопасность (NSS) и прочие настольные системы ( xdg-utils ), были продвинуты как обязательные подмодули.
    • Обновлены GTK+ , Cairo и CUPS. библиотеки
    • Добавлены три новых набора тестов.
  • 5.0: выпущено 2 июня 2015 г. Эта версия представлена ​​как ISO/IEC 23360:2021.
    • Библиотека GNU C версии 2.10 (для psiginfo)
    • Первый основной выпуск, который нарушает обратную совместимость с более ранними версиями (совместим с LSB 3.0 и в основном совместим с LSB 3.1 и более поздними версиями, за некоторыми исключениями). [ 10 ] )
    • Включает изменения, внесенные в FHS 3.0.
    • Библиотека Qt 3 удалена.
    • Развитая модульная стратегия; LSB модульно разделен на LSB Core, LSB Desktop, LSB Languages, LSB Imaging и пробное использование LSB.

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

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

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

  • ISO/IEC 23360-1:2006 Основная спецификация ядра Linux (LSB) 3.1. Часть 1: Общая спецификация [ 11 ]
  • ISO/IEC 23360-2:2006 Базовая стандартная базовая спецификация Linux (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 (LSB) 3.1. Часть 5. Спецификация для PPC32. архитектуры
  • ISO/IEC 23360-6:2006 Базовая стандартная базовая спецификация Linux (LSB) 3.1. Часть 6. Спецификация для PPC64. архитектуры
  • ISO/IEC 23360-7:2006 Базовая стандартная базовая спецификация Linux (LSB) 3.1. Часть 7. Спецификация для S390. архитектуры
  • ISO/IEC 23360-8:2006 Базовая стандартная базовая спецификация Linux (LSB) 3.1. Часть 8. Спецификация для S390X. архитектуры

Существует также 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-1-1:2021 Стандартная база Linux (LSB). Часть 1-1. Общие определения
  • ISO/IEC 23360-1-2:2021 Стандартная база Linux (LSB). Часть 1-2. Общая часть базовой спецификации.
  • ISO/IEC 23360-1-3:2021 Стандартная база Linux (LSB). Часть 1-3. Общая часть спецификации рабочего стола.
  • ISO/IEC 23360-1-4:2021 Стандартная база Linux (LSB). Часть 1-4. Спецификация языков
  • ISO/IEC 23360-1-5:2021 Стандартная база Linux (LSB). Часть 1-5. Спецификация образа
  • ISO/IEC TS 23360-1-6:2021 Стандартная база Linux (LSB). Часть 1-6. Спецификация графики и Gtk3
  • ISO/IEC 23360-2-2:2021 Стандартная база Linux (LSB). Часть 2-2. Базовая спецификация для архитектуры X86-32.
  • ISO/IEC 23360-2-3:2021 Стандартная база Linux (LSB). Часть 2-3. Спецификация рабочего стола для архитектуры X86-32.
  • ISO/IEC 23360-3-2:2021 Стандартная база Linux (LSB). Часть 3-2. Базовая спецификация для архитектуры IA64 (Itanium™).
  • ISO/IEC 23360-3-3:2021 Стандартная база Linux (LSB). Часть 3-3. Спецификация рабочего стола для архитектуры IA64 (Itanium TM)
  • ISO/IEC 23360-4-2:2021 Стандартная база Linux (LSB). Часть 4-2. Базовая спецификация для архитектуры AMD64 (X86-64).
  • ISO/IEC 23360-4-3:2021 Стандартная база Linux (LSB). Часть 4-3. Спецификация настольного компьютера для архитектуры AMD64 (X86-64)
  • ISO/IEC 23360-5-2:2021 Стандартная база Linux (LSB). Часть 5-2. Базовая спецификация для архитектуры PowerPC 32.
  • ISO/IEC 23360-5-3:2021 Стандартная база Linux (LSB). Часть 5-3. Спецификация настольного компьютера для архитектуры PowerPC 32.
  • ISO/IEC 23360-6-2:2021 Стандартная база Linux (LSB). Часть 6-2. Базовая спецификация для архитектуры PowerPC 64.
  • ISO/IEC 23360-6-3:2021 Стандартная база Linux (LSB). Часть 6-3. Спецификация настольного компьютера для архитектуры PowerPC 64.
  • ISO/IEC 23360-7-2:2021 Стандартная база Linux (LSB). Часть 7-2. Базовая спецификация для архитектуры S390.
  • ISO/IEC 23360-7-3:2021 Стандартная база Linux (LSB). Часть 7-3. Спецификация рабочего стола для архитектуры S390
  • ISO/IEC 23360-8-2:2021 Стандартная база Linux (LSB). Часть 8-2. Базовая спецификация для архитектуры S390X.
  • ISO/IEC 23360-8-3:2021 Стандартная база Linux (LSB). Часть 8-3. Спецификация рабочего стола для архитектуры S390X

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, либо в виде установщика, соответствующего требованиям 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. ^ «Дорожная карта ЛСБ» . Фонд Linux . 2008 год . Проверено 26 апреля 2010 г.
  7. ^ «Примечания к выпуску LSB 5.0» . linuxfoundation.org . Архивировано из оригинала 8 июля 2017 года . Проверено 3 июня 2015 г.
  8. ^ djwm (10 марта 2011 г.). «Java удалена из Linux Standard Base 4.1» . Архивировано из оригинала 7 декабря 2013 года.
  9. ^ «Java удалена из Linux Standard Base 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. ^ Перейти обратно: а б «Debian — Подробная информация о пакете lsb в lenny (стабильная версия) — пакет поддержки Linux Standard Base 3.2» . Проект Дебиан . 18 августа 2008 года . Проверено 26 апреля 2010 г.
  22. ^ «Дебиан 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 г.
[ редактировать ]

СМИ:

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c47ec3c6915ffe6a8f5bbfe133f34b3b__1718643840
URL1:https://arc.ask3.ru/arc/aa/c4/3b/c47ec3c6915ffe6a8f5bbfe133f34b3b.html
Заголовок, (Title) документа по адресу, URL1:
Linux Standard Base - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)