Wetenswaardigheden over Linux

Deel dit artikel

,

Pemguins

In dit artikel komen allerlei aspecten van Linux aan de orde: Linux als ecosysteem, de kernel, de licentie van de kernel, standaarden, distributies, verschijningsvormen, gebruiksaandelen, en sterke en zwakke punten.

Linux als ecosysteem

Linux is eigenlijk alleen de kern (kernel) van een systeem voor de besturing van een computer. Een kernel verzorgt de communicatie met de hardware van de computer, 220px Tuxbeheert bestanden op opslageenheden, het werkgeheugen en processen die door de CPU (Central Processing Unit) worden uitgevoerd. Bovendien biedt hij een interface (API, ofwel Application Programming Interface) aan programma’s om van de diensten van de kernel gebruik te kunnen maken. Door de kernel aan te vullen met programma’s waarmee een gebruiker de computer opdrachten kan laten uitvoeren, onstaat een volledig besturingssysteem. Zo is met Linux als kernel een heel ecosysteem van besturingssystemen ontstaan.

unix logo 1Linux is gemodelleerd naar het besturingssysteem Unix. Er is daarom verwantschap met macOS, dat een Unix‐kern heeft met de naam Darwin, en met de verschillende BSD‐systemen voor server en pc, zoals FreeBSD en TrueOS. De BSD‐systemen stammen af van de Berkeley Software Distribution, een Unix‐systeem dat in de jaren ’70 aan de University of California te Berkeley werd ontwikkeld.

Linux is buitengewoon flexibel. Op Linux gebaseerde systemen draaien op een groot aantal soorten computers, van supercomputers tot servers, pc’s en mobiele telefoons. Ook in ‘embedded’ systemen, zoals allerlei consumentenelectronica, navigatie‐apparatuur en medische instrumenten, wordt het gebruikt.

Wij, als thuisgebruikers, komen met Linux in aanraking via de Linux‐distributies voor pc’s en via Android voor tablets en smartphones.

CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90Linux‐distributies voor pc’s bestaan uit het eigenlijk besturingssysteem met de Linux kernel, en een aantal toepassingsprogramma’s. De meeste Linux‐distributies hebben dezelfde structuur en gebruiken dezelfde software, maar verschillen in de manier waarop het systeem op de computer wordt geïnstalleerd en geconfigureerd, in het beheer van de software en in het aanbod van software. Linux‐distributies worden ook veel voor allerlei soorten servers gebruikt.

android vectorHet besturingssysteem Android voor tablets en smartphones heeft een Linux‐kernel, maar gebruikt en biedt heel andere software dan de Linux‐distributies voor de pc.

De Linux-kernel

Op de ontwikkeling van de Linux‐kernel wordt toegezien door een groep ontwikkelaars in dienst van de Linux Foundation met Linus Torvalds, de schepper van Linux in 1991, als coördinator.

Sinds de start van Linux in 1991 hebben er zo’n 19.000 programmeurs aan meegewerkt (bron). Aan de nieuwste kernel, versie 4.20, droegen 1743 programmeurs bij met in totaal ongeveer 14000 wijzigingen (bron). Dit werk werd door 223 bedrijven ondersteund door hun programmeurs aan Linux te laten werken. Dat is natuurlijk niet helemaal belangeloos; ze profiteren er zelf ook van, en van de bijdragen van andere bedrijven.

microsoft loves linuxDe meeste wijzigingen van de eigenlijke kern van versie 4.20 werden geleverd door Red Hat, IBM, SUSE, Microsoft, Huawei, Oracle en Linaro. Daarnaast droegen AMD en Intel stevig bij aan drivers. Voorts werd heel wat code (vooral voor drivers) geleverd door Code Aurora, een project van de Linux Foundation.

Linux telt nu, in versie 4.20, ongeveer 25 miljoen regels broncode in bijna 62.000 bestanden, waarvan het merendeel (zeg 70%) in drivers (afzonderlijke modules).

De licentie van de Linux-kernel

De Linux‐broncode is open, en wordt uitgebracht onder de GPL‐licentie, de GNU General Public License. De GPL is de licentie van het GNU‐project voor een GNU‐besturingssysteem. Het basisidee achter de GPL is wederkerigheid: van iemands bijdrage aan een programma profiteren ook anderen, maar hij profiteert op zijn beurt ook van hun inbreng. Software met de GPL is vrije software omdat de GPL de gebruiker van een programma vier vrijheden toekent:

  1. het programma voor welk doel dan ook te gebruiken,
  2. de broncode van het programma te bestuderen en aan zijn behoeften aan te passen,
  3. het programma te verspreiden,
  4. het door hem aangepaste programma onder dezelfde voorwaarden te verspreiden.

