Wat is Linux? Het open-source besturingssysteem dat de wereld verandert

Linux is een beproefd, open-source besturingssysteem dat in 1991 is uitgebracht voor computers, maar het gebruik ervan is uitgebreid naar systemen voor auto’s, telefoons, webservers en, meer recentelijk, netwerkapparatuur.

Door zijn lange levensduur, volwassenheid en veiligheid is het een van de meest betrouwbare besturingssystemen die vandaag de dag beschikbaar zijn, wat betekent dat het ideaal is voor commerciële netwerkapparatuur en voor bedrijven die het en zijn randapparatuur willen gebruiken om hun eigen netwerk- en datacenterinfrastructuur aan te passen.

Dat zorgt er weer voor dat Linux-vaardigheden zeer gewild zijn bij IT-huurmanagers. Veel van de nieuwe technologieën die worden geassocieerd met DevOps, zoals containers, infrastructuur en SDN-controllers, zijn bijvoorbeeld gebouwd op Linux.

Wat is Linux?

Linux is een besturingssysteem dat lijkt op – hoewel, zoals we zullen zien, niet direct afstamt van – Unix. Zoals de meeste Unix-achtige OS’en bestaat Linux uit verschillende componenten.

De kernel

Dit is de kern van het systeem en stuurt instructies naar de CPU, randapparatuur en het geheugen.

De bootloader

De processen die het opstarten van het systeem beheren. Op een computer zou de gebruiker dit herkennen aan het splash-scherm dat opkomt. Op een netwerkapparaat is er een status die het opstartproces aangeeft.

Daemons

Achtergronddiensten die starten tijdens het opstarten of nadat het systeem volledig is opgestart. Bijvoorbeeld, de netwerk daemon activeert alle netwerk interfaces tijdens het opstarten. Andere daemons zijn dingen als tijd en DNS.

De shell

Dit is de Linux commando-regel. Het kan intimiderend zijn voor mensen die gewend zijn om in grafische omgevingen te werken, maar de meeste netwerkprofessionals zijn gewend om in een shell te werken.

Linux commando’s

De command-line interface (CLI) van de shell biedt een aantal krachtige mogelijkheden – waaronder die welke cruciaal zijn voor netwerken en systeembeheer – voor deskundige gebruikers die bekend zijn met de tekstgebaseerde interface.

Linux desktop-omgevingen

Naast de shell zijn er een aantal desktop-omgevingen voor Linux, die werken als de venster-gebaseerde GUI’s die we kennen van Windows en macOS. In tegenstelling tot die besturingssystemen, kan Linux worden uitgerust met een van de vele desktop-omgevingen om aan de behoeften en smaak van de gebruiker te voldoen.

Linux pakketbeheerders en toepassingen

Hoewel veel programma’s – vooral die worden aangestuurd vanaf de opdrachtregel – worden meegeleverd met de meeste installaties van het Linux besturingssysteem, zult u er natuurlijk meer willen installeren om de functionaliteit te krijgen die u nodig hebt, en veel van die programma’s zullen grafische, GUI-gebaseerde toepassingen zijn die meer vertrouwd zijn dan die worden aangestuurd door een CLI. Over het algemeen zul je hiervoor een package manager gebruiken, een programma dat softwarepakketten downloadt uit vrij beschikbare software bibliotheken. Sommige netwerktoepassingen voor Linux, zoals die voor verkeersanalyse, beveiliging en netwerkbeheer, hebben grafische interfaces, maar dat zijn er veel minder dan die voor servers en desktops.

Linus Torvalds en de geschiedenis van Linux

Zoals gezegd is Linux een van de vele besturingssystemen die onder de noemer “Unix-achtig” vallen. De geschiedenis van Unix is zeer ingewikkeld, maar Linux, hoewel het veel weg heeft van Unix, hergebruikt eigenlijk geen Unix broncode.

Linux kan eigenlijk worden beschouwd als een kleinkind van Unix. Zijn directe voorganger was MINIX, een klein Unix-achtig OS dat eind jaren ’80 werd gemaakt om de principes van besturingssysteemontwerp aan studenten te illustreren.

