Linux

Booting the system

Systeem processen

Leerdoelen

  • Hoe start een Linux systeem op
  • Hoe controlleren we de standaard processen
  • Werken met systemctl

Het bootproces

  1. BIOS/UEFI: Software op het moederbord
    • MBR → start de bootloader (GRUB)
  2. GRUB laadt en executeerd de kernel (linux)
  3. Kernel start de proces lader (init/systemd)
  4. systemd: Systeem processen worden gestart
  5. Eindigt met een login prompt

Boot-loaders

  • LILO - LInux LOader (oud)
  • GRUB - GRand Unified Bootloader (nieuw)
    • Kan naast Linux ook Windows opstarten
    • En andere besturingssystemen

De functies van Linux (kernel)

  • Hardware abstration SCI
  • Regelt verkeer van en naar de hardware
  • Verdeelt geheugen over processen (locatie)
  • Verdeelt de processorkracht (tijd)

Linux - Kernel

Processen

  1. Voorgrond processen
    • Commando’s en applicaties
  2. Achtergrond processen
    • Daemons (services)
      • Geen user input
      • Loggen naar system-logger

  • systemd is de opvolger van init
  • Is proces ID 1
  • Het kan services (daemons) parallel opstarten
  • Maakt daarbij gebruik van targets die gehaald moeten worden
    • Targets hebben afhankelijkheden (dependencies)
      • Dependencies bepalen de opstart volgorde

systemd - targets

Voorbeelden

  • Opstarten
    • rescue.target – Single-user mode zonder netwerk
    • multi-user.target – Multi-user mode met netwerk
    • graphical.target – Grafische omgeving
  • Stoppen
    • halt.target – Stop het systeem
    • poweroff.target – Stop het systeem en zet het uit
  • reboot.target – Herstart het systeem

Locatie

  • Bestanden in /usr/lib/systemd
  • Het vinden van de targets:
    find /usr/lib/systemd -name "*.target"
  • Het vinden van de services:
    find /usr/lib/systemd -name "*.service"

Wat gebeurt er tijdens het booten

  • Mounten van filesystems
  • Zetten van de systeem klok
  • Configureren van het netwerk
    • Ethernet, Bluetooth, WiFi
  • Koppelen van printer(s)
  • Aansturen van beeld en geluid
  • Opstarten van overige services

Werken met systemctl

systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2026-02-17 12:41:43 CET; 1 day 1h ago
 Invocation: 8d240ea8c6ce4394bc10d0d6dd970ed0
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 513 (systemd-timesyn)
     Status: "Contacted time server 193.123.56.220:123 (0.debian.pool.ntp.org)."
      Tasks: 2 (limit: 74026)
     Memory: 2.6M (peak: 3.6M)
        CPU: 447ms
     CGroup: /system.slice/systemd-timesyncd.service
             └─513 /usr/lib/systemd/systemd-timesyncd

Warning: some journal files were not opened due to insufficient permissions.

Werken met daemons/services

sudo systemctl list-units
  • Laat alle units zien
sudo systemctl start <daemon>
  • stop, restart, reload

SSH

Installeer de SSH-server

sudo apt-get install openssh-server

Speel met de status van de SSH-server

sudo systemctl status ssh
sudo systemctl stop ssh
sudo systemctl status ssh
sudo systemctl start ssh
sudo systemctl status ssh

SSH (2)

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: enabled)
     Active: active (running) since Mon 2026-02-23 08:31:55 CET; 2 weeks 0 days ago
 Invocation: b0ef6827822f4761b22baf0d64555073
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 1276 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 1305 (sshd)
      Tasks: 1 (limit: 74026)
     Memory: 5M (peak: 5.7M)
        CPU: 25ms
     CGroup: /system.slice/ssh.service
             └─1305 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Warning: some journal files were not opened due to insufficient permissions.
  • Wat doe de SSH-server?
  • Op welke poort draait de SSH-server?

Meer systemctl opties

systemctl -l --state active --type service
  • -l = list
  • --state = is de status: active
  • --type = type: service

Lists alle services die actief zijn.

Meer systemctl opties (2)

systemctl -l --state failed --type service
  • Vraagt op welke service niet goed is opgestart
  • Zou op jullie systeem niets moeten zijn
systemctl -l --state active --type target
  • Vraagt alle targets op van het huidige systeem

Samenvatting

  • We hebben gezien hoe een Linux systeem opstart
  • We hebben gezien dat systemd de basis is voor een Linux systeem
  • We hebben leren werken met systemctl om services te stoppen en starten