osiPunten 2 en 4 vereisen de beschikbaarheid van de broncode. Daarom is vrije software tevens open‐source software. In de praktijk geldt ook het omgekeerde. Broncode metfsf logo new de GPL gaat niet samen met broncode met een restrictievere licentie. De GPL voldoet aan de Open Source Definition (OSD) van het het Open Source Initiative (OSI), en is daarom door het OSI erkend als open‐source licentie. Vrije software – in het bijzonder de GNU‐software – wordt gepropageerd door de Free Software Foundation (FSF). De FSF is de belangrijkste sponsor van het GNU‐project.

Let wel: De meeste Linux‐programma’s, de programma’s die op Linux draaien, worden ook verspreid met een door het OSI erkende open‐source licentie, maar dat is lang niet altijd de GPL. Andere bekende licenties zijn de Apache License, de BSD License, de Mozilla Public License en de Microsoft Public License. In totaal zijn er ongeveer 80 open‐source licenties.

Linux en standaarden

Een ecosysteem zoals Unix of Linux heeft standaarden nodig om compatibiliteit tussen de verschillende systemen te waarborgen.
Als afstammeling van Unix voldoet Linux aan de POSIX‐standaard (Portable Operating System Interface) die in 1988 het licht zag. Deze standaard is bedoeld om de compatibiliteit tussen overdraagbare besturingssystemen te handhaven. Hij is gespecificeerd door de IEEE Computer Society (Institute of Electrical and Electronic Engineers). De verder ontwikkeling van de standaard is in handen van de Austin Group, een gezamenlijke werkgroep van de IEEE, de Open Group, en de relevante groep van experts van de ISO (International Organization for Standardization).

POSIX heeft voornamelijk betrekking op de API (de C‐bibliotheek), shellcommando’s en de mappenstructuur. ‘Portable’ slaat op het feit dat het is geschreven in C, een taal die overdraagbaar is naar meerdere architecturen.

POSIX vormt de kern van de Single UNIX Specification (SUS) van de Austin Group, waaraan een besturingssysteem moet voldoen om het handelsmerk UNIX te mogen gebruiken; macOS voldoet daaraan, Linux niet.

Linux heeft een eigen, verdergaande standaard, de Linux Standard Base (LSB, 2001) van de Linux Foundation. Het is een iso‐standaard gebaseerd op onder meer POSIX

Lsb logo
Linux Standard Base

en delen van SUS, en bedoeld om compatibiliteit tussen Linux‐distributies te waarborgen. De belangrijkste Linux‐distributies voldoen hier grotendeels aan. De LSB heeft onder meer betrekking op libraries, shell commando’s, de mappenstructuur (Filesystem Hierarchy Standard, FHS), het printsysteem, en softwarepakketten (RPM).

Ook al kunnen samenstellers van een distributie dank zij de LSB rekenen op allerlei gemeenschappelijke kenmerken, toch betekent het voldoen aan de standaard helaas niet dat softwarepakketten van distributies gemakkelijk onderling uitwisselbaar zijn. Deels is dat het gevolg van verschillen op punten waar de LSB niets over zegt, deels ook van historisch gegroeide verschillen waarvoor de LSB te laat kwam. Zo heeft de LSB, ongetwijfeld met het oog op commerciële belangen, het pakketformaat RPM van Red Hat tot standaard gemaakt, maar de al lang bestaande distributie Debian en alle daarvan afgeleide distributies, zoals Ubuntu, gebruiken het Debian pakketformaat. Op het ogenblik gaat dat om zeker de helft van alle Linux distributies. Softwarepakketten van de van Debian afgeleide distributies zijn juist vaak wel vrij goed onderling uitwisselbaar. Dat geldt nog meer voor alle van Ubuntu afgeleide distributies, zoals het populaire Linux Mint.

Linux-distributies

Linux en de meeste Linux‐software is vrij en open, en kan dan ook door iedereen worden gebruikt om een Linux‐systeem te bouwen. Dat is sinds de conceptie van Linux in 1991 dan ook in groten getale gedaan in de vorm van Linux‐distributies.

Bij de website distrowatch.com zijn op het ogenblik ongeveer 300 distributies geregistreerd, waarvan ongeveer 250 voor het pc‐platform. Er is een grote verscheidenheid: van algemene tot in allerlei opzichten gespecialiseerde distributies. Afgezien van spcialisaties onderscheiden distributies zich met name in Installatie‐ en configuratiesoftware en ‐procedures, software‐ en pakketbeheer, en aangeboden desktopomgevingen.