De MINIX code was beschikbaar voor onderwijsdoeleinden, maar kon niet worden hergebruikt voor commerciële toepassingen. In 1991 kondigde de 21-jarige student computerwetenschappen Linus Torvalds aan dat hij een nieuw besturingssysteem zou maken, geïnspireerd door MINIX, maar helemaal opnieuw geschreven zodat de code als open source kon worden vrijgegeven onder de GNU GPL. Hij combineerde de naam MINIX met zijn eigen naam en noemde het nieuwe besturingssysteem Linux.

De Linux-kernel

De Linux-kernel is de kern van het besturingssysteem. Het is ook het belangrijkste verschil tussen Linux en MINIX (wat enigszins ironisch is, aangezien Torvalds ervan werd beschuldigd code van MINIX te hebben gestolen om zijn OS te maken). Terwijl MINIX is gebaseerd op een microkernel die de minimale hoeveelheid code bevat die nodig is om een besturingssysteem te draaien, heeft Linux een monolithische kernel, wat betekent dat functies zoals het bestandssysteem, virtueel geheugen en verschillende systeemaanroepen allemaal plaatsvinden in de bevoorrechte kernelruimte.

Een van de voordelen hiervan – en ook een van de belangrijkste voordelen van Linux als geheel – is dat, terwijl de interne werking van het OS in de loop der tijd kan evolueren, de interface tussen de kernel en de gebruikersruimte – het deel van het systeem waar de toepassingen van individuele gebruikers worden uitgevoerd – zeer stabiel blijft, wat betekent dat een upgrade van Linux je niet dwingt om je programma’s te upgraden.

Linux-gemeenschap

Zoals gezegd is de code van Linux open source – meer specifiek, de code is vrijgegeven onder de permissieve GNU Public License. Dat betekent:

  • Het Linux besturingssysteem kan gratis worden gedownload en geïnstalleerd.
  • Administrators kunnen het OS bestuderen en aanpassen.
  • Er zijn onbeperkte herverspreidingsprivileges van de originele of gewijzigde versies van het besturingssysteem.

Een van de duidelijkste signalen dat Linux een gemeenschapsproject is, is dat de kernel niet in het geheim in een bedrijfslaboratorium wordt onderhouden, maar via een openbare e-maillijst, waar alle voorgestelde updates en debatten over de vraag of ze in het besturingssysteem moeten worden opgenomen, voor iedereen te zien zijn. Iedereen kan lid worden van de Linux-gemeenschap door deel te nemen en bij te dragen aan deze mailinglijst.

Torvalds zit de lijst voor als een niet bepaald welwillende dictator – hij was berucht om het loslaten van obscene tirades over code die hij bijzonder problematisch vond – maar de laatste tijd probeert hij zijn manieren een beetje bij te stellen.

De Linux-gemeenschap gaat echter veel verder dan alleen de kernel. Het open karakter van Linux betekent dat er een enorme groep professionals en enthousiastelingen actief betrokken is bij het vinden van nieuwe manieren om het te gebruiken. Containers zijn bijvoorbeeld grotendeels tot stand gekomen dankzij de betrokkenheid van de gemeenschap.

En dat Linux een gemeenschapsproject is, betekent niet dat een op Linux gebaseerd platform een “minder” apparaat is. Linux heeft een uitstekend ecosysteem met volwassen API’s en een flexibele netwerkstack die is geoptimaliseerd voor het gemoderniseerde datacenter. Linux is bijvoorbeeld ontworpen met gescheiden control en data-forwarding planes, waardoor het makkelijk in te passen is in software-defined networking architecturen, omdat het scheiden van die planes de basis is van SDN.

Linux distributies

Omdat Linux open source is, is er niet één leverancier die het verkoopt; theoretisch zou je de kernel, een desktop omgeving en diverse andere utilities en applicaties kunnen downloaden, en ze allemaal zelf installeren. In de praktijk worden deze OS-componenten samen verpakt in wat een distributie wordt genoemd – in feite een Linux OS dat op een bepaalde manier is aangepast en klaar is voor gebruik.

Ook hier geldt dat in theorie iedereen een Linux-distributie kan samenstellen, maar de meeste worden aangeboden door bedrijven en non-profit organisaties. Commerciële distributeurs kunnen geld vragen voor hun distributie, of optionele betaalde ondersteuningsdiensten aanbieden. Enkele van de bekendere Linux-distributies zijn:

  • Ubuntu
  • SuSE
  • Debian
  • Red Hat
  • Fedora
  • Oracle Linux
  • CentOS
  • Arch Linux
  • Mandriva

