Ga naar inhoud

Besturingssystemen S1 — Cheatsheet

Samenvatting op basis van het cursusmateriaal 2024–2025


Inhoudstafel


Computerarchitectuur

Onderdeel Functie Let op
CPU Voert instructies uit Socket moet bij moederbord passen
RAM Snel, vluchtig werkgeheugen Type, snelheid en capaciteit moeten ondersteund zijn
Moederbord Verbindt alle componenten Socket, chipset, vormfactor en uitbreidingssloten
SSD/HDD Permanente opslag NVMe is doorgaans sneller dan SATA
GPU Beeldverwerking en parallelle berekeningen Vermogen, formaat en voeding
PSU Levert gelijkspanning Genoeg watt, juiste connectoren en kwaliteitsmarge
Koeling Voert warmte af Past bij socket, kast en TDP

Een goede configuratie vertrekt van het doel, het budget en de gewenste levensduur. Controleer compatibiliteit en voorzie ruimte voor uitbreiding; een dure CPU met een te zwakke GPU of voeding is geen evenwichtig systeem.

Dimensioneren

Kies niet uitsluitend op piekprestaties. Betrouwbaarheid, energieverbruik, koeling, uitbreidbaarheid en totale kost zijn even belangrijk.


Linux en het filesysteem

Linux gebruikt één hiërarchische directoryboom met / als root.

Pad Betekenis
/home Persoonlijke directories
/root Home van root
/etc Systeemconfiguratie
/var Variabele data zoals logs en caches
/tmp Tijdelijke bestanden
/bin, /usr/bin Programma's
/dev Devices als bestanden
/proc, /sys Virtuele info over kernel en hardware
/mnt, /media Mountpunten
pwd                       # huidige directory
ls -lah                   # lijst, inclusief verborgen bestanden
cd /etc                   # absoluut pad
cd ../..                  # relatief pad
mkdir -p project/data     # directories inclusief ouders
touch bestand.txt
cp -r bron doel
mv oud nieuw
rm bestand.txt
find /var/log -type f -name '*.log'
file bestand
Symbool Betekenis
. huidige directory
.. bovenliggende directory
~ home directory
* nul of meer tekens
? precies één teken
[abc] één teken uit de reeks

Verwijderen

rm kent geen prullenbak. Controleer pad en wildcard vóór rm -r of rm -f.

ln origineel hardlink
ln -s /pad/naar/doel symlink
  • Hardlink: extra naam voor dezelfde inode; meestal niet over filesystems heen.
  • Symbolische link: bevat een pad en kan naar directories of een ander filesystem wijzen; kan gebroken raken.

Tekstcommando's, redirection en pipes

cat bestand.txt
less bestand.txt
head -n 10 bestand.txt
tail -f /var/log/syslog
wc -l bestand.txt
sort bestand.txt | uniq -c
cut -d: -f1 /etc/passwd
grep -iE 'error|warning' app.log
tr 'a-z' 'A-Z'
Operator Werking
> stdout overschrijven
>> stdout toevoegen
2> stderr overschrijven
2>&1 stderr naar dezelfde bestemming als stdout
< stdin uit bestand
\| stdout van links wordt stdin van rechts
grep -i 'failed' /var/log/auth.log | sort | uniq -c > failed.txt
command >output.log 2>error.log
command >alles.log 2>&1

Pipe is datastroom

Een pipe geeft tekst/data door, niet de naam van het bestand. Elk commando moet de output produceren die het volgende commando verwacht.


SSH, archieven en compressie

ssh user@server
ssh -p 2222 user@server
scp bestand user@server:/tmp/
scp -r map user@server:/tmp/

Sleutelauthenticatie

ssh-keygen -t ed25519
ssh-copy-id user@server
ssh user@server

De private sleutel blijft geheim; de publieke sleutel komt op de server in ~/.ssh/authorized_keys.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

tar en compressie

tar -cvf archief.tar map/       # maken
tar -tvf archief.tar            # tonen
tar -xvf archief.tar            # uitpakken
tar -czvf archief.tar.gz map/   # gzip
tar -cjvf archief.tar.bz2 map/  # bzip2
tar -cJvf archief.tar.xz map/   # xz

tar bundelt bestanden; gzip/bzip2/xz comprimeren de bundel.


Processen, jobs en environment

