Linux Standard Base

Linux Standard Base

Linux Standard Base eli LSB oli Linux-käyttöjärjestelmälle kehitetty standardi ja sertifikointi järjestelmän ohjelmistoista ja asetuksista. LSB-standardin tarkoituksena on poistaa nämä rajoitukset ja varmistaa, että Linux-käyttöjärjestelmä ei pirstaloidu useaksi eri käyttöjärjestelmäksi, vaan säilyttää käytettävyyden sen eri jakelupakettien kesken sekä ohjelmistojen helpon asennuksen ja jakamisen. Ohjelmistot sai LSB-standardin mukaan paketoida vain kerran.

LSB pyrki pitämään ohjelmistokehityksen mahdollisimman yksinkertaisena. Projekti kuitenkin hylättiin vuonna 2015, ja sen viimeiseksi versioksi jäi 5.0.

LSB:stä on julkaistu ISO-standardi ISO/IEC 23360-1:2006, ja siitä päivitetty versio ISO/IEC 23360-1-1:2021. Standardin on kehittänyt Linux Foundation.

Tämän käyttöjärjestelmän suosion aiheutti sen toimivien ohjelmistojen saatavuus ja toiminnot. Yksittäiset ohjelmoijat, sekä suljetun lähdekoodin ohjelmistoja kehittävät yritykset joutuivat ongelmiin Linux-käyttöjärjestelmän useiden jakelupakettien kanssa. Eri jakelupaketit sisällyttävät eri versioita kirjastoista sekä tallentavat asetustiedostot eri hakemistoihin. Tämä oli aikoinaan pakottanut ohjelmistokehittäjät kohdistamaan ohjelmiston jakamisen, sekä myymisen vain valituille jakelupaketeille. Se on asettanut eri jakelupakettien käyttäjät eriarvoiseen asemaan, kun ohjelmistokehityksen tavoitteet on jouduttu rajaamaan tiettyihin jakelupaketteihin kehitys- sekä ylläpitokustannuksien matalina pitämiseen.

Mitä LSB määrittelee?

Linux Standard Base määrittää yleiset ohjelmistojen paketointi- sekä asennussäännöt. Samoin se määrittää yleiset ohjelmistokirjastot ja niiden valinnat. LSB määrittelee myös järjestelmän asetustiedostot, tiedostojen sijainnit, järjestelmän komennot sekä ohjelmistojen ABI, eli Application Binary Interface -rajapinnat järjestelmälle, sekä sovellus- että järjestelmätasoille.

Linuxissa käytettyjen nimien ja numeroiden luettelo (Linux Assigned Names And Numbers Authority, LANANA) on myös siirretty osaksi LSB:tä. LANANA perustettiin IANA:n kaltaisena nimien ja numeroiden rekisterinä.

LSB 4.1 versio poisti standardista Javan, joka oli mukana kokeiluluontoisessa versiossa 4.0. Lisensointiongelmat tekivät mahdottomaksi Javan lisäämisen. LSB 4.1:ssä mukaan otettuja ovat ALSA, NSS ja työpöytätyökalut xdg-utils. GTK+, Cairo ja CUPS-kirjastot oli päivitetty.

LSB 5.0 versio rikkoi täyden taaksepäin yhteensopivuuden poistamalla Qt:n aijemman version 3 standardista. 5.0-versiossa LSB on modularisoitu ja järjestelmä voi toimittaa vain tarvittavan osan viidestä moduulista:

Standardit

LSB-standardi sisältää muita standardeja kuten POSIX:n, mutta se ei määrittele Unixia ja Unixin kaltaisia käyttöjärjestelmiä. Se määrittelee sovelluksien binäärirajapinnat (ABI) ajoympäristölle.

Pääasialliset LSB:n sisältämät standardit ovat:

Muita hyödynnettäviä standardeja ovat:

Toteutukset

LSB määrittelee rakenteet yksittäisten kirjastojen rajapintojen saatavuudelle ja yksilöi tiedostorakenteet jokaiselle rajapinnalle. Nämä komponentit sisältävät muun muassa jaetut kirjastot ohjelmoijille (mukaan lukien C++), tiedostojärjestelmän rakenteen (määritellen mistä löytyvät mitkäkin tiedostot), julkisten rajapintojen toimintatavat, ohjelmistojen paketoinnin tiedot sekä ohjelmiston toiminnan esi- ja jälkiasennuksessa.

Yhteensopivuus

LSB-standardi takaa versiosta LSB 3.0 alkaen taaksepäinyhteensopivuuden binääritasolla ABI. Toisin sanoen sellainen ohjelmisto, joka on tehty LSB X.Y (X.Y >=3.0) -versiolle toimii Linux-käyttöjärjestelmän jakelupaketissa, joka on sertifioitu tai yhteensopiva vastaavan LSB-version tai uudemman kanssa. Tämä tarkoittaa, että LSB 3.0 versiolle tehty ohjelmisto toimii myös LSB 3.1, 3.2, 3.3 sekä 4.0 version kanssa yhteensopivan tai sertifioidun jakelupaketin kanssa.

Taatakseen yhteensopivuuden taaksepäin LSB-standardin kehityspolitiikan mukaisesti rajapintoja ei yleensä poisteta standardista, vaan ainoastaan lisätään. Kun rajapinta on ollut viimeisissä kolmessa suuressa versiossa (LSB x.y) tai noin kuuden vuoden välein. Aikaisemmissa LSB-standardin versioissa 1.x ja 2.x taattiin binääriyhteensopivuus vain suurten versioiden aikana. Vasta 3.x versiosta alkaen yhteensopivuus on taattu myös niiden välillä.

ISO-standardi

ISO-standardin osat:

Lisäksi ISO/IEC TR 24715:2006 määrittää LSB- ja POSIX-standardin väliset konfliktikohdat.

LSB versio 5.0 on ladattavissa ilmaiseksi ISO:n verkkosivuilta:

Lähteet

  1. ↑ ISO/IEC 23360-1:2006 ISO. Viitattu 7.7.2019. (englanniksi)
  2. ↑ ISO/IEC 23360-1-1:2021 iso.org. Viitattu 20.9.2022. (englanniksi)
  3. ↑ Jack M. Germain: Linux Foundation Joins Ranks of International Standards Submitters linuxinsider.com. 19.5.2020. Viitattu 10.7.2020. (englanniksi) 
  4. ↑ Certification. Linux Foundation. Viitattu 11.7.2017.
  5. ↑ [lsb-discuss] (from: Fedora Packaging ML) SCL discussion at yesterday's meeting, easy stuff lists.linuxfoundation.org. 5.11.2013. Arkistoitu 20.7.2019. Viitattu 15.1.2020. (englanniksi) 
  6. ↑ [lanana-discuss] completed LANANA proposal lists.linux-foundation.org. 23.4.2002. Arkistoitu 3.3.2016. Viitattu 15.1.2020. (englanniksi) 
  7. 1 2 3 4 Java removed from Linux Standard Base 4.1 h-online.com. 10.3.2011. Arkistoitu Viitattu 20.9.2022. (englanniksi)
  8. 1 2 LSB 5.0 Release Notes wiki.linuxfoundation.org. Arkistoitu Viitattu 20.9.2022. (englanniksi)
  9. ↑ DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Arkistoitu 7.7.2019. Viitattu 8.7.2019. (englanniksi)
  10. ↑ ISO/IEC TR 24715:2006 ISO. Viitattu 8.7.2019. (englanniksi)
  11. ↑ Publicly Available Standards standards.iso.org. Viitattu 20.9.2022. (englanniksi)

Aiheesta muualla