Linux Standard Base

Kohteesta Wikipedia
Siirry navigaatioon Siirry hakuun
Linux Standard Base

Linux Standard Base eli LSB on Linux-käyttöjärjestelmälle kehitetty standardi ja sertifikointi järjestelmän ohjelmistoista ja asetuksista. LSB:n tarkoitus on varmistaa, että Linux-käyttöjärjestelmä ei pirstaloidu eri käyttöjärjestelmiksi kuten tapahtui Unix-käyttöjärjestelmälle. LSB pyrkii pitämään ohjelmistokehityksen myös yksinkertaisena.

LSB:stä on julkaistu ISO-standardi ISO/IEC 23360-1:2006.[1]

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

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 on LSB-standardin myötä mahdollista paketoida vain kerran.

Mitä LSB määrittelee?[muokkaa | muokkaa wikitekstiä]

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

Standardit[muokkaa | muokkaa wikitekstiä]

LSB-standardi sisältää muita standardeja kuten POSIX, mutta se ei määrittele Unix- ja Unixin kaltaisia käyttöjärjestelmiä.[3] 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[muokkaa | muokkaa wikitekstiä]

Yksittäisten kirjastojen rajapintojen saatavuudelle LSB määrittelee rakenteet ja yksilöi tiedostorakenteet jokaiselle rajapinnalle. Nämä komponentit sisältävät 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, ohjelmiston toiminta esi- ja jälkiasennuksessa ja niin edelleen.

Yhteensopivuus[muokkaa | muokkaa wikitekstiä]

LSB-standardi takaa taaksepäinyhteensopivuuden lähdekoodi- sekä binääritasolla alkaen versiosta LSB 3.0. Toisin sanoen 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 poisteta standardista, vaan ainoastaan lisätään. Kuitenkin LSB-standardista poistetaan rajapintoja tietyn säännön mukaisesti tarvittaessa. Kun rajapinta on ollut viimeisissä kolmessa suuressa versiossa (LSB X.Y missä suuri versio on X muutos) tai noin kuuden vuoden välein. Aikaisemmissa LSB-standardin versioissa 1.x ja 2.x taattiin binääriyhteensopivuus vain suurien versioiden aikana. Vasta 3.x version myötä on taattu yhteensopivuus myös niiden välillä.

ISO-standardi[muokkaa | muokkaa wikitekstiä]

ISO-standardin osat:

  • ISO/IEC 23360-1:2006 Linux Standard Base (LSB) core specification 3.1 – Part 1: Generic specification
  • ISO/IEC 23360-2:2006 Linux Standard Base (LSB) core specification 3.1 – Part 2: Specification for IA-32 architecture
  • ISO/IEC 23360-3:2006 Linux Standard Base (LSB) core specification 3.1 – Part 3: Specification for IA-64 architecture
  • ISO/IEC 23360-4:2006 Linux Standard Base (LSB) core specification 3.1 – Part 4: Specification for AMD64 architecture
  • ISO/IEC 23360-5:2006 Linux Standard Base (LSB) core specification 3.1 – Part 5: Specification for PPC32 architecture
  • ISO/IEC 23360-6:2006 Linux Standard Base (LSB) core specification 3.1 – Part 6: Specification for PPC64 architecture
  • ISO/IEC 23360-7:2006 Linux Standard Base (LSB) core specification 3.1 – Part 7: Specification for S390 architecture
  • ISO/IEC 23360-8:2006 Linux Standard Base (LSB) core specification 3.1 – Part 8: Specification for S390X architecture

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

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. ISO/IEC 23360-1:2006 ISO. Viitattu 7.7.2019. (englanniksi)
  2. Certification. Linux Foundation. Viitattu 11.7.2017.
  3. DevynCJohnson: SUS, POSIX, and Other Standards dcjtech.info. 26.2.2017. Viitattu 8.7.2019. (englanniksi)
  4. ISO/IEC TR 24715:2006 ISO. Viitattu 8.7.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]