Linux Standard Base, чи LSB, — спільний проєкт кількох дистрибутивів (GNU/Linux) з організацією Linux Foundation, метою якого є стандартизація внутрішньої структури операційних систем, заснованих на Linux. LSB спирається на існуючі специфікації, такі як POSIX, Single UNIX Specification, та інші відкриті стандарти, розширюючи і доповнюючи їх.
Згідно з проголошеною метою проєкту:
Мета LSB — розробити та просувати набір стандартів, який збільшить сумісність різних дистрибутивів Linux і дасть можливість запускати застосунки на будь-якій сумісній системі. Крім того, LSB допоможе скоординувати зусилля в залученні розробників до написання і портуванню застосунків під Linux. |
Щоб сертифікувати програмний продукт на сумісність зі стандартом LSB, потрібно пройти сертифікаційну процедуру, яка проводиться , що співпрацює з Free Standards Group.
LSB специфікує: стандартні бібліотеки, декілька команд і утиліт на додаток до стандарту POSIX, структуру ієрархії файлової системи, рівні запуску і різні розширення системи X Window System. LSB забезпечує сумісність між застосунками і операційною системою Linux, що дозволяє розробникам застосунків охоплювати різні дистрибутиви Linux, підготувавши для них єдиний інсталяційний пакет. Відштовхуючись при оформленні програмних продуктів від вимог LSB, виробники ПЗ можуть уніфікувати процес розробки застосунків і уникають необхідності стежити за комплектацією різних дистрибутивів Linux, поточними версіями бібліотек і програмних модулів. LSB також дозволяє постачальникам різних дистрибутивів продемонструвати своїм клієнтам, що їхній дистрибутив відповідає загальному набору стандартів для галузі, і що вони разом працюють над просуванням Linux. LSB виконує важливу роль щодо запобігання фрагментації дистрибутивів Linux, незважаючи на різноманіття яких, базовий бінарний інтерфейс (ABI) дистрибутивів вдається стримувати в певному незмінному руслі.
Крім безпосередньо специфікацій на ABI-інтерфейс в LSB входить набір засобів для тестування і розробки застосунків і дистрибутивів:
- Linux App Checker - програма, що дозволяє розробникам тестувати їхні програми на предмет сумісності з LSB;
- LSB SDK — комплект засобів для розробки, що дозволяє створювати виконувані файли, сумісні з LSB;
- LSB Distribution Checker — засоби для перевірки сумісності дистрибутивів зі специфікаціями LSB.
Потреба в стандартизації
Із самого початку операційна система Linux була POSIX-сумісною операційною системою, за винятком невеликого числа окремих невідповідностей. Проте, це не врятувало Linux від проблем з портативністю застосунків і подальшою фрагментацією ринку.
Недоліки POSIX стосовно такої ситуації такі:
- інтерфейсів, специфікованих в POSIX, виявляється недостатньо для повноцінної розробки всіх видів застосунків. Якщо системні застосунки і застосунки, що взаємодіють з користувачем за допомогою терміналу, можуть бути реалізовані в рамках інтерфейсів POSIX, то застосунки з графічним інтерфейсом користувача, і застосунки, що використовують системну інформацію, виявляються поза стандартом POSIX.
- опис вимог на рівні вихідного коду вимагає перекомпіляції застосунків. Це не є великою перешкодою при розповсюдженні застосунків з відкритими вихідними кодами, але істотно ускладнює розповсюдження застосунків в двійковому вигляді. У останньому випадку розробникові потрібно мати доступ до всіх підтримуваних дистрибутивів для збірки свого застосунку. Не легко доводиться і кінцевому користувачеві. Оскільки серед постачальників операційної системи Linux немає сталої традиції підтримувати зворотну двійкову сумісність компонентів, то будь-яке оновлення системи може призвести до втрати працездатності окремих застосунків. І навіть в тих випадках, коли застосунок поставляється з вихідними кодами і користувачеві для відновлення його працездатності потрібно тільки виконати перекомпіляцію застосунку, така ситуація не приносить користувачеві нічого окрім додаткового головного болю.
Шлях, яким пішло співтовариство Linux для подолання проблем з портативністю застосунків, полягав в стандартизації базових інтерфейсів операційної системи на бінарному рівні. Для цього в 1998 році була утворена некомерційна організація Free Standards Group, під орудою якої почалася розробка стандарту Linux Standard Base (LSB). Діяльність зі створення стандарту підтримали Лінус Торвальдс, , Ерік Раймонд, декілька постачальників дистрибутивів Linux, розробники застосунків, члени Linux International, а також Джон Габбард з проєкту FreeBSD.
Опис стандарту
Будь-який стандарт, що описує інтерфейси на рівні двійкового коду, залежить від архітектури апаратного забезпечення, на якій має працювати двійковий код. Водночас тільки невелика частина стандарту LSB містить вимоги, залежні від апаратної платформи. З урахуванням цього факту, а також того, що стандарт LSB підтримує декілька апаратних архітектур, текст стандарту побудований за наступним принципом.
Всі вимоги стандарту, які не залежать від цільової апаратної платформи, винесені в окремий документ, званий «Загальною специфікацією LSB». Крім того, для кожної підтримуваної платформи створений додатковий документ, що описує вимоги LSB, специфічні для даної платформи. Таким чином, повні набір вимог стандарту LSB для деякої платформи знаходиться в двох документах: у загальній специфікації LSB і в специфікації LSB для цієї платформи.
Стандарт LSB 3.2 підтримує 7 платформ:
- AMD64 Architecture
- IA32 — IA-32 Intel Architecture
- IA64 — Intel Itanium Architecture
- PPC32 — PowerPC Microprocessor Architecture
- PPC64 — 64-bit PowerPC Microprocessor Architecture
- S390 — IBM S/390 Architecture
- S390X — IBM z/Architecture [S390X].
Стандарт LSB 3.2 складається з модулів: LSB Core, LSB C++, LSB Desktop, LSB Print та LSB Runtime languages. Крім того, існує додатковий, необов'язковий модуль, LSB Qt 4.
LSB Core
Базові вимоги
- вимоги до формату виконуваних файлів;
- вимоги до базового бінарного інтерфейсу;
- вимоги до команд і утиліт;
- вимоги до устрою файлової системи;
- вимоги до процесу ініціалізації;
- вимоги до користувачів і груп;
- вимоги до інсталяції програмного забезпечення.
Базові вимоги включають визначення таких ключових елементів двійкового інтерфейсу як розміри базових типів мови C, угоди про виклик функцій тощо. Велика частина таких вимог визначаються в платформо-залежних документах LSB.
Вимоги до формату виконуваних файлів полягають в наступному. Операційна система зобов'язана підтримувати виконання здійснимих файлів у форматі Executable And Linking Format (ELF) з урахуванням додаткових вимог, сформульованих в стандарті LSB. LSB вимагає підтримки наступних елементів:
- додаткових типів секцій ELF файлу;
- формату налагоджувальної інформації DWARF 2.0;
- версій бінарних символів;
- процесу динамічного зв'язування.
Вимоги до базового бінарного інтерфейсу операційної системи є одним з ключових елементів стандарту. Стандарт наказує системі містити 12 розподільних бібліотек:
- інтерпретатор і редактор програм динамічних зв'язків (ld-lsb.so);
- бібліотека підтримки мови Сі (libc);
- бібліотека математичних функцій (libm);
- бібліотека потоків управління POSIX (libpthread);
- незалежна від мови бібліотека підтримки компілятора gcc (libgcc_s);
- завантажувач динамічних бібліотек (libdl);
- бібліотека функцій реального часу (librt);
- бібліотека функцій криптографії (libcrypt);
- бібліотека модуля ідентифікації, що настроюється (libpam);
- бібліотека функцій стиснення даних (libz);
- бібліотека функцій термінального інтерфейсу (libncurses);
- бібліотека допоміжних функцій (libutil).
Крім того, для кожної бібліотеки стандарт визначає набір загальнодоступних бінарних символів і описує вимоги до кожного окремого символу. У загальному вигляді вимога до бінарного символу звучить таким чином:
У розподільній бібліотеці X повинен бути присутнім бінарний символ Y (версії Z) і при використанні цього символу як функції із заданою сигнатурою його поведінка повинна відповідати вимогам стандарту. |
Розробники LSB воліли не дублювати опис функцій, відповідних бінарним символам, якщо в якому-небудь з існуючих стандартів дана функціональність вже специфікована. Замість дублювання тексту вони указують посилання на відповідний стандарт. І навіть якщо функціональність, реалізована в Linux-системах, відмінна від стандартизованої раніше, в LSB зазвичай стоїть посилання на інший стандарт з додатковим описом відмінностей вимог LSB від вимог початкового стандарту.
Важливою особливістю стандартів, що описують інтерфейси на рівні двійкових кодів, є фіксація значень всіх констант, а також фіксація розмірів всіх типів і зсувів полів у всіх структурах даних. Дійсно, якщо POSIX визначає, що в заголовному файлі повинні бути визначені константи із заданим ідентифікатором і структура із заданим ім'ям і набором полів, то цього виявляється достатньо для коректної роботи POSIX-сумісного застосунку. Конкретні значення констант і зсуву полів усередині структур визначаються на етапі компіляції програми. Для LSB, який стандартизує вже скомпільовані застосунки, всі ці значення повинні бути зафіксовані в самому стандарті.
Вимоги до команд і утиліт
У стандарті LSB визначають необхідність наявності і правил функціонування 5 команд і 133 утиліт. За своєю структурою опис утиліт нічим не відрізняються від опису утиліт в стандарті IEEE Std 1003.1 (POSIX), оскільки для утиліт не існує відмінності між рівнем початкових кодів і рівнем бінарних кодів.
Вимоги до устрою файлової системи
Вимоги до устрою файлової системи стандарту LSB базуються на стандарті Filesystem Hierarchy Standard (FHS) 2.3. На додаток до FHS 2.3 LSB вимагає наявність файлів пристроїв /dev/null, /dev/zero і /dev/tty, а також семи спеціальних директорій в каталозі /etc. Також стандарт LSB регламентує, щоб застосунки використовували для іменування конфігураційних файлів в директорії /etc або короткі імена, зареєстровані в Linux Assigned Names and Numbers Authority (LANANA), або, так звані ієрархічні імена, що включають DNS ім'я, зареєстроване за розробником.
Вимоги до процесу ініціалізації
Визначають портативне оточення для скриптів ініціалізації застосунків, які автоматично запускаються при старті та завершенні роботи системи. Це оточення включає:
- інтерфейс, за допомогою якого застосунки можуть портативно реєструвати та видаляти скрипти ініціалізацій з системи;
- визначення семантики рівнів виконання (run levels);
- визначення ідентифікаторів стандартних пристроїв для використання при визначенні залежностей скриптів ініціалізації (наприклад: $local_fs, $network, $remote_fs);
- набір портативних функцій командного процесора для використання в скриптах ініціалізації.
Вимоги до користувачів і груп
Стандарт LSB вимагає визначити трьох обов'язкових користувачів і груп, які зобов'язані бути присутнім у всіх системах, і набір опціональних системних користувачів і груп.
Вимоги до інсталяції програмного забезпечення
Призначені для надання можливості портативно реалізувати інсталяцію/деінсталяцію застосунків. Для досягнення цієї мети LSB визначає формат файлу, що містить дистрибутив застосунку як підмножину формату RPMv3 (Red Hat Package Manager), розробленого компанією Red Hat, Inc [RPM30]. При цьому LSB не вимагає використання утиліти rpm або підтримка бази даних RPM, що дозволяє реалізувати LSB-сумісну інсталяцію на основі альтернативних механізмів управління програмним забезпеченням. Крім того, LSB допускає можливість розповсюдження застосунків не тільки у вигляді пакетів RPM, але і в інших формах, за умови, що використовуваний інсталятор розповсюджується разом з застосунком і є LSB-сумісним застосунком.
LSB C++
Містить вимоги наступних видів:
- представлення C++ даних;
- правила перетворення ідентифікаторів;
- бінарний інтерфейс базових бібліотек.
Вимоги до представлення C++ даних описують правила представлення C++ класів в пам'яті машини. Правила перетворення ідентифікаторів визначають, як має відбуватися перетворення ідентифікаторів мови програмування C++ в бінарні символи об'єктного коду. І нарешті, опис бінарного інтерфейсу базових бібліотек C++ містить вимоги до складу і функціональності бінарних символів з бібліотеки підтримки мови C++.
LSB Desktop
Визначає вимоги до бінарного інтерфейсу бібліотек, призначених для роботи застосунків, орієнтованих на взаємодію з користувачем. До числа цих бібліотек входять:
- графічні бібліотеки (libX11, libSM, libICE, libXt, libXext, libXi);
- бібліотеки OpenGL (libGL);
- бібліотеки PNG (libpng12);
- бібліотеки JPEG (libjpeg);
- бібліотеки конфігурації шрифтів (libfontconfig);
- бібліотеки сімейства (libglib-2.0, libgobject-2.0, libgmodule-2.0, libatk-1.0, libpango-1.0, libpangoxft-1.0, libpangoft2-1.0, libgdk_pixbuf-2.0, libgdk_pixbuf_xlib-2.0, libgdk-x11-2.0, libgtk-x11-2.0);
- бібліотека Qt3 (libqt-mt);
- бібліотека XML2 (libxml2).
Всього в LSB 3.1 з перерахованих вище бібліотек стандартизовано 19103 бінарних символи. Також LSB Desktop входять 3 утиліти, призначеної для конфігурації шрифтів.
LSB Printing
Архітектурно-нейтральна частина стандарту. Містить Common Unix Printing System (CUPS), команди foomatic-rip і gs, які забезпечують сумісність майже з усіма спулерами (програмами-планувальниками), а також можливість виведення даних на PostScript PDF
Історія Linux Standard Base
Робота з розробки стандарту LSB стартувала на початку 1998 року, і вже в жовтні 1999 з'явився перший варіант стандарту LSB 0.1. Після серії попередніх версій 29 червня 2001 року була випущена перша офіційна версія стандарту — LSB 1.0. Ця версія складалася з єдиного документа, в якому були об'єднані вимоги частин LSB Core і невеликої підмножини LSB Desktop. Спочатку стандарт підтримував тільки одну архітектуру — IA32. Прикладний бінарний інтерфейс версії 1.0 складався з вимог до 15 бібліотек, в яких було стандартизовано 3040 функцій.
Версія 1.1 була випущена 22 січня 2002 року. Основні зміни торкнулися бібліотеки libc, в якій з'явилося 68 нових функцій. Велику частину з них склали функції підтримки RPC (Remote Procedure Call). Крім того, в бібліотеці libpthread були стандартизовані функції роботи з атрибутом pshared м'ютексів, в бібліотеці librt — функції роботи з таймерами, а в бібліотеці libm — функція clog. З графічних бібліотек навпаки було видалено 22 функції, 14 з яких знов з'явилися у версії LSB 1.2, опублікованій 28 червня 2002 року.
Найважливішою особливістю версії 1.2 стала підтримка другої архітектури (PPC32). Також в цій версії бінарний інтерфейс був розширений 6 новими функціями. На базі версії 1.2 FSG в серпні 2002 року оголосила про початок сертифікаційної програми.
У LSB 1.3, випущеній 17 грудня 2002 року, була реалізована підтримка широкого переліку архітектури (IA32, IA64, PPC32, S390, S390X) і була проведена реорганізація базових бібліотек. Бібліотеку librt видалили зі стандарту, оскільки асинхронний ввід-вивід,, що становить основну її частину, не повністю підтримувалося всіма дистрибутивами операційної системи Linux. Зате в стандарті з'явилися дві нові бібліотеки: libpam (модуль ідентифікації, що настроюється) і libgcc_s (незалежна від мови бібліотека підтримки компілятора gcc).
У LSB 2.0, опублікованому 31 серпня 2004 року, вперше був стандартизований бінарний інтерфейс бібліотеки підтримки мови C++: libstdc++. Іншою важливою зміною стало те, що до того монолітний текст стандарту був роздільний на три модулі: LSB Core, LSB C++ і LSB Graphics. Версія 2.1 від 11 березня 2005 року містила невеликі зміни, що торкнулися уточнення інтерфейсів libc, libm, libpthread і libz.
Наступна версія стандарту LSB 3.0 з'явилася 6 липня 2005 року. При її розробці почалася робота за погодженням стандарту LSB з вимогами стандарту IEEE Std 1003.1 (POSIX). Серед ключових змін слід зазначити перехід на новий бінарний інтерфейс C++, який був реалізований в компіляторі gcc 3.4.4, а також додавання нової бібліотеки libXi до складу модуля LSB Graphics і повернення в ряди LSB Core бібліотеки librt.
У складі бібліотеки librt повернулися не всі функції, а тільки функції роботи з годинником, таймерами і розподіленою пам'яттю. А функції асинхронного вводу-виводу як і раніше залишилися за бортом LSB 3.0.
LSB 3.1 публікувався частинами: LSB 3.1 Core з'явився 27 жовтня 2005 року, LSB 3.1 C++ і LSB 3.1 Desktop — 24 квітня 2006 року. Таке рішення було пов'язане з переговорами про присвоєння стандарту LSB Core статусу міжнародного стандарту ISO. Переговори на цю тему почалися ще під час роботи над LSB 2.0, а восени 2005 року цей процес успішно завершився і LSB 3.1 Core отримав статус міжнародного стандарту ISO/IEC 23360.
З технічної точки зору LSB 3.1 відрізняється в першу чергу істотним розширенням стандартизованих інтерфейсів, призначених для застосунків з графічним користувацьким інтерфейсом. Це розширення призвело до перейменування модуля LSB Graphics в LSB Desktop. Поява опційного модуля LSB Qt 4 пов'язана з тим, що розробники стандарту підготували опис нової версії бібліотеки Qt, але оскільки ще не всі основні дистрибутиви Linux перейшли на цю версію, та вимога на наявність бібліотеки Qt 4 була зроблена необов'язковою.
Версія 3.2 була випущена 28 січня 2008 року. До розділів Core, Desctop та C++ додані
- Друк: Включає Common Unix Printing System (CUPS) і нові команди foomatic-rip і gs, які забезпечують сумісність майже з усіма спулерами (програмами-планувальниками), а також можливість виведення даних на PostScript PDF.
- Runtime languages: Включає Perl і Python. Будь-який застосунок, заснований на цих мовах, може розраховувати на доступність стандартного набору властивостей і бібліотек. Додаються два набори тестів, поодинці для кожної мови.
«Пробний стандарт» включає два розділи: звук і інтеграція робочих столів. Advanced Linux Sound Architecture (ALSA), яка включена в більшість сучасних дистрибутивів, є частиною стандарту. Включені команди xdg-utils зі складу Portland Project, вони дозволяють з командного рядка встановлювати та видаляти теми різних меню на робочому столі, а також джерела ікон, управління типами файлів, посилання пошти через вибрану користувачем поштову програму, настройка охоронця екрану і багато що інше.
LSB 4.0
14 жовтня 2008 Linux Foundation анонсувала версію LSB 4.0 Beta, підсилену засобами для розробників.
Бета-версія специфікації Linux Standard Base (LSB) 4.0 розширює можливості розробників шляхом використання технології, що дозволяє погоджувати розбіжності в різних варіантах Linux. Версія 4.0 містить в собі засоби перевірки коректності скриптів застосунків і каркасів, а також комплект розробника (SDK), що підтримує різні версії. Комплект розробника дозволяє створювати застосунки відповідно до попередніх специфікацій LSB, не міняючи SDK.
Модель перевірки скриптів для оболонки в LSB 4.0 дозволяє виявити потенційні проблеми в скриптах, при цьому скрипт в одному варіанті операційної системи може безпечно виконуватися в іншому. SDK в бета-версії може створювати застосунки для специфікацій LSB 3.0, 3.1, 3.2 або 4.0. Пакет SDK пропонуватиметься незалежно від випуску нових специфікацій.
Для шифрування LSB 4.0 спирається на Mozilla Network Security Services (NSS) і Netscape Portable Runtime (NSPR). Це поєднання забезпечує підтримку Secure Sockets Layer (SSL). Linux Foundation відмовилася від використання в LSB бібліотеки OpenSSL, незважаючи на її популярність, побоюючись, що можуть виникнути проблеми зі стандартизацією.
У грудні 2010 некомерційна організація Linux Foundation оголосила результати сертифікації Linux-дистрибутивів на предмет відповідності стандарту LSB 4.0, випущеному за два роки тому. Сумісність зі стандартом LSB 4.0 підтвердили всі провідні Linux-компаній та дистрибутиви, включаючи Canonical, , Linpus, Mandriva, , Novell, Oracle, Debian, Red Flag Linux і Red Hat.
LSB 5.0
5 червня 2015 організація Linux Foundation опублікувала значні версії основоположних для Linux-систем стандартів LSB 5.0 (Linux Standard Base) і FHS 3.0 (Filesystem Hierarchy Standard).
Основні зміни в Linux Standard Base 5.0:
- Припинено підтримка бібліотеки Qt 3, що дозволяє дистрибутивам не включати цю застарілу гілку Qt для збереження сумісності з LSB. Застосунки на базі Qt3 не є сумісними зі стандартом LSB 5, крім випадку використання статичного зв'язування з бібліотекою.
- Удосконалена модульна організація LSB, специфікації тепер не просто логічно розділені по області призначення, а й самодостатні, тобто кожна з частин LSB може застосовуватися відокремлено, даючи можливість враховувати у застосунку тільки необхідні частини стандарту, без залежності від повного набору специфікацій. У LSB 5.0 доступно п'ять модулів LSB Core, LSB Desktop, LSB Languages, LSB Imaging і LSB Trial Use (GTK3+ і libpng). Основною обов'язковою залежністю є тільки модуль LSB Core, інші модулі можна використовувати відокремлено. Модуль LSB Trial Use є опцією і не обов'язковий до реалізації.
- Підвищено мінімальні вимоги до базових бібліотек: GTK+ 2.32 (для сумісності з LSB Trial Use — GTK+/GDK 3.0), Cairo 1.30, OpenGL 2.1;
- Додана підтримка XCB API для X11;
- Включені нові бібліотеки SANE, libncursesw, libtiff і libxslt;
- Додані нові програмні інтерфейси, включаючи aio, argz *, envz *, CUPS ippReadIO/ippWriteIO і inflateCopy (libz).
Позиції Linux Standard Base
Стандарт LSB знайшов підтримку в індустрії. Багато дистрибутивів пройшли сертифікацію на відповідність LSB. Серед них
- (Server 3.0),
- Debian (Etch),
- Mandriva (2007),
- Novell (SUSE Linux Enterprise 10),
- openSUSE 10.2
- Red Hat (Enterprise Linux 5),
- Ubuntu (Dapper),
- Xandros (Server 1.0)
- Mandrakelinux Corporate Server
- SGI ProPack for Linux3
Хоча є і такі дистрибутиви, які націлені на роботу на передньому краю досягнень у світі Linux і не збираються брати участь в комерційній діяльності. Тому вони не зацікавлені в сертифікації та підтримці LSB. Як приклад такого дистрибутиву можна навести Fedora.
Користувачі і постачальники застосунків також взяли участь в розповсюдженні стандарту. Одним зі способів участі стало те, що окремі гравці на ринку Linux і, зокрема, IBM включили сертифікацію на відповідність LSB як обов'язкову вимогу при укладенні контрактів зі своїми партнерами. Істотну роль в підтримці стандарту також зіграли такі корпорації як Intel і HP.
Водночас не можна сказати, що розробники стандарту LSB не зазнавали проблем. Основне розчарування, пов'язане із стандартом, з'явилося наслідком завищених очікувань що сформувалися до його створення. Багато хто вважав, що з появою LSB можна буде один раз скомпілювати застосунок, і він працюватиме на всіх дистрибутивах Linux і інших LSB-сумісних операційних системах для даної апаратної платформи. На жаль, дійсність опинилася дещо складнішою. Попри постійне зростання LSB багатьом застосункам, як і раніше, не вистачає функціональності, описаної в стандарті, для реалізації всіх потреб портативно. LSB розвивається в цьому напрямі, стандартизуючи все більше неохоплених раніше інтерфейсів між застосунками і операційною системою.
Ще одна проблема на шляху до досягнення працездатності цього принципу полягає у відсутності зворотної сумісності між основними версіями стандарту. Це означає, що застосунок має бути перекомпільований для кожної такій версії. Звичайно, основних версій стандарту значно менше, ніж різних дистрибутивів Linux, але все одно це порушення принципу, яке є одним з джерел обдурених очікувань. Причина відсутності зворотної сумісності полягає в постійній зміні бінарних інтерфейсів і проблематичності підтримки їх сумісності. На рівні двійкових кодів значно менше гнучкості в порівнянні з рівнем початкових кодів. Хоча підтримка версій бінарних символів в сукупності з іншими механізмами та дозволяє організувати зворотну сумісність, але це особливо складно зробити стандарту, якщо розробники його реалізацій не стурбовані проблемою зворотної сумісності.
Інша проблема стандарту LSB полягає в розриві між бінарним рівнем стандарту і початковим кодом застосунків. Розробники LSB надають разом зі стандартом набір інструментів, призначених для полегшення розробки LSB-сумісних застосунків. Але функціональності інструментів і особливо документація з їхнього використанню не вистачає розробникам для того, щоб розробка LSB-сумісних застосунків стала простою і зрозумілою справою.
Критика
Влітку розробники Debian поставили під сумнів доцільність забезпечення підтримки в дистрибутиві стандарту Linux Standard Base, який визначає сервіси, засоби розробки, бінарні інтерфейси та бібліотеки, що дають можливість виконання в дистрибутиві LSB-сумісних сторонніх застосунків. На думку деяких розробників, на забезпечення сумісності з LSB витрачається занадто багато сил, при неочевидній користі від такої сумісності.
Підтримуваний в Debian стандарт LSB 4.1 описує 1493 компонентів, 1672 бібліотек, 38491 команд, 30176 класів і 716 202 інтерфейсів. При тому, що на час розгляду на предмет сумісності з LSB сертифіковане всього 8 застосунків, з яких тільки одна програма сертифікована на відповідність LSB 4.0+. Інакше кажучи, вся величезна робота і ті рамки, в які доводиться укладатися заради сумісності з LSB, робляться заради кількох власницьких програм, розробники яких не бажають сформувати специфічні для дистрибутиву пакунки.
Головною ж проблемою є те, що ніхто з розробників Debian не зацікавлений у супроводі пакунків з компонентами для підтримки LSB. З моменту пропозиції про припинення підтримки LSB минуло три місяці, за які не знайшлося бажаючих взяти на себе роботу з підтримки пакетів, пов'язаних з LSB. У зв'язку з цим восени 2015 вирішено зберегти тільки пакети lsb-base і lsb-release з невеликим набором shell-функцій для скриптів ініціалізації та утилітою для виводу рівня сумісності з LSB, відкинувши все інше.
Див. також
Примітки
- . Архів оригіналу за 15 квітня 2008. Процитовано 21 листопада 2008.
- . Архів оригіналу за 18 жовтня 2008. Процитовано 21 жовтня 2008.
- . Архів оригіналу за 12 вересня 2015. Процитовано 21 листопада 2008.
- . Архів оригіналу за 14 грудня 2010. Процитовано 9 грудня 2010.
- . Архів оригіналу за 17 вересня 2015. Процитовано 5 червня 2015.
- Debian прекращает поддержку стандарта Linux Standard Base [ 10 жовтня 2015 у Wayback Machine.] // opennet.ru
- . Архів оригіналу за 9 жовтня 2015. Процитовано 10 жовтня 2015.
Посилання
- Офіційний сайт [ 2 жовтня 2003 у Wayback Machine.](англ.)
- (англ.)
- А. В. Хорошилов. Linux Standard Base: история успеха? [ 22 вересня 2008 у Wayback Machine.](рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Skorochennya LSB takozh maye inshi znachennya Linux Standard Base chi LSB spilnij proyekt kilkoh distributiviv GNU Linux z organizaciyeyu Linux Foundation metoyu yakogo ye standartizaciya vnutrishnoyi strukturi operacijnih sistem zasnovanih na Linux LSB spirayetsya na isnuyuchi specifikaciyi taki yak POSIX Single UNIX Specification ta inshi vidkriti standarti rozshiryuyuchi i dopovnyuyuchi yih Linux Standard Base Zgidno z progoloshenoyu metoyu proyektu Meta LSB rozrobiti ta prosuvati nabir standartiv yakij zbilshit sumisnist riznih distributiviv Linux i dast mozhlivist zapuskati zastosunki na bud yakij sumisnij sistemi Krim togo LSB dopomozhe skoordinuvati zusillya v zaluchenni rozrobnikiv do napisannya i portuvannyu zastosunkiv pid Linux Shob sertifikuvati programnij produkt na sumisnist zi standartom LSB potribno projti sertifikacijnu proceduru yaka provoditsya sho spivpracyuye z Free Standards Group LSB specifikuye standartni biblioteki dekilka komand i utilit na dodatok do standartu POSIX strukturu iyerarhiyi fajlovoyi sistemi rivni zapusku i rizni rozshirennya sistemi X Window System LSB zabezpechuye sumisnist mizh zastosunkami i operacijnoyu sistemoyu Linux sho dozvolyaye rozrobnikam zastosunkiv ohoplyuvati rizni distributivi Linux pidgotuvavshi dlya nih yedinij instalyacijnij paket Vidshtovhuyuchis pri oformlenni programnih produktiv vid vimog LSB virobniki PZ mozhut unifikuvati proces rozrobki zastosunkiv i unikayut neobhidnosti stezhiti za komplektaciyeyu riznih distributiviv Linux potochnimi versiyami bibliotek i programnih moduliv LSB takozh dozvolyaye postachalnikam riznih distributiviv prodemonstruvati svoyim kliyentam sho yihnij distributiv vidpovidaye zagalnomu naboru standartiv dlya galuzi i sho voni razom pracyuyut nad prosuvannyam Linux LSB vikonuye vazhlivu rol shodo zapobigannya fragmentaciyi distributiviv Linux nezvazhayuchi na riznomanittya yakih bazovij binarnij interfejs ABI distributiviv vdayetsya strimuvati v pevnomu nezminnomu rusli Krim bezposeredno specifikacij na ABI interfejs v LSB vhodit nabir zasobiv dlya testuvannya i rozrobki zastosunkiv i distributiviv Linux App Checker programa sho dozvolyaye rozrobnikam testuvati yihni programi na predmet sumisnosti z LSB LSB SDK komplekt zasobiv dlya rozrobki sho dozvolyaye stvoryuvati vikonuvani fajli sumisni z LSB LSB Distribution Checker zasobi dlya perevirki sumisnosti distributiviv zi specifikaciyami LSB Potreba v standartizaciyiIz samogo pochatku operacijna sistema Linux bula POSIX sumisnoyu operacijnoyu sistemoyu za vinyatkom nevelikogo chisla okremih nevidpovidnostej Prote ce ne vryatuvalo Linux vid problem z portativnistyu zastosunkiv i podalshoyu fragmentaciyeyu rinku Nedoliki POSIX stosovno takoyi situaciyi taki interfejsiv specifikovanih v POSIX viyavlyayetsya nedostatno dlya povnocinnoyi rozrobki vsih vidiv zastosunkiv Yaksho sistemni zastosunki i zastosunki sho vzayemodiyut z koristuvachem za dopomogoyu terminalu mozhut buti realizovani v ramkah interfejsiv POSIX to zastosunki z grafichnim interfejsom koristuvacha i zastosunki sho vikoristovuyut sistemnu informaciyu viyavlyayutsya poza standartom POSIX opis vimog na rivni vihidnogo kodu vimagaye perekompilyaciyi zastosunkiv Ce ne ye velikoyu pereshkodoyu pri rozpovsyudzhenni zastosunkiv z vidkritimi vihidnimi kodami ale istotno uskladnyuye rozpovsyudzhennya zastosunkiv v dvijkovomu viglyadi U ostannomu vipadku rozrobnikovi potribno mati dostup do vsih pidtrimuvanih distributiviv dlya zbirki svogo zastosunku Ne legko dovoditsya i kincevomu koristuvachevi Oskilki sered postachalnikiv operacijnoyi sistemi Linux nemaye staloyi tradiciyi pidtrimuvati zvorotnu dvijkovu sumisnist komponentiv to bud yake onovlennya sistemi mozhe prizvesti do vtrati pracezdatnosti okremih zastosunkiv I navit v tih vipadkah koli zastosunok postavlyayetsya z vihidnimi kodami i koristuvachevi dlya vidnovlennya jogo pracezdatnosti potribno tilki vikonati perekompilyaciyu zastosunku taka situaciya ne prinosit koristuvachevi nichogo okrim dodatkovogo golovnogo bolyu Shlyah yakim pishlo spivtovaristvo Linux dlya podolannya problem z portativnistyu zastosunkiv polyagav v standartizaciyi bazovih interfejsiv operacijnoyi sistemi na binarnomu rivni Dlya cogo v 1998 roci bula utvorena nekomercijna organizaciya Free Standards Group pid orudoyu yakoyi pochalasya rozrobka standartu Linux Standard Base LSB Diyalnist zi stvorennya standartu pidtrimali Linus Torvalds Erik Rajmond dekilka postachalnikiv distributiviv Linux rozrobniki zastosunkiv chleni Linux International a takozh Dzhon Gabbard z proyektu FreeBSD Opis standartuBud yakij standart sho opisuye interfejsi na rivni dvijkovogo kodu zalezhit vid arhitekturi aparatnogo zabezpechennya na yakij maye pracyuvati dvijkovij kod Vodnochas tilki nevelika chastina standartu LSB mistit vimogi zalezhni vid aparatnoyi platformi Z urahuvannyam cogo faktu a takozh togo sho standart LSB pidtrimuye dekilka aparatnih arhitektur tekst standartu pobudovanij za nastupnim principom Vsi vimogi standartu yaki ne zalezhat vid cilovoyi aparatnoyi platformi vineseni v okremij dokument zvanij Zagalnoyu specifikaciyeyu LSB Krim togo dlya kozhnoyi pidtrimuvanoyi platformi stvorenij dodatkovij dokument sho opisuye vimogi LSB specifichni dlya danoyi platformi Takim chinom povni nabir vimog standartu LSB dlya deyakoyi platformi znahoditsya v dvoh dokumentah u zagalnij specifikaciyi LSB i v specifikaciyi LSB dlya ciyeyi platformi Standart LSB 3 2 pidtrimuye 7 platform AMD64 Architecture IA32 IA 32 Intel Architecture IA64 Intel Itanium Architecture PPC32 PowerPC Microprocessor Architecture PPC64 64 bit PowerPC Microprocessor Architecture S390 IBM S 390 Architecture S390X IBM z Architecture S390X Standart LSB 3 2 skladayetsya z moduliv LSB Core LSB C LSB Desktop LSB Print ta LSB Runtime languages Krim togo isnuye dodatkovij neobov yazkovij modul LSB Qt 4 LSB Core Bazovi vimogi vimogi do formatu vikonuvanih fajliv vimogi do bazovogo binarnogo interfejsu vimogi do komand i utilit vimogi do ustroyu fajlovoyi sistemi vimogi do procesu inicializaciyi vimogi do koristuvachiv i grup vimogi do instalyaciyi programnogo zabezpechennya Bazovi vimogi vklyuchayut viznachennya takih klyuchovih elementiv dvijkovogo interfejsu yak rozmiri bazovih tipiv movi C ugodi pro viklik funkcij tosho Velika chastina takih vimog viznachayutsya v platformo zalezhnih dokumentah LSB Vimogi do formatu vikonuvanih fajliv polyagayut v nastupnomu Operacijna sistema zobov yazana pidtrimuvati vikonannya zdijsnimih fajliv u formati Executable And Linking Format ELF z urahuvannyam dodatkovih vimog sformulovanih v standarti LSB LSB vimagaye pidtrimki nastupnih elementiv dodatkovih tipiv sekcij ELF fajlu formatu nalagodzhuvalnoyi informaciyi DWARF 2 0 versij binarnih simvoliv procesu dinamichnogo zv yazuvannya Vimogi do bazovogo binarnogo interfejsu operacijnoyi sistemi ye odnim z klyuchovih elementiv standartu Standart nakazuye sistemi mistiti 12 rozpodilnih bibliotek interpretator i redaktor program dinamichnih zv yazkiv ld lsb so biblioteka pidtrimki movi Si libc biblioteka matematichnih funkcij libm biblioteka potokiv upravlinnya POSIX libpthread nezalezhna vid movi biblioteka pidtrimki kompilyatora gcc libgcc s zavantazhuvach dinamichnih bibliotek libdl biblioteka funkcij realnogo chasu librt biblioteka funkcij kriptografiyi libcrypt biblioteka modulya identifikaciyi sho nastroyuyetsya libpam biblioteka funkcij stisnennya danih libz biblioteka funkcij terminalnogo interfejsu libncurses biblioteka dopomizhnih funkcij libutil Krim togo dlya kozhnoyi biblioteki standart viznachaye nabir zagalnodostupnih binarnih simvoliv i opisuye vimogi do kozhnogo okremogo simvolu U zagalnomu viglyadi vimoga do binarnogo simvolu zvuchit takim chinom U rozpodilnij biblioteci X povinen buti prisutnim binarnij simvol Y versiyi Z i pri vikoristanni cogo simvolu yak funkciyi iz zadanoyu signaturoyu jogo povedinka povinna vidpovidati vimogam standartu Rozrobniki LSB volili ne dublyuvati opis funkcij vidpovidnih binarnim simvolam yaksho v yakomu nebud z isnuyuchih standartiv dana funkcionalnist vzhe specifikovana Zamist dublyuvannya tekstu voni ukazuyut posilannya na vidpovidnij standart I navit yaksho funkcionalnist realizovana v Linux sistemah vidminna vid standartizovanoyi ranishe v LSB zazvichaj stoyit posilannya na inshij standart z dodatkovim opisom vidminnostej vimog LSB vid vimog pochatkovogo standartu Vazhlivoyu osoblivistyu standartiv sho opisuyut interfejsi na rivni dvijkovih kodiv ye fiksaciya znachen vsih konstant a takozh fiksaciya rozmiriv vsih tipiv i zsuviv poliv u vsih strukturah danih Dijsno yaksho POSIX viznachaye sho v zagolovnomu fajli povinni buti viznacheni konstanti iz zadanim identifikatorom i struktura iz zadanim im yam i naborom poliv to cogo viyavlyayetsya dostatno dlya korektnoyi roboti POSIX sumisnogo zastosunku Konkretni znachennya konstant i zsuvu poliv useredini struktur viznachayutsya na etapi kompilyaciyi programi Dlya LSB yakij standartizuye vzhe skompilovani zastosunki vsi ci znachennya povinni buti zafiksovani v samomu standarti Vimogi do komand i utilit U standarti LSB viznachayut neobhidnist nayavnosti i pravil funkcionuvannya 5 komand i 133 utilit Za svoyeyu strukturoyu opis utilit nichim ne vidriznyayutsya vid opisu utilit v standarti IEEE Std 1003 1 POSIX oskilki dlya utilit ne isnuye vidminnosti mizh rivnem pochatkovih kodiv i rivnem binarnih kodiv Vimogi do ustroyu fajlovoyi sistemi Vimogi do ustroyu fajlovoyi sistemi standartu LSB bazuyutsya na standarti Filesystem Hierarchy Standard FHS 2 3 Na dodatok do FHS 2 3 LSB vimagaye nayavnist fajliv pristroyiv dev null dev zero i dev tty a takozh semi specialnih direktorij v katalozi etc Takozh standart LSB reglamentuye shob zastosunki vikoristovuvali dlya imenuvannya konfiguracijnih fajliv v direktoriyi etc abo korotki imena zareyestrovani v Linux Assigned Names and Numbers Authority LANANA abo tak zvani iyerarhichni imena sho vklyuchayut DNS im ya zareyestrovane za rozrobnikom Vimogi do procesu inicializaciyi Viznachayut portativne otochennya dlya skriptiv inicializaciyi zastosunkiv yaki avtomatichno zapuskayutsya pri starti ta zavershenni roboti sistemi Ce otochennya vklyuchaye interfejs za dopomogoyu yakogo zastosunki mozhut portativno reyestruvati ta vidalyati skripti inicializacij z sistemi viznachennya semantiki rivniv vikonannya run levels viznachennya identifikatoriv standartnih pristroyiv dlya vikoristannya pri viznachenni zalezhnostej skriptiv inicializaciyi napriklad local fs network remote fs nabir portativnih funkcij komandnogo procesora dlya vikoristannya v skriptah inicializaciyi Vimogi do koristuvachiv i grup Standart LSB vimagaye viznachiti troh obov yazkovih koristuvachiv i grup yaki zobov yazani buti prisutnim u vsih sistemah i nabir opcionalnih sistemnih koristuvachiv i grup Vimogi do instalyaciyi programnogo zabezpechennya Priznacheni dlya nadannya mozhlivosti portativno realizuvati instalyaciyu deinstalyaciyu zastosunkiv Dlya dosyagnennya ciyeyi meti LSB viznachaye format fajlu sho mistit distributiv zastosunku yak pidmnozhinu formatu RPMv3 Red Hat Package Manager rozroblenogo kompaniyeyu Red Hat Inc RPM30 Pri comu LSB ne vimagaye vikoristannya utiliti rpm abo pidtrimka bazi danih RPM sho dozvolyaye realizuvati LSB sumisnu instalyaciyu na osnovi alternativnih mehanizmiv upravlinnya programnim zabezpechennyam Krim togo LSB dopuskaye mozhlivist rozpovsyudzhennya zastosunkiv ne tilki u viglyadi paketiv RPM ale i v inshih formah za umovi sho vikoristovuvanij instalyator rozpovsyudzhuyetsya razom z zastosunkom i ye LSB sumisnim zastosunkom LSB C Mistit vimogi nastupnih vidiv predstavlennya C danih pravila peretvorennya identifikatoriv binarnij interfejs bazovih bibliotek Vimogi do predstavlennya C danih opisuyut pravila predstavlennya C klasiv v pam yati mashini Pravila peretvorennya identifikatoriv viznachayut yak maye vidbuvatisya peretvorennya identifikatoriv movi programuvannya C v binarni simvoli ob yektnogo kodu I nareshti opis binarnogo interfejsu bazovih bibliotek C mistit vimogi do skladu i funkcionalnosti binarnih simvoliv z biblioteki pidtrimki movi C LSB Desktop Viznachaye vimogi do binarnogo interfejsu bibliotek priznachenih dlya roboti zastosunkiv oriyentovanih na vzayemodiyu z koristuvachem Do chisla cih bibliotek vhodyat grafichni biblioteki libX11 libSM libICE libXt libXext libXi biblioteki OpenGL libGL biblioteki PNG libpng12 biblioteki JPEG libjpeg biblioteki konfiguraciyi shriftiv libfontconfig biblioteki simejstva GTK libglib 2 0 libgobject 2 0 libgmodule 2 0 libatk 1 0 libpango 1 0 libpangoxft 1 0 libpangoft2 1 0 libgdk pixbuf 2 0 libgdk pixbuf xlib 2 0 libgdk x11 2 0 libgtk x11 2 0 biblioteka Qt3 libqt mt biblioteka XML2 libxml2 Vsogo v LSB 3 1 z pererahovanih vishe bibliotek standartizovano 19103 binarnih simvoli Takozh LSB Desktop vhodyat 3 utiliti priznachenoyi dlya konfiguraciyi shriftiv LSB Printing Arhitekturno nejtralna chastina standartu Mistit Common Unix Printing System CUPS komandi foomatic rip i gs yaki zabezpechuyut sumisnist majzhe z usima spulerami programami planuvalnikami a takozh mozhlivist vivedennya danih na PostScript PDFIstoriya Linux Standard BaseRobota z rozrobki standartu LSB startuvala na pochatku 1998 roku i vzhe v zhovtni 1999 z yavivsya pershij variant standartu LSB 0 1 Pislya seriyi poperednih versij 29 chervnya 2001 roku bula vipushena persha oficijna versiya standartu LSB 1 0 Cya versiya skladalasya z yedinogo dokumenta v yakomu buli ob yednani vimogi chastin LSB Core i nevelikoyi pidmnozhini LSB Desktop Spochatku standart pidtrimuvav tilki odnu arhitekturu IA32 Prikladnij binarnij interfejs versiyi 1 0 skladavsya z vimog do 15 bibliotek v yakih bulo standartizovano 3040 funkcij Versiya 1 1 bula vipushena 22 sichnya 2002 roku Osnovni zmini torknulisya biblioteki libc v yakij z yavilosya 68 novih funkcij Veliku chastinu z nih sklali funkciyi pidtrimki RPC Remote Procedure Call Krim togo v biblioteci libpthread buli standartizovani funkciyi roboti z atributom pshared m yuteksiv v biblioteci librt funkciyi roboti z tajmerami a v biblioteci libm funkciya clog Z grafichnih bibliotek navpaki bulo vidaleno 22 funkciyi 14 z yakih znov z yavilisya u versiyi LSB 1 2 opublikovanij 28 chervnya 2002 roku Najvazhlivishoyu osoblivistyu versiyi 1 2 stala pidtrimka drugoyi arhitekturi PPC32 Takozh v cij versiyi binarnij interfejs buv rozshirenij 6 novimi funkciyami Na bazi versiyi 1 2 FSG v serpni 2002 roku ogolosila pro pochatok sertifikacijnoyi programi U LSB 1 3 vipushenij 17 grudnya 2002 roku bula realizovana pidtrimka shirokogo pereliku arhitekturi IA32 IA64 PPC32 S390 S390X i bula provedena reorganizaciya bazovih bibliotek Biblioteku librt vidalili zi standartu oskilki asinhronnij vvid vivid sho stanovit osnovnu yiyi chastinu ne povnistyu pidtrimuvalosya vsima distributivami operacijnoyi sistemi Linux Zate v standarti z yavilisya dvi novi biblioteki libpam modul identifikaciyi sho nastroyuyetsya i libgcc s nezalezhna vid movi biblioteka pidtrimki kompilyatora gcc U LSB 2 0 opublikovanomu 31 serpnya 2004 roku vpershe buv standartizovanij binarnij interfejs biblioteki pidtrimki movi C libstdc Inshoyu vazhlivoyu zminoyu stalo te sho do togo monolitnij tekst standartu buv rozdilnij na tri moduli LSB Core LSB C i LSB Graphics Versiya 2 1 vid 11 bereznya 2005 roku mistila neveliki zmini sho torknulisya utochnennya interfejsiv libc libm libpthread i libz Nastupna versiya standartu LSB 3 0 z yavilasya 6 lipnya 2005 roku Pri yiyi rozrobci pochalasya robota za pogodzhennyam standartu LSB z vimogami standartu IEEE Std 1003 1 POSIX Sered klyuchovih zmin slid zaznachiti perehid na novij binarnij interfejs C yakij buv realizovanij v kompilyatori gcc 3 4 4 a takozh dodavannya novoyi biblioteki libXi do skladu modulya LSB Graphics i povernennya v ryadi LSB Core biblioteki librt U skladi biblioteki librt povernulisya ne vsi funkciyi a tilki funkciyi roboti z godinnikom tajmerami i rozpodilenoyu pam yattyu A funkciyi asinhronnogo vvodu vivodu yak i ranishe zalishilisya za bortom LSB 3 0 LSB 3 1 publikuvavsya chastinami LSB 3 1 Core z yavivsya 27 zhovtnya 2005 roku LSB 3 1 C i LSB 3 1 Desktop 24 kvitnya 2006 roku Take rishennya bulo pov yazane z peregovorami pro prisvoyennya standartu LSB Core statusu mizhnarodnogo standartu ISO Peregovori na cyu temu pochalisya she pid chas roboti nad LSB 2 0 a voseni 2005 roku cej proces uspishno zavershivsya i LSB 3 1 Core otrimav status mizhnarodnogo standartu ISO IEC 23360 Z tehnichnoyi tochki zoru LSB 3 1 vidriznyayetsya v pershu chergu istotnim rozshirennyam standartizovanih interfejsiv priznachenih dlya zastosunkiv z grafichnim koristuvackim interfejsom Ce rozshirennya prizvelo do perejmenuvannya modulya LSB Graphics v LSB Desktop Poyava opcijnogo modulya LSB Qt 4 pov yazana z tim sho rozrobniki standartu pidgotuvali opis novoyi versiyi biblioteki Qt ale oskilki she ne vsi osnovni distributivi Linux perejshli na cyu versiyu ta vimoga na nayavnist biblioteki Qt 4 bula zroblena neobov yazkovoyu Versiya 3 2 bula vipushena 28 sichnya 2008 roku Do rozdiliv Core Desctop ta C dodani Druk Vklyuchaye Common Unix Printing System CUPS i novi komandi foomatic rip i gs yaki zabezpechuyut sumisnist majzhe z usima spulerami programami planuvalnikami a takozh mozhlivist vivedennya danih na PostScript PDF Runtime languages Vklyuchaye Perl i Python Bud yakij zastosunok zasnovanij na cih movah mozhe rozrahovuvati na dostupnist standartnogo naboru vlastivostej i bibliotek Dodayutsya dva nabori testiv poodinci dlya kozhnoyi movi Probnij standart vklyuchaye dva rozdili zvuk i integraciya robochih stoliv Advanced Linux Sound Architecture ALSA yaka vklyuchena v bilshist suchasnih distributiviv ye chastinoyu standartu Vklyucheni komandi xdg utils zi skladu Portland Project voni dozvolyayut z komandnogo ryadka vstanovlyuvati ta vidalyati temi riznih menyu na robochomu stoli a takozh dzherela ikon upravlinnya tipami fajliv posilannya poshti cherez vibranu koristuvachem poshtovu programu nastrojka ohoroncya ekranu i bagato sho inshe LSB 4 0 14 zhovtnya 2008 Linux Foundation anonsuvala versiyu LSB 4 0 Beta pidsilenu zasobami dlya rozrobnikiv Beta versiya specifikaciyi Linux Standard Base LSB 4 0 rozshiryuye mozhlivosti rozrobnikiv shlyahom vikoristannya tehnologiyi sho dozvolyaye pogodzhuvati rozbizhnosti v riznih variantah Linux Versiya 4 0 mistit v sobi zasobi perevirki korektnosti skriptiv zastosunkiv i karkasiv a takozh komplekt rozrobnika SDK sho pidtrimuye rizni versiyi Komplekt rozrobnika dozvolyaye stvoryuvati zastosunki vidpovidno do poperednih specifikacij LSB ne minyayuchi SDK Model perevirki skriptiv dlya obolonki v LSB 4 0 dozvolyaye viyaviti potencijni problemi v skriptah pri comu skript v odnomu varianti operacijnoyi sistemi mozhe bezpechno vikonuvatisya v inshomu SDK v beta versiyi mozhe stvoryuvati zastosunki dlya specifikacij LSB 3 0 3 1 3 2 abo 4 0 Paket SDK proponuvatimetsya nezalezhno vid vipusku novih specifikacij Dlya shifruvannya LSB 4 0 spirayetsya na Mozilla Network Security Services NSS i Netscape Portable Runtime NSPR Ce poyednannya zabezpechuye pidtrimku Secure Sockets Layer SSL Linux Foundation vidmovilasya vid vikoristannya v LSB biblioteki OpenSSL nezvazhayuchi na yiyi populyarnist poboyuyuchis sho mozhut viniknuti problemi zi standartizaciyeyu U grudni 2010 nekomercijna organizaciya Linux Foundation ogolosila rezultati sertifikaciyi Linux distributiviv na predmet vidpovidnosti standartu LSB 4 0 vipushenomu za dva roki tomu Sumisnist zi standartom LSB 4 0 pidtverdili vsi providni Linux kompanij ta distributivi vklyuchayuchi Canonical Linpus Mandriva Novell Oracle Debian Red Flag Linux i Red Hat LSB 5 0 5 chervnya 2015 organizaciya Linux Foundation opublikuvala znachni versiyi osnovopolozhnih dlya Linux sistem standartiv LSB 5 0 Linux Standard Base i FHS 3 0 Filesystem Hierarchy Standard Osnovni zmini v Linux Standard Base 5 0 Pripineno pidtrimka biblioteki Qt 3 sho dozvolyaye distributivam ne vklyuchati cyu zastarilu gilku Qt dlya zberezhennya sumisnosti z LSB Zastosunki na bazi Qt3 ne ye sumisnimi zi standartom LSB 5 krim vipadku vikoristannya statichnogo zv yazuvannya z bibliotekoyu Udoskonalena modulna organizaciya LSB specifikaciyi teper ne prosto logichno rozdileni po oblasti priznachennya a j samodostatni tobto kozhna z chastin LSB mozhe zastosovuvatisya vidokremleno dayuchi mozhlivist vrahovuvati u zastosunku tilki neobhidni chastini standartu bez zalezhnosti vid povnogo naboru specifikacij U LSB 5 0 dostupno p yat moduliv LSB Core LSB Desktop LSB Languages LSB Imaging i LSB Trial Use GTK3 i libpng Osnovnoyu obov yazkovoyu zalezhnistyu ye tilki modul LSB Core inshi moduli mozhna vikoristovuvati vidokremleno Modul LSB Trial Use ye opciyeyu i ne obov yazkovij do realizaciyi Pidvisheno minimalni vimogi do bazovih bibliotek GTK 2 32 dlya sumisnosti z LSB Trial Use GTK GDK 3 0 Cairo 1 30 OpenGL 2 1 Dodana pidtrimka XCB API dlya X11 Vklyucheni novi biblioteki SANE libncursesw libtiff i libxslt Dodani novi programni interfejsi vklyuchayuchi aio argz envz CUPS ippReadIO ippWriteIO i inflateCopy libz Poziciyi Linux Standard BaseStandart LSB znajshov pidtrimku v industriyi Bagato distributiviv projshli sertifikaciyu na vidpovidnist LSB Sered nih Server 3 0 Debian Etch Mandriva 2007 Novell SUSE Linux Enterprise 10 openSUSE 10 2 Red Hat Enterprise Linux 5 Ubuntu Dapper Xandros Server 1 0 Mandrakelinux Corporate Server SGI ProPack for Linux3 Hocha ye i taki distributivi yaki nacileni na robotu na perednomu krayu dosyagnen u sviti Linux i ne zbirayutsya brati uchast v komercijnij diyalnosti Tomu voni ne zacikavleni v sertifikaciyi ta pidtrimci LSB Yak priklad takogo distributivu mozhna navesti Fedora Koristuvachi i postachalniki zastosunkiv takozh vzyali uchast v rozpovsyudzhenni standartu Odnim zi sposobiv uchasti stalo te sho okremi gravci na rinku Linux i zokrema IBM vklyuchili sertifikaciyu na vidpovidnist LSB yak obov yazkovu vimogu pri ukladenni kontraktiv zi svoyimi partnerami Istotnu rol v pidtrimci standartu takozh zigrali taki korporaciyi yak Intel i HP Vodnochas ne mozhna skazati sho rozrobniki standartu LSB ne zaznavali problem Osnovne rozcharuvannya pov yazane iz standartom z yavilosya naslidkom zavishenih ochikuvan sho sformuvalisya do jogo stvorennya Bagato hto vvazhav sho z poyavoyu LSB mozhna bude odin raz skompilyuvati zastosunok i vin pracyuvatime na vsih distributivah Linux i inshih LSB sumisnih operacijnih sistemah dlya danoyi aparatnoyi platformi Na zhal dijsnist opinilasya desho skladnishoyu Popri postijne zrostannya LSB bagatom zastosunkam yak i ranishe ne vistachaye funkcionalnosti opisanoyi v standarti dlya realizaciyi vsih potreb portativno LSB rozvivayetsya v comu napryami standartizuyuchi vse bilshe neohoplenih ranishe interfejsiv mizh zastosunkami i operacijnoyu sistemoyu She odna problema na shlyahu do dosyagnennya pracezdatnosti cogo principu polyagaye u vidsutnosti zvorotnoyi sumisnosti mizh osnovnimi versiyami standartu Ce oznachaye sho zastosunok maye buti perekompilovanij dlya kozhnoyi takij versiyi Zvichajno osnovnih versij standartu znachno menshe nizh riznih distributiviv Linux ale vse odno ce porushennya principu yake ye odnim z dzherel obdurenih ochikuvan Prichina vidsutnosti zvorotnoyi sumisnosti polyagaye v postijnij zmini binarnih interfejsiv i problematichnosti pidtrimki yih sumisnosti Na rivni dvijkovih kodiv znachno menshe gnuchkosti v porivnyanni z rivnem pochatkovih kodiv Hocha pidtrimka versij binarnih simvoliv v sukupnosti z inshimi mehanizmami ta dozvolyaye organizuvati zvorotnu sumisnist ale ce osoblivo skladno zrobiti standartu yaksho rozrobniki jogo realizacij ne sturbovani problemoyu zvorotnoyi sumisnosti Insha problema standartu LSB polyagaye v rozrivi mizh binarnim rivnem standartu i pochatkovim kodom zastosunkiv Rozrobniki LSB nadayut razom zi standartom nabir instrumentiv priznachenih dlya polegshennya rozrobki LSB sumisnih zastosunkiv Ale funkcionalnosti instrumentiv i osoblivo dokumentaciya z yihnogo vikoristannyu ne vistachaye rozrobnikam dlya togo shob rozrobka LSB sumisnih zastosunkiv stala prostoyu i zrozumiloyu spravoyu KritikaVlitku rozrobniki Debian postavili pid sumniv docilnist zabezpechennya pidtrimki v distributivi standartu Linux Standard Base yakij viznachaye servisi zasobi rozrobki binarni interfejsi ta biblioteki sho dayut mozhlivist vikonannya v distributivi LSB sumisnih storonnih zastosunkiv Na dumku deyakih rozrobnikiv na zabezpechennya sumisnosti z LSB vitrachayetsya zanadto bagato sil pri neochevidnij koristi vid takoyi sumisnosti Pidtrimuvanij v Debian standart LSB 4 1 opisuye 1493 komponentiv 1672 bibliotek 38491 komand 30176 klasiv i 716 202 interfejsiv Pri tomu sho na chas rozglyadu na predmet sumisnosti z LSB sertifikovane vsogo 8 zastosunkiv z yakih tilki odna programa sertifikovana na vidpovidnist LSB 4 0 Inakshe kazhuchi vsya velichezna robota i ti ramki v yaki dovoditsya ukladatisya zaradi sumisnosti z LSB roblyatsya zaradi kilkoh vlasnickih program rozrobniki yakih ne bazhayut sformuvati specifichni dlya distributivu pakunki Golovnoyu zh problemoyu ye te sho nihto z rozrobnikiv Debian ne zacikavlenij u suprovodi pakunkiv z komponentami dlya pidtrimki LSB Z momentu propoziciyi pro pripinennya pidtrimki LSB minulo tri misyaci za yaki ne znajshlosya bazhayuchih vzyati na sebe robotu z pidtrimki paketiv pov yazanih z LSB U zv yazku z cim voseni 2015 virisheno zberegti tilki paketi lsb base i lsb release z nevelikim naborom shell funkcij dlya skriptiv inicializaciyi ta utilitoyu dlya vivodu rivnya sumisnosti z LSB vidkinuvshi vse inshe Div takozhPOSIX Filesystem Hierarchy Standard glibcPrimitki Arhiv originalu za 15 kvitnya 2008 Procitovano 21 listopada 2008 Arhiv originalu za 18 zhovtnya 2008 Procitovano 21 zhovtnya 2008 Arhiv originalu za 12 veresnya 2015 Procitovano 21 listopada 2008 Arhiv originalu za 14 grudnya 2010 Procitovano 9 grudnya 2010 Arhiv originalu za 17 veresnya 2015 Procitovano 5 chervnya 2015 Debian prekrashaet podderzhku standarta Linux Standard Base 10 zhovtnya 2015 u Wayback Machine opennet ru Arhiv originalu za 9 zhovtnya 2015 Procitovano 10 zhovtnya 2015 PosilannyaOficijnij sajt 2 zhovtnya 2003 u Wayback Machine angl angl A V Horoshilov Linux Standard Base istoriya uspeha 22 veresnya 2008 u Wayback Machine ros