Tot de oudste Linux‐distributies behoren Red Hat, SUSE, Debian en Slackware uit de vroege jaren ’90. Het eveneens heel bekende Ubuntu kwam in 2004, en het erop gebaseerde Linux Mint in 2006.

Red Hat, SUSE en Ubuntu zijn de belangrijkste grote commerciële distro’s. Deze hebben naast het commerciële aanbod ook vrije distributies, resp. Fedora (voor de desktop) en CentOS (voor servers), openSUSE en Ubuntu en desktopvarianten daarvan, zoals Kubuntu.

Voor thuisgebruikers zijn Debian, Ubuntu en daarvan afgeleide distributies zoals Linux Mint en Zorin het meest interessant. Het gaat om circa de helft van de 250 pc‐distro’s, waarvan ruim 40% Ubuntu en afgeleiden betreft. Voordelen zijn dat ze hetzelfde softwarebeheersysteem hebben en de softwarepakketten vaak goed uitwisselbaar zijn, zeker tussen Ubuntu en zijn afgeleiden. Voor Ubuntu komt daarbij dat het voor velen bijna synoniem is met Linux. Als softwaremakers Linux ondersteunen dan is dat veelal Ubuntu.

Een Linux‐distributie bestaat uit de Linux‐kernel, hulpsoftware om samen met de kernel een volledig besturingssysteem te vormen, en een aantal geselecteerde toepassingen. We kunnen ruwweg de volgende lagen onderscheiden:

  1. De Linux‐kernel.
  2. Hulpprogramma’s in tekstmodus: een shell (standaard Bash = de Bourne Again Shell) waarin de gebruiker commando’s kan geven, library’s waaronder de C‐library, gnulogoen allerhande tools. Het merendeel van deze programma’s is afkomstig van het GNU‐project waarin een vrij Unix‐achtig besturingssysteem wordt ontwikkeld. Samen met de kernel vormen deze programma’s het eigenlijke basisbesturingssysteem, dat daarom ook wel GNU/Linux wordt genoemd. Er zijn bovendien allerlei toepassingsprogramma’s in tekstmodus beschikbaar.
  3. Een grafisch platform voor grafisch te bedienen software: standaard het X Window System (daterend van 1984 voor Unix), dat geleidelijk aan zal worden opgevolgd door Wayland (2012).
  4. Een min of meer omvattende grafische bureaubladinterface, de desktopomgeving (standaard vaak GNOME of KDE), waarin de gebruiker met behulp van muis en toetsenbord te computer kan bedienen.
  5. Grafisch te bedienen toepassingen en hulpsoftware, zoals een internetbrowser, een e‐mailclient en een tekstverwerker.

Elke Linux‐distributie biedt een tekstmodus (t/m laag 2), en de meeste bieden ook een grafische modus (t/m laag 5).

Verschijningsvormen van Linux

Tekstmodus
Linux in tekstmodus, die veelal op servers wordt gebruikt, heeft een shell waarin opdrachten aan het systeem kunnen worden gegeven. Een shell is te vergelijken met de opdrachtprompt, of beter nog: Powershell, in Windows. De standaard shell is ‘bash’ (Bourne Again Shell), maar er zijn er veel meer, zoals de Bourne‐shell (sh), C‐shell (csh), Korn‐shell (ksh), etc. met elk zijn eigen programmeertaal en mogelijkheden.
In de shell kan een filemanager in tekstmodus worden gebruikt.

De bekendste is de GNU Midnight Commander. Hij lijkt met zijn twee panelen qua uiterlijk op de vroegere Norton Commander in DOS, maar is wel veel krachtiger. Er zijn meer filemanagers in tekstmodus, waarvan het merendeel ook twee panelen heeft. Gebruik van een filemanager maakt het werken in een shell een stuk gemakkelijker.

Webserver met mc
Midnight Commander

Grafische modus
Linux in grafische modus biedt de gebruiker een grafische interface (GUI genaamd naar het Engelse ‘Graphical User Interface’) in de vorm van tenminste een vensterbeheerder en bij voorkeur een volledige desktop‐ of werkomgeving. Een desktopomgeving bestaat uit een aantal besturingselementen, waaronder een vensterbeheerder, een menu, werkbalken, pictogrammen en een file manager, diemet muis en toetsenbord kunnen worden bediend.
Er zijn er verscheidene, waarvan KDE en GNOME wel de oudste (1997) en meest bekende zijn. Daarnaast zijn er onder meer Xfce, Cinnamon, MATE en LXDE. Meer recente zijn LxQt en Budgie.

