Linux is anders dan Windows, zoveel is zeker. Onbekendheid met Linux komt veelal voort uit onbekendheid met waar Linux anders in is. En dat weerhoudt heel wat Windowsgebruikers ervan om Linux als mogelijk alternatief voor Windows te zien.
Licentie
Het begint al met de licentie waaronder de software wordt uitgebracht. Voor alle software die samen Linux vormt geldt een open source‐licentie. Vaak de GPL (General Public License) zoals voor de eigenlijke Linux‐kernel, maar ook andere open source‐licenties komen voor. Deze bieden veel vrijheden, in het bijzonder:
- De vrijheid om de software te gebruiken zoals u dat wilt, voor elk doel.
- De vrijheid om de software te verspreiden.
- De vrijheid om de manier waarop de software werkt te bestuderen, en om die aan te passen aan uw behoeften. • De vrijheid om de software te verbeteren en dan te verspreiden.
Linux wordt dan ook in allerlei vormen gedistribueerd door bedrijven, wetenschappelijke en andere instellingen en organisaties, en vooral programmeursgemeenschappen. Zo is een heel Linux ecosysteem ontstaan. Windows daarentegen heeft als product van Microsoft een bedrijfseigen, commerciële licentie die toestaat de software te gebruiken, maar verder geen vrijheden biedt.
Gevolg is dat er maar één Windows is met maar één verschijningsvorm van de grafische gebruikersomgeving (GUI, even afgezien van verschillen tussen desktop en server, home en professional), terwijl er een heel landschap van Linux distributies is met allerlei verschijningsvormen. Met Windows heb je geen keus, met Linux wel. Heel veel keus zelfs. Dat is voor velen al een drempel, want: wat te kiezen?
Een aantal criteria kan daarbij helpen. Bij de keuze van een distributie zijn de belangrijkste criteria populariteit en gebruikersvriendelijkheid, levensvatbaarheid, ondersteuning (duur en verbreiding), standaardisering en beschikbaarheid van software. En wat betreft de verschijningsvorm, er zijn enkele populaire distributies, waaronder Linux Mint en Zorin OS, die hun best hebben gedaan de grafische interface (het bureaublad) zoveel mogelijk op die van Windows te laten lijken waardoor hij vertrouwder overkomt. Beide distributies voldoen ook aan de gestelde criteria. Zo kunnen de keuzemogelijkheden al flink worden ingeperkt.
Een gevolg van het open-source karakter van Linux is dat het gratis is. Als er al geld voor wordt gevraagd is dat niet voor de software, maar voor de ondersteuning. Vooral voor bedrijven is dat belangrijk. Windows daarentegen heeft een prijs die afhankelijk is van de geboden functies (server, home, professional).
Software
Applicaties
Algemene Linux distributies zoals Linux Mint en Zorin OS hebben alle software voor normaal gebruik in huis. Hebt u meer nodig of kunt u met minder toe, dan is het heel gemakkelijk om extra software te installeren of software te deïnstalleren via het programma- of pakketbeheer, dan wel softwarecentrum. De extra software wordt door de distributie ter beschikking gesteld in softwaremagazijnen (op zijn Engels repositories) op het internet, en is gegarandeerd vrij van virussen en malware. Je kunt zo'n magazijn zien als een winkel van gratis, voornamelijk open-source, software. Vooral de vele van Ubuntu afgeleide distributies, zoals ook Linux Mint en Zorin OS, hebben zo de beschikking over een ruim aanbod van software. Updates voor een Linux distributie hebben niet alleen betrekking op het besturingssysteem maar ook op alle geïnstalleerde software, ook die welke later via programmabeheer bij is geïnstalleerd.
Met Windows wordt ook wel software meegeleverd, maar een compleet aanbod voor normaal gebruik is het beslist niet. Zo mist bijvoorbeeld, afgezien van Wordpad, een kantoorpakket. Extra te installeren software moet vaak bij de fabrikant worden opgehaald (gedownload) en vervolgens geïnstalleerd. Hoewel er ook voor Windows veel open-source software beschikbaar is gaat het ook bij thuisgebruik toch vaak om betaalde software. Tegenwoordig biedt Microsoft de Microsoft Store, waarin allerlei software wordt aangeboden, deels beprijsd (zowel hoog als laag), deels gratis. Veel bekende open-source software is er echter niet in te vinden. Updates van Windows hebben alleen betrekking op het besturingssysteem, voorzover ik weet zelfs niet op de met Windows meegeleverde software. Voor Windows is waarschijnlijk heel wat meer software beschikbaar dan voor Linux, maar het is wel veel lastiger dan in Linux om er achter te komen wat er allemaal is, en waar je het kunt verkrijgen. Bovendien moet je de updates van de bijgeïnstalleerde software zelf verzorgen.
Programma's voor Windows werken niet in Linux, en omgekeerd. Er is echter een open-source Windows emulatielaag voor Linux, genaamd Wine, waarmee veel Windows programma's wel in Linux kunnen worden geïnstalleerd en uitgevoerd. De firma Codeweavers biedt met Crossover Linux een commerciële extensie van Wine aan, die met name populaire software als Microsoft Office en Adobe Photoshop beter ondersteunt. Dank zij het Windows Subsystem for Linux (WSL) van Microsoft kan in Windows nu ook Linux software worden uitgevoerd, nu alleen nog programma's voor de opdrachtregel, maar vanaf Windows 11 (WSL versie 2) ook programma's voor de grafische gebruikersomgeving.
Hardware drivers
Hardware drivers zijn stukjes software via welke het besturingssysteem de hardware kan aanspreken en sturen. In Linux worden ze modules genoemd, en vind je ze in de map /lib/modules
gerangschikt per geïnstalleerde Linux kernel. In Windows vind je de hardware drivers in de map C:\Windows\System32\drivers
.
Drivers voor enorm veel ook oudere hardware worden standaard bij Linux geleverd. Er hoeft niets extra's te worden geïnstalleerd om het te laten werken. In Windows 10 en later zijn er voor veel oudere hardware geen drivers.
Daartegenover staat dat de Linux drivers soms niet alle functionaliteit leveren omdat de fabrikant de hardware specificaties niet of onvolledig ter beschikking stelt. Voor volledige functionaliteit zijn drivers van de fabrikant nodig, maar die zijn er voor Linux niet altijd. Voorbeeld: de grafische kaarten van NVIDIA en AMD (voorheen ATI) werken wel met de Linux drivers, maar om toegang te krijgen tot alle functies moeten de drivers van de fabrikant worden geïnstalleerd.
Splinternieuwe hardware wordt altijd geleverd met Windows drivers. Soms stelt de fabrikant ook meteen Linux drivers ter beschikking, maar dat gebeurt lang niet altijd. In dat geval moet worden gewacht tot een open-source driver gereed is. Als de fabrikant de daarvoor benodigde specificaties ter beschikking heeft gesteld kan dat vrij snel gaan. Zo niet, dan duurt het langer of komt er helemaal geen driver voor Linux. Gelukkig wordt Linux buiten het consumentendomein veel en steeds meer gebruikt, zodat fabrikanten van daar gebruikte hardware wel gedwongen worden om ook Linux drivers of tenminste de specificaties ervoor te leveren.
Bestandssysteem
Opslag op schijf (het fysieke bestandssysteem)
Linux gebruikt voor opslag op schijf andere bestandssystemen dan Windows. Op het ogenblik gebruikt Linux standaard ext4 (Fourth Extended File System), maar er zijn meer beschikbaar zoals xfs (eXtended File System), het oudere ext3 en ext2, en het zeer recente btrfs (B-Tree File System) dat mogelijk de nieuwe standaard wordt. Windows gebruikt standaard ntfs (New Technology File System), maar kent ook het oudere fat32 (File Allocation Table 32-bit) ofwel vfat (Virtual FAT, dat is fat32 met lange bestandsnamen) en het nieuwere exFAT (extensible File Allocation Table), die veel voor USB sticks e.d. worden gebruikt. Linux ondersteunt ntfs, vfat en exfat voor zowel lezen als schrijven, maar Windows ondersteunt de Linux bestandssystemen niet, zij het dat er wel enkele commerciële en open-source drivers beschikbaar zijn.
Indeling in mappen en bestanden (het logische bestandssysteem)
Gebruik van meerdere bestandssystemen
In Windows krijgt elk bestandssysteem op een gegevensdrager (drive) automatisch een letter toegewezen, de driveletter. Een gegevensdrager kan onder meer een partitie op een interne of externe harde schijf zijn, een usb-stick of een dvd. Zo krijgt de drive met het Windows systeem altijd de letter C. A en B waren gereserveerd voor de vroegere floppy disks. Een aparte partitie voor data zou de letter D kunnen krjgen, en een dvd drive de letter E. Een volledig pad naar een map of bestand op een drive begint met de driveletter gevolgd door een dubbele punt, bijvoorbeeld C:\Windows, de map voor het Windows systeem, of D:\Documenten, een map met documenten.
Linux kent geen driveletters. Andere bestandssystemen worden gekoppeld aan een map in het basissysteem, het zgn. koppelpunt (mount point). Dat geldt dus ook voor dvd's en usb-sticks. Het basissysteem zelf wordt altijd gekoppeld aan de basismap (root directory), weergegeven met /
. Verwisselbare media, zoals dvd's, usb-sticks en externe harde schijven, worden standaard gekoppeld aan de map /media/<gebruiker>
, waarin <gebruiker> staat voor de naam van de actuele gebruiker. Nooit automatisch, maar alleen na goedkeuring. Bovendien is er nog een map /mnt
waar drives voor tijdelijk gebruik handmatig aan kunnen worden gekoppeld.
In het bestand /etc/fstab
kan worden vastgelegd welke bestandssystemen waar moeten worden gekoppeld, en met welke opties. Normaliter wordt in dit bestand altijd het basissyteem genoemd, dat voor zowel lezen als schrijven wordt gekoppeld, als het virtuele geheugen (tijdelijke geheugenopslag op schijf), dat zowel een aparte partitie als een bestand kan zijn. Zonder /etc/fstab
zou het basissysteem door de bootmanager alleen voor lezen worden gekoppeld en zou er geen virtueel geheugen zijn. Vaak zijn er aparte partities voor gebruikersmappen en voor variabele gegevens. Deze worden dan via het bestand /etc/fstab
gekoppeld aan /home
resp. /var
.
Het is ook in Windows mogelijk om vaste bestandssystemen, zoals een aparte partitie voor data aan een map in het basisbestandssysteem te koppelen, en aan die partitie geen driveletter meer toe te kennen. Standaard is dat echter niet, en het kan tot verwarring leiden bij gebruikers en programma's die aan driveletters gewend zijn en daarop rekenen.
Mappenstructuur
Windows kent op de systeempartitie C: onder meer de volgende standaardmappen:
\Program Files
– voor 64-bit programma's
\Program Files (x86)
– voor 32-bit programma's
\ProgramData
– voor door alle gebruikers gedeelde programma-instellingen (verborgen)
\Users
– voor data van en programma-instellingen door gebruikers
\Windows
– voor het Windows systeem
Binnen \Program Files
en \Program Files (x86)
krijgt elk softwarepakket zijn eigen map, waarin alle bestanden van het pakket, zowel uitvoerbare bestanden, libraries als documentatie, zijn opgenomen. Binnen \ProgramData
krijgt elk programma zijn eigen map voor de gedeelde instellingen. Binnen \Users
krijgt elke gebruiker zijn eigen map, met daarnaast een map Default
met een standaardinvulling van een gebruikersmap, en een map Public
voor gegevensbestanden die voor alle gebruikers beschikbaar zijn.
Linux heeft een heel andere mappenstructuur. Een uitgebreide beschrijving daarvan vind je op deze website. In het basissysteem vind je de volgende mappen:
- Systeemmappen, te vergelijken met wat je op een Windows systeem onder
C:\Windows
vindt:
/boot
voor systeemstart (bootmanager),
/bin
, /sbin
en /lib
voor systeemprogramma's en -libraries, tegenwoordig meestal omgeleid naaren gemengd met /usr/bin
, /usr/sbin
resp. /usr/lib
,
/dev
, /proc
en /sys
voor virtuele bestanden (apparaten, processen e.d.),
/run
, /srv
, /tmp
en /var
voor sessiegerelateerde, tijdelijke en veranderlijke bestanden (databases, websites, log- en spoolbestanden, caches etc.),
waarin /var
te vergelijken is met de veranderlijke data in C:\ProgramData
in Windows,
/etc
voor configuratiebestanden, te vergelijken met de systeemregistry in Windows, maar hier is het allemaal leesbaar.
- Koppelmappen, te vergelijken met extra driveletters in Windows:
/media
voor verwisselbare opslagmedia, zoals DVD's en USB sticks,
/mnt
voor tijdelijk aankoppelen van andere bestandssystemen.
- Gebruikerstoepassingen, te vergelijken met "
C:\Program Files
" en C:\ProgramData
in Windows:
/usr
voor centraal (door pakketbeheer) geïnstalleerde toepassingen , waarin /usr/share
te vergelijken is met de vaste data in C:\ProgramData
in Windows,
/usr/local
voor lokaal (zelf) geïnstalleerde toepassingen, met eenzelfde mapstructuur als /usr
,
/opt
voor optionele softwarepakketten en add-ons, met per pakket een eigen map, zoals in "C:\Program Files
" in Windows.
- Gebruikersdata, te vergelijken met
C:\Users
in Windows:
/root
voor de systeembeheerder ("root", die in Windows Administrator is)
/home
voor alle andere gebruikers, met per gebruiker een eigen map.
In tegenstelling tot Windows wordt in Linux elk programmapakket functioneel gesplitst: uitvoerbare bestanden komen in /bin
en /usr/bin
, libraries in /lib
en /usr/lib
, algemene configuratie in /etc
, en documentatie etc. in /usr/share
. Voor sommige pakketten wordt /opt
gebruikt, met daarin net als in Windows per pakket een eigen map.
Apparaat-, proces- en systeemdatabestanden
In tegenstelling tot Windows is in Linux alles een bestand: ook apparaten en dynamische proces- en systeemdata worden als bestand weergegeven, in resp. de mappen /dev
, /proc
en /sys
. Dit zijn virtuele bestanden die op geen enkele schijf voorkomen.
Uitvoerbare bestanden
In Windows worden uitvoerbare bestanden gekenmerkt door enkele speciale extensies: “bat
” voor een batch bestand met opdrachten, “exe
” voor een gewoon programma en “msi
” voor een Microsoft installatiebestand.
In Linux worden uitvoerbare bestanden onderscheiden door een speciaal attribuut voor uitvoerbaar, aangeduid met de letter “x”, dat naast de attributen voor leesbaar (“r”) en schrijfbaar (“w”) bestaat. Een bestand kan als uitvoerbaar worden aangemerkt met de opdracht chmod
(change mode).
Een map heeft normaliter altijd het attribuut voor uitvoerbaar. Het houdt in dat de map en zijn inhoud toegankelijk zijn. Een niet uitvoerbare map is niet toegankelijk.
Namen van mappen en bestanden
In Windows maakt het niet uit of je in een naam hoofd- of kleine letters gebruikt. In Linux daarentegen worden hoofd- en kleine letters als verschillende tekens beschouwd. Zo zijn de namen zwaan.jpg
, zwaan.JPG
en ZWAAN.JPG
verschillend en kunnen naast elkaar bestaan. Net zo is Firefox
iets anders dan firefox
.
In Windows worden de namen van de mappen in een pad naar een bestand gewoonlijk gescheiden door een achterwaartse schuine streep (slash), bijvoorbeeld
"C:\Program Files\Mozilla Firefox\firefox.exe
”. In Linux daarentegen worden ze, net als op het internet, gescheiden door een voorwaartse slash, bijvoorbeeld /usr/bin/firefox
.
Overigens kun je in Windows 10 in bepaalde gevallen ook voorwaartse in plaats van achterwaartse slashes gebruiken. Probeer het maar eens!
Softwareconfiguratie en -data
In Windows maakt de meeste software voor de opslag van zijn configuratie, zowel de door alle gebruikers gedeelde instellingen als de instellingen per gebruiker, gebruik van het register (registry). Het register wordt in verschillende bestanden opgeslagen:
- gedeelde instellingen in bestanden in de map
C:\Windows\System32\config
,
- instellingen per gebruiker in het bestand
NTUSER.DAT
in zijn gebruikersmap.
Programmadata worden in Windows op de volgende lokaties in bestanden opgeslagen:
- gedeelde programmadata in de map
C:\ProgramData
,
- programmadata voor een gebruiker in de map
AppData
in zijn gebruikersmap, dus in C:\Users\<gebruikersnaam>\AppData
.
In Linux wordt de configuratie van de software opgeslagen in voornamelijk lees- en schrijfbare tekstbestanden, die naar onderwerp dan wel programma zijn ingedeeld:
- door alle gebruikers gedeelde configuratie in de map
/etc
,
- configuratie per gebruiker in zijn thuismap
/home/<gebruikersnaam>
. In dit geval zijn de configuratiebestanden en -mappen verborgen door de naam met een punt te laten beginnen. Veel programma's slaan hun gebruikersconfiguratie niet direct in de thuismap op maar in de map .config
daaronder, dus in /home/<gebruikersnaam>/.config
.
Programmadata worden in Linux op de volgende lokaties in bestanden opgeslagen:
- vaste gedeelde data in
/usr/share
, en variabele gedeelde data in /var
.
- data per gebruiker, net als de dito configuratie, in verborgen mappen en bestanden in de thuismap van de gebruiker. Veel programma's slaan hun gebruikersdata niet direct in de thuismap op maar in de map
.local
daaronder, dus in /home/<gebruikersnaam>/.local
.
Veiligheid en backup
In Linux wordt je in tegenstelling tot Windows gedwongen als gewone gebruiker te werken in plaats van als beheerder (Administrator in Windows, root in Linux). Beheerstaken kunnen pas worden uitgevoerd na een wachtwoord te hebben gegeven. Ook in Windows kan dit zo worden geregeld: maak een apart account aan voor een Administrator, dus een gebruiker met beheerdersrechten, en maak daarna van jezelf een standaardgebruiker. Helaas is dit niet standaard.
Virussen en malware zijn er voor Linux vrijwel niet. Bij normaal gebruik is anti-virus en anti-malware software niet nodig, maar beslist wel als Linux wordt gebruikt als file- of mailserver voor Windows gebruikers.
Om op allerlei onheil voorbereid te zijn is een backup van systeem en data onontbeerlijk. De inhoud van een draaiend Linux systeem kan gemakkelijk naar een backup medium worden gekopieerd, terwijl Windows daar speciale backup software voor nodig heeft. Oorzaak is dat Windows allerlei systeembestanden open houdt, zodat ze niet toegankelijk zijn voor andere doeleinden. Linux doet dat niet. Dat is er ook de oorzaak van dat Windows na een update vaak opnieuw moet worden opgestart, terwijl dat in Linux eigenlijk alleen maar na een kernel-update nodig is.
Tot slot
Ik hoop dat het bovenstaande je geholpen heeft om Linux, misschien zonder dat je het al gebruikt, alvast wat beter te leren kennen.
Oorspronkelijk verschenen in SoftwareBus 2020-2.