Кіріспе
Бұрынғы Linux дистрибутивтері үшін стандарт
Linux Standard Base (LSB) – Linux Foundation ұйымының ұйымдастыру құрылымындағы бірнеше Linux дистрибутивтерінің бірлескен жобасы, бағдарламалық қамтамасыз ету жүйесінің құрылымын, соның ішінде Файлдар жүйесінің иерархиялық стандартын стандарттау мақсатында құрылған. LSB POSIX спецификациясына, Single UNIX Specification (SUS) және басқа да бірнеше ашық стандарттарға негізделген, бірақ оларды кейбір салаларда кеңейтті. LSB-нің мәлімдемесіне сәйкес: LSB-нің мақсаты Linux дистрибутивтері арасындағы үйлесімділікті арттыратын және бағдарламалық қамтамасыз ету қолданбаларын кез келген сәйкес жүйеде, тіпті екілік түрінде іске қосылуын қамтамасыз ететін ашық стандарттар жиынтығын әзірлеу және насихаттау болып табылады. Сонымен қатар, LSB Linux операциялық жүйелері үшін өнімдерді порттау және жазу үшін бағдарламалық қамтамасыз ету жеткізушілерін тарту бойынша күш-жігерді үйлестіруге көмектеседі. Өнімге LSB сәйкестігі сертификаттау рәсімі арқылы расталуы мүмкін. LSB стандартты кітапханаларды (негізінен ), POSIX стандартын кеңейтетін бірқатар командалар мен утилиталарды, файлдар жүйесінің иерархиялық құрылымын, жүмыс деңгейлерін, баспа жүйесін, соның ішінде CUPS сияқты спойлерлерді және Foomatic сияқты құралдарды, сондай-ақ X Window System-ге бірнеше кеңейтімдерді анықтады. Ол сондай-ақ $local fs, $network сияқты жүктеу мүмкіндіктерін де анықтады, олар System V стиліндегі инициализациялық скрипттерде қызметтердің тәуелділіктерін көрсету үшін пайдаланылды. Скрипттің басындағы машинамен оқылатын түсініктеме блогы скрипттің инициализация процесінің қай кезеңінде шақырылуы керектігін анықтау үшін қажетті ақпаратты қамтамасыз етті; бұл LSB басы деп аталды. Көптеген жүйелерде lsb release командасы LSB нұсқасы туралы мәліметтерді алу үшін қолжетімді болды немесе тиісті пакетті орнату арқылы қолжетімді етуге болатын, мысалы Red Hat дистрибутивтеріндегі (Fedora сияқты) redhat lsb пакеті немесе Debian негізіндегі дистрибутивтердегі lsb release пакеті. Стандарт 2015 жылы жаңарту тоқтатылды және қазіргі Linux дистрибутивтері оған сәйкес келмейді немесе оны ұсынбайды; алайда, lsb release командасы кейде әлі де қолжетімді. 2023 жылдың 7 ақпанында LSB-нің бұрынғы күтушісі «LSB жобасы негізінен тоқтатылды» деп мәлімдеді.
The goal of the LSB is to develop and promote a set of open standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system even in binary form. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux Operating Systems. LSB compliance might be certified for a product by a certification procedure. LSB specified standard libraries (centered around the ), a number of commands and utilities that extend the POSIX standard, the layout of the file system hierarchy, run levels, the printing system, including spoolers such as CUPS and tools like Foomatic, and several extensions to the X Window System. It also specified boot facilities, such as $local fs, $network, which were used to indicate service dependencies in System V style initialization scripts. A machine readable comment block at the top of a script provided the information necessary to determine at which point of the initialization process the script should be invoked; it was called the LSB header. The command lsb release a was available in many systems to get the LSB version details, or could be made available by installing an appropriate package, for example the redhat lsb package in Red Hat flavored distributions such as Fedora, or the lsb release package in Debian based distributions. The standard stopped being updated in 2015 and current Linux distributions do not adhere to or offer it; however, the lsb release command is sometimes still available. On February 7, 2023, a former maintainer of the LSB wrote, "The LSB project is essentially abandoned."
Артқа қарай үйлесімділік
LSB екілік үйлесімділікке қол жеткізу үшін жобаланды және тәуелсіз бағдарламалық қамтамасыз етушілер үшін тұрақты қосымша екілік интерфейсін (ABI) құрды. Артқа қарай үйлесімділікті сақтау үшін, әрбір келесі нұсқа толығымен қосымша болды. Яғни, жаңа интерфейстер ғана қосылды, ешқандай интерфейс алынып тасталған жоқ. LSB интерфейстерді жою саясатын қабылдады, егер интерфейс LSB-ден алынып тасталса, бағдарламалық қамтамасыз ету әзірлеушілеріне жеткілікті уақыт берілді. Бұл әзірлеушілерге белгілі бір мерзімге LSB-дегі кез келген интерфейске сүйенуге және болашақ өзгерістерді жоспарлауға мүмкіндік берді. Интерфейстер кем дегенде үш негізгі нұсқа бойы немесе шамамен он бір жылға жуық уақыт бойы "қолданыстан шығарылған" деп белгіленгеннен кейін ғана алынып тасталды. LSB 5.0 – бұрынғы нұсқалармен артқа қарай үйлесімділікті бұзған алғашқы маңызды жаңартпа.
Қабылдау
LSB стандартты және бәсекелесі болмаған кезде, оған тек бірнеше Linux дистрибутивтері еруде болды. Мысалы, LSB 4.0 нұсқасына бар болғаны 21 дистрибутивтік шығарылым (версия) сертификатталды, олардың ішінде 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 Package Manager форматының шектеулі нұсқасында жеткізілуі тиіс екенін нақтылады. Бұл пакет пішімін таңдау 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 нұсқасында "wheezy" (7; 4 мамыр 2013). Сыртқы LSB-ге сәйкес RPM пакеттерін пайдалану үшін соңғы пайдаланушы Debian-ның Alien бағдарламасын қолданып, оларды түпкі пакет форматына түрлендіріп, содан кейін орнатуы керек. LSB RPM форматында Alien немесе басқа пакеттерді түрлендіру бағдарламаларымен deb-ке аудару мүмкін емес RPM мүмкіндіктерін пайдалануды шектеу үшін RPM мүмкіндіктерінің шектеулі жиынтығы болды, және керісінше, әр форматтың екіншісінде жоқ мүмкіндіктері болғандықтан. Іс жүзінде, барлық Linux екілік пакеттері міндетті түрде LSB-ге сәйкес келмеді, сондықтан көпшілігі rpm мен deb арасында түрлендірілуі мүмкін болса да, бұл операция пакеттердің белгілі бір тобына ғана шектелді. Alien-ді пайдалану арқылы Debian барлық жағдайларда LSB-мен үйлесімді болды, бірақ олардың lsb пакетінің сипаттамасына сәйкес, пакеттің болуы "Debian Linux Standard Base талаптарына толыққанды сәйкес келеді дегенді білдірмейді және Debian LSB-ге сәйкес екенін көрсететін мәлімдеме емес". Дегенмен, бұл күш-жігер 2015 жылдың шілдесінде жоба ішінде қызығушылық пен жұмыс күшінің жетіспеуіне байланысты тоқтатылды. 2015 жылдың қыркүйегінде Debian жобасы Filesystem Hierarchy Standard (FHS) қолдауын жалғастыратынын, ал LSB қолдауын тоқтатқанын растады. Ubuntu 2015 жылдың қарашасында Debian-ды ұстанды.
Сәйкестікті тексеру жиынтықтарының сапасы
Сонымен қатар, сәйкестік сынақ жиынтықтары қателі және толық емес деп сынға алынды – ең бастысы, 2005 жылы Ульрих Дреппер LSB-ді нашар жазылған сынақтары үшін сынады, олар LSB сертификатталған таралымдар арасында үйлесімсіздік тудыруы мүмкін, себебі кейбіреулері бұзушылық сынақтарын жұмыс істеу үшін дұрыс емес мінез-құлықты іске асырады, ал басқалары сынақтарға сәйкес болмау үшін рұхсат алады. Ол сондай-ақ қосымшаларды сынаудың жетіспеушілігін айыптады, таралымдарды ғана сынау іске асырылуға байланысты мінез-құлыққа тәуелді қосымшалардың мәселесін ешқашан шеше алмайтынын көрсетті.