Vrijwel elke distributie biedt één van de desktopomgevingen aan als standaard, en enkele andere als officiële variant. Zo biedt Linux Mint Cinnamon (standaard), MATE en Xfce, en Ubuntu biedt GNOME (standaard), KDE, MATE, Xfce en LXDE. Ook andere desktopomgevingen worden vaak wel in de software‐repositories aangeboden, maar niet als kant en klare officiële variant.
Meer nog dan de distributie zelf bepaalt de keuze van de desktopomgeving hoe je met Linux werkt.

Gebruiksaandelen van Linux

Het is interessant om te zien in welke mate Linux en andere besturingssystemen worden gebruikt op verschillende soorten computers.

  • Sinds november 2017 draaien alle supercomputers van de top 500 Linux (bron).
  • Aandelen gebruik besturingssystemen op webservers (januari 2019) volgens W3Techs:

    Aandelen
    webserver

    Linux + Unix Windows
    Linux Unix Onbekend
    W3Techs 37 1 31 31

    Als we aannemen dat Onbekend (ongeveer) gelijkelijk over Linux en Unix is verdeeld, komen we voor Linux uit op 53% en voor Unix op 16%. Als we aannemen dat Onbekend net zo is verdeeld als bekend komen we voor Linux zelfs op 67% en voor Unix op maar 2%. Hoe dan ook, Linux is op webservers het meest gebruikte besturingssysteem. 
  • Aandelen gebruik pc‐besturingssystemen (januari 2019):

    Aandelen PC Linux macOS Windows onbekend rest
    Statcounter
    wereldwijd
    2 12 75 8 3
    Statcounter
    Nederland
    2 19 73 3 3
    W3Schools
    site
    7 11 82 - 0
    CompUsers
    website
    7 6 86 - 1

    De wereldwijde statistiek van Statcounter is gebaseerd op bezoek aan 3 miljoen websites, dat is circa 1,1% van het totaal aantal websites (bron). Nederland telt ruim 2 miljoen websites. Als die 1,1% ook voor Nederland geldt gaat het om de cijfers van ruim 22.000 websites.
    W3Schools is een wereldwijde site voor webdevelopers, en CompUsers is zoals bekend een Nederlandse site van computerhobbyisten. In beide gevallen is het gebruik van Linux aanmerkelijk hoger dan het gemiddelde volgens Statcounter. Dat geldt overigens ook voor het gebruik van Windows.
  • Aandelen gebruik mobiele besturingssystemen (januari 2019):

    Aandelen mobiel Android iOS rest
    Statcounter wereldwijd 71 27 2
    Statcounter Nederland 52 47 1
    W3Schools site 81 17 2
    CompUsers website 66 34 0

    Android heeft een Linux‐kernel en is dus een Linux‐besturingssysteem. Het valt op dat in Nederland iOS veel populairder is dan wereldwijd. Misschien is er een verband met ons welvaartsniveau: iOS apparaten zijn gemiddeld immers een stuk duurder dan Android‐apparaten. Ook valt op dat professionals (W3Schools) en hobbyisten (CompUsers) meer Android en minder iOS gebruiken dan gemiddeld.

Al met al kunnen we concluderen dat Linux een sterke positie heeft op allerlei soorten computers, van groot tot klein, behalve op de pc. Mogelijke oorzaken zijn:

  • Als je een pc koopt staat daar standaard Windows op. Je moet al een echte liefhebber zijn om daarnaast of in plaats daarvan Linux te installeren, of een pc proberen te kopen waarop Linux al is geïnstalleerd.
  • Mensen zijn weinig geneigd om datgene wat vertrouwd is, Windows, te verlaten en op iets nieuws, Linux, over te gaan. Zo’n overgang kost tijd en moeite. En uiteindelijk gaat het niet om het besturingssysteem, maar om de toepassingen.
  • Er is belangrijke Windows‐software die niet voor Linux beschikbaar is en met Wine onder Linux niet goed aan de praat te krijgen is. Als je per se die software wilt gebruiken is Linux niet de weg om te gaan. Gebruik van virtuele machines is voor de meeste gewone gebruikers een brug te ver.

Sterke en zwakke punten van Linux

In aansluiting op de voorgaande analyse volgen hier een lijst van sterke en een lijst van zwakke punten van Linux voor gebruik op de pc.