ps aux
pgrep -a ssh
top                         # interactief procesoverzicht
command &                   # achtergrondproces
jobs
fg %1
bg %1
kill PID                    # SIGTERM: netjes stoppen
kill -9 PID                 # SIGKILL: laatste redmiddel
Begrip Betekenis
Programma/binary Uitvoerbaar bestand op schijf
Proces Actieve instantie met PID
Parent/child Proces dat een ander proces start
Foreground Gebruikt huidige terminal
Background Terminal blijft beschikbaar

Scripts en variabelen

#!/usr/bin/env bash
name="Johan"
echo "Hallo $name"
echo "$PATH"
export APP_ENV=production
chmod +x script.sh
./script.sh

Gebruik dubbele quotes rond expansies ("$bestand") om spaties en wildcards veilig te behandelen. $? bevat de exitcode van het vorige commando: 0 betekent succes.


Gebruikers en rechten

id
whoami
getent passwd gebruiker
sudo useradd -m alice
sudo passwd alice
sudo usermod -aG developers alice
sudo groupadd developers
sudo userdel -r alice

Een regel in /etc/passwd bevat:

naam:x:UID:GID:comment:home:shell

Wachtwoordhashes staan afgeschermd in /etc/shadow.

rwx-rechten

Recht Bestand Directory
r (4) inhoud lezen namen oplijsten
w (2) inhoud wijzigen entries maken/verwijderen
x (1) uitvoeren directory betreden/traverseren
ls -l bestand
chmod 640 bestand             # eigenaar rw, groep r, others niets
chmod u+x script.sh
chown alice:developers bestand
umask 027

Speciale bits

Bit Effect
setuid Proces gebruikt effectieve UID van bestandseigenaar
setgid Op directory erven nieuwe bestanden de groep
sticky bit Alleen eigenaar/root mag eigen entries verwijderen
chmod 2770 gedeeld/            # setgid
chmod 1777 /gedeelde-tmp       # sticky bit

Least privilege

Gebruik sudo voor gerichte beheertaken. Werken als root vergroot de impact van elke fout.


Partities, filesystems en LVM

lsblk -f
sudo fdisk -l
sudo blkid
df -hT
du -sh /var/*
mount | column -t

Stappen voor klassieke opslag:

disk → partitietabel → partitie → filesystem → mountpoint
sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /data
sudo mount /dev/sdb1 /data

Maak permanente mounts via UUID in /etc/fstab en test vóór reboot:

UUID=<uuid>  /data  ext4  defaults  0  2
sudo mount -a

LVM

Physical Volume (PV) → Volume Group (VG) → Logical Volume (LV) → filesystem
sudo pvcreate /dev/sdb1
sudo vgcreate vgdata /dev/sdb1
sudo lvcreate -L 10G -n lvdata vgdata
sudo mkfs.ext4 /dev/vgdata/lvdata

sudo lvextend -L +5G -r /dev/vgdata/lvdata
pvs; vgs; lvs

-r vergroot samen met het logical volume ook het filesystem. Zonder die stap blijft de extra ruimte onbruikbaar voor het filesystem.


Netwerken

ip address
ip link
ip route
ping -c 4 8.8.8.8
ping -c 4 example.com
ss -tulpn
resolvectl status
Test Als deze faalt
ping 127.0.0.1 lokale TCP/IP-stack
ping eigen-IP interface/configuratie
ping gateway lokaal netwerk/VLAN
ping 8.8.8.8 routing/internet
ping example.com DNS als IP wel werkt

Een hostconfiguratie vereist minstens IP-adres/prefix, default gateway en DNS-server. Een /24 komt overeen met masker 255.255.255.0.


Linux installeren

  1. Maak een VM met voldoende CPU, RAM en schijfruimte.
  2. Koppel de correcte ISO en kies de juiste firmware/bootvolgorde.
  3. Stel taal, toetsenbord, tijdzone, hostname, gebruikers en storage in.
  4. Installeer een bootloader en verwijder na installatie de ISO.
  5. Update het systeem, installeer guest tools en controleer netwerk/DNS.
  6. Maak pas een snapshot wanneer de basisinstallatie correct en schoon is.
sudo apt update && sudo apt upgrade       # Debian/Ubuntu
sudo dnf upgrade                          # Fedora/RHEL-familie
hostnamectl
timedatectl

Snelle probleemaanpak

  1. Lees de volledige foutmelding.
  2. Controleer context: gebruiker, huidig pad, rechten en exitcode.
  3. Bekijk status en logs.
  4. Test van lokaal naar extern en van eenvoudig naar complex.
  5. Wijzig één zaak tegelijk en documenteer het resultaat.