De lijst is altijd aan verandering onderhevig; DistroWatch houdt de belangrijkste spelers bij en beoordeelt de voor- en nadelen van elk van hen.

Linux vs. Windows

De millenniumwisseling was een gouden tijd voor de Microsoft versus Linux oorlogen, met zelfvoldane Linux gebruikers die zeker waren van de superioriteit van hun gekozen OS op ideologische en technische gronden, en Microsoft die net zo hartstochtelijk terug vuurde. Veel van de meest luidruchtige Linux-voorstanders beweerden dat de dag waarop Linux een dominant desktop OS zou worden, nabij was. Dit is duidelijk nooit gebeurd. Als een commercieel besturingssysteem voor eindgebruikers heeft Linux zich nooit verder verspreid dan een kleine niche, en de dagen van die gevechten zijn grotendeels voorbij (hoewel je nog steeds mensen zult vinden die het gevecht willen aangaan).

Maar als het op Linux-servers aankomt, is dat een ander verhaal. Linux wordt alom gezien als een belangrijke speler op de servermarkt, op gelijke voet met Microsoft en andere leveranciers. En in de meest lucratieve tech-markt die deze eeuw is ontstaan, heeft Linux in zekere zin Redmond absoluut verpletterd. Het mobiele besturingssysteem Android is in wezen een afgeleide van Linux, en Android is de topspeler op de mobiele markt, waar Microsoft er ondanks herhaalde pogingen niet in is geslaagd een voet aan de grond te krijgen.

Waar wordt Linux voor gebruikt?

Dankzij zijn flexibiliteit heeft Linux zijn weg gevonden naar een aantal niches, van embedded producten tot supercomputerservers. In het afgelopen decennium is er een explosie geweest van het aantal op Linux gebaseerde producten die een grote impact hebben gehad in de IT-ruimte, waaronder:

  • Kubernetes: Container cluster manager van Google
  • OpenStack: Softwareplatform voor infrastructure as a service cloudplatform
  • Open Daylight: Linux Foundation’s java based project om de adoptie van SDN’s en Network Functions Virtualization (NFV)
  • Docker: Software container programma
  • Open vSwitch (OVS): Gedistribueerde virtuele multilayer switch om een switching stack te bieden binnen virtualisatie-omgevingen. OVS is vooral interessant omdat het een rijkere set netwerkfuncties biedt dan de basismogelijkheden in de Linux-kernel. Als OVS ook maar enigszins succesvol is, zou het een uitstekende voorloper kunnen zijn van de vorm van de dingen die komen gaan op het gebied van netwerken.

Netwerken heeft Linux maar langzaam omarmd, maar hoe meer netwerk-afhankelijke bedrijven worden, hoe meer de netwerk- en server-domeinen naar elkaar toe worden geschoven. Voor netwerkingenieurs stelt de toegang tot de Linux-shell hen in staat om tools en software te gebruiken die vroeger alleen voor servers beschikbaar waren.

Waarom is Linux zo succesvol in het bedrijfsleven?

In zijn terugblik op Linux ter gelegenheid van het 25-jarig bestaan, heeft InfoWorld’s Paul Venezia nagedacht over de vraag waarom dit startende besturingssysteem, ontworpen door hippies en idealisten in plaats van zakenmensen, zo succesvol is geworden in de bedrijfswereld. Volgens hem was de aantrekkingskracht van Linux tweeledig.

In de eerste plaats is Linux aanpasbaar, met verschillende distributies die het naar zo’n beetje elk computerplatform porten.

En ten tweede is Linux goedkoop. Bedrijven waren niet zozeer geïnteresseerd in gratis Linux – ze vertrouwden gratis eerlijk gezegd niet – maar goedkope commerciële Linux met beschikbare ondersteuning was moeilijk te laten liggen. En misschien nog belangrijker, Linux kon draaien op commodity hardware – de goedkope x86 PC boxen die de meeste bedrijven al in overvloed hadden – in een tijdperk waarin andere Unix leveranciers zoals Sun hun OS gebruikten om te bundelen in hun high-end hardware.

Deze factoren zullen Linux nog jaren in de onderneming houden. Dus of je nu een sysadmin of een netwerk admin bent, je zult je er vertrouwd mee willen maken.