Sterke punten

  • Vrijheid en openheidfree as good as paid
    Dankzij de GPL kan Linux kosteloos op meerdere computers worden geïnstalleerd en is er geen activering nodig. Een gebruiker kan uit meerdere werkomgevingen er een kiezen die hem het meest bevalt. De openheid van de broncode geeft de zekerheid dat er geen verborgen achterdeurtjes in het systeem zitten.
  • Flexibiliteit
    Er is een Linux voor elke smaak en voor speciale toepassingen, zoals onderwijs en wetenschap, muziek, systeemherstel, etc.
  • Veiligheid
    Er is geen malware van betekenis voor Linux, zij het dat dit mogelijk te danken is aan het het feit dat Linux op de pc nog weinig wordt gebruikt en dan ook nog door mensen die beter op de hoogte zijn van de gevaren. Linux is inherent veilig omdat beheerstaken altijd een wachtwoord vereisen.
  • Veeltaligheid
    Linux is standaard beschikbaar in vele talen, waaronder ook allerlei kleine talen, zoals het Fries. Wisselen van taal is gemakkelijk.
  • Geringere systeemeisen
    Linux heeft in het algemeen minder schijfruimte en minder werkgeheugen nodig dan Windows, zij het dat dit wel afhankelijk is van welke software wordt gebruikt.
  • Geïntegreerd softwarebeheer
    Vrijwel elke distributie biedt een verscheidenheid aan toepassings‐ en hulpsoftware aan in eigen betrouwbare opslagruimtes (repository’s), en verzorgt updates voor alle software op het systeem die vanuit zo’n opslagruimte is geïnstalleerd.
  • Uitstekende software
    Er is een veelheid aan uitstekende vrije software voor Linux beschikbaar. Denk aan LibreOffice, Mozilla Firefox en GIMP.
  • Goede hardware‐ondersteuning
    Standaard wordt een grote hoeveelheid hardware ondersteund. Alle beschikbare open‐source drivers worden meegeleverd. Ook veel oudere hardware wordt nog ondersteund.

Zwakke punten

  • Kip‐en‐eiprobleem. Van een Linux‐gebruiker wordt een beetje pioniersgeest gevraagd!kip en ei
    • Op standaard pc’s is vrijwel altijd Windows geïnstalleerd, en het is bijna nooit mogelijk om van Windows af te zien, zeker op laptops. Daarbij komt dat zelf installeren van een besturingssysteem voor velen te hoog gegrepen is, ook al is installatie van de meeste Linux‐distributies zo eenvoudig mogelijk gemaakt.
    • Bekende commerciële software is niet beschikbaar. Voorbeelden zijn: Adobe Photoshop, Pinnacle Studio, Microsoft Office. Vervangende goede open‐source software is er wel, ook voor Windows, maar dat blijkt toch niet genoeg.
    • Gespecialiseerde of maatsoftware wordt vaak alleen voor Windows gemaakt.
    • Er zijn vergeleken met Windows weinig games beschikbaar. De laatste jaren komt hier echter snel verbetering in.
    • Voor de allernieuwste hardware zijn vaak nog geen drivers beschikbaar. Fabrikanten die niet zelf drivers voor Linux maken, geven vaak wel de specificaties vrij op grond waarvan ze kunnen worden gemaakt, maar dat kost nu eenmaal de nodige tijd.
  • Softwarebeheer is distributiespecifiek. Er is niet één standaard pakketformaat. Softwarepakketten van een bepaalde distributie zijn vaak niet uitwisselbaar met andere distributies. Voor softwareleveranciers wordt het daardoor ook moeilijk software voor Linux aan te bieden, want hoe moeten ze het aanbieden? Gelukkig komt daar verbetering in dank zij de nieuwe distributie‐onafhankelijke pakketformaten Flatpak en Snappy.
  • Distributies bieden, afgezien van veiligheidsupdates, lang niet altijd de nieuwste softwareversies. Om de nieuwste versie van een bepaald programma te kunnen gebruiken moet dan een nieuwere versie van de distributie worden geïnstalleerd. Gelukkig wordt gebruik van een nieuwere programmaversie dan die de distributie biedt, dank zij Flatpak en Snappy wel mogelijk. Bovendien zijn er distributies zoals openSUSE die een zgn. ‘rolling release’ aanbieden, waarvoor altijd de nieuwste software beschikbaar is.
  • Dankzij de vrijheid die Linux biedt zijn in de loop van de tijd vele distributies ontstaan die een verscheidenheid aan werkomgevingen aanbieden. Ondanks het feit dat ze wel aan bepaalde standaarden voldoen, komt Linux hierdoor gefragmenteerd over. Het biedt voor mensen zoveel keus dat zij alleen al voor het kiezen van een geschikte distributie en een geschikte werkomgeving onderzoek moeten doen. Dit kan keuzestress opleveren, waardoor mensen misschien helemaal van Linux afzien. Veel keuze is enerzijds een sterk punt, maar kan anderzijds ook een zwak punt zijn!

Oorspronkelijk verschenen in SoftwareBus 2019-2.

Actueel