← FAQ
FAQ

Pakketten

FAQ › EUZOS Server › Pakketten · English

Wat is het?

Wat een EUZOS Server doet, bepalen zijn pakketten. Een pakket is een rol (code in de EUZOS Server-kernel, aangezet met een configuratiebestand in \EOS\FW\) of een app (een ondertekend pakket uit de appcatalogus van de profielserver, geïnstalleerd in apps/ op partitie 2). Alle pakketten staan in één lijst, euzos_install::server::PACKAGES; het installatieprogramma en de opdracht packages tonen die lijst vanzelf.

Nu af: Werkplekbeheer (werkplek), de lokale EUZOS-werkplekserver, beheerd met Server Admin; de Pakketcache (cache), die daarbovenop apps (zoals Chromium) levert aan de pc's in het netwerk (Pakketcache); de Bestandsserver (files): gedeelde mappen voor de EUZOS-pc's, zie Bestandsserver; de Webserver (web): statische sites en een reverse proxy met certificaten van Let's Encrypt (zie Webserver); en Back-up (backup): versleutelde back-ups van de pc's op de server (Back-up). Een later pakket staat er als "Binnenkort" tot het af is.

IdTitelSoortStand
werkplekWerkplekbeheerrol (WORKPLC.TXT)beschikbaar, standaard aan in het installatieprogramma
webWebserverrol (WEB.TXT)beschikbaar, standaard uit; poorten 80 en 443 (Webserver)
filesBestandsserverrol (FILES.TXT, poort 8447)beschikbaar, standaard uit in het installatieprogramma; heeft Werkplekbeheer nodig (Bestandsserver)
backupBack-uprol (BACKUP.TXT)beschikbaar, standaard uit in het installatieprogramma; poort 8448; zie Back-up
dnsDNSrol (DNS.TXT)beschikbaar, standaard uit; UDP en TCP 53, alleen LAN (DNS)
cachePakketcacherol (CACHE.TXT), heeft Werkplekbeheer nodigbeschikbaar, standaard aan in het installatieprogramma; zie Pakketcache

Hoe doe ik…?

Hoe zie ik welke pakketten aan staan?

packages op de console, of Pakketten (serveradmin <server> packages) in Server Admin. De console toont elk pakket met zijn soort en stand: aan (met de naam), uit (uitgezet met Server Admin), niet ingericht, of binnenkort.

Hoe richt ik Werkplekbeheer in na de installatie?

Het installatieprogramma doet het als je het pakket gekozen hebt. Met de hand: workplace setup [naam] schrijft WORKPLC.TXT (role=workplace, de naam) en maakt de sleutels WPKEY.TXT en WPTLS.TXT; het overschrijft nooit bestaande bestanden. Herstart daarna, en registreer de werkplekserver op de profielserver (workplace toont de publieke sleutel om te registreren; zie Organisaties).

Hoe zet ik een pakket aan of uit?

Met Server Admin op een EUZOS-pc:

serveradmin <server> packages
serveradmin <server> package-on <id>
serveradmin <server> package-off <id>           toont wat er gaat gebeuren
serveradmin <server> package-off <id> confirm   en doet het
  • Uitzetten vraagt om bevestiging (de server weigert het zonder, confirmation_needed) en sluit de poorten van het pakket in de firewall (Werkplekbeheer: de cachepoort 8445). Een regel die ook het beheerprotocol toelaat, blijft staan en wordt gemeld. Werkplekbeheer uit betekent: geen cache (de cachepoort weigert), maar aanmelden en beheer blijven, zodat het weer aan kan. Wordt bewaard als package=off in WORKPLC.TXT (het oude pakket=uit wordt nog gelezen).
  • Aanzetten opent de firewall niet; het antwoord noemt de regel om te openen: firewall-open allow tcp 8445 lan.
  • Pakketten die binnenkort komen, kunnen niet aan (pakket_binnenkort).
  • Elke wijziging gaat in het logboek van de server (log in Server Admin): wie, vanaf welke pc, en wat er met de firewall gebeurde.

Hoe laat ik de server nu aanmelden en de cache vullen?

workplace now op de console (of fill in Server Admin). Normaal meldt de server zich elke 30 minuten aan bij de profielserver en kijkt hij in de catalogus naar nieuwe appversies.

Hoe zie ik de stand van de werkplekserver?

workplace (of workplace status): rol, poort en apps, of het pakket uit staat, organisatie of registratiecode uit het installatieprogramma, de publieke sleutel en de vingerafdruk, de TLS-pin, het LAN-adres, de stand van het aanmelden, de laatste melding, de inhoud van de cache en het verkeer.

Waarom komt een rol alleen met een nieuwe release?

Er is geen modulelader: rolcode tijdens het draaien laden zou het aanvalsoppervlak vergroten. Een rol komt met een nieuwe ondertekende EUZOS Server-release (fetch/install). Wat geen kernelrechten nodig heeft, kan een app uit de catalogus zijn, zoals Server Admin en Chromium, apart bij te werken.

Details

Werkplekbeheer (de werkplekserver)

Als \EOS\FW\WORKPLC.TXT role=workplace zegt (oud rol=werkplek; de waarde werkplek wordt ook geaccepteerd) en de server vanaf zijn interne schijf start, start crate::packages::start de rol (crate::workplace::start): geen inlogscherm en geen bureaublad, maar de console, het netwerk, NTP en:

  • aanmelden bij de profielserver uit PROFILE.TXT met de werkpleksleutel (WPKEY.TXT, Ed25519): een uitdaging, dan een ondertekend bericht (EUZOS-werkplek-aanmelden-v1); elke 30 minuten opnieuw (eerder na een fout). Dat levert een werkplektoken, de publieke downloadsleutel en de organisatie op; de profielserver leert het LAN-adres en de TLS-pin.
  • de cache vullen: elke app uit apps= in WORKPLC.TXT (standaard chromium) wordt met dezelfde code als op een pc opgehaald in apps/ op partitie 2 (handtekening, versie, SHA-256, blokhash), met een downloadtoken dat via het werkplektoken wordt verkregen. Niet als Werkplekbeheer of de Pakketcache uit staat; quotum, LRU en vullen op aanvraag: Pakketcache.
  • een HTTPS-server op de cachepoort (standaard 8445; TLS 1.3 met de P-256-sleutel uit WPTLS.TXT; de pc pint de sleutel) die GET|HEAD /<app>/<versie>/<bestand> levert met het downloadtoken van de pc en één Range. Hoogstens 16 verbindingen tegelijk, 4 per adres.
  • het beheerprotocol op TCP 8446 voor Server Admin (zie Server Admin).

Geheimen (sleutels, tokens) komen nooit in het logboek. Het logboek bewaart de laatste 200 regels.

Naslag

Consoleopdrachten

OpdrachtArgumentenWat het doet
packages–de serverpakketten, soort (rol/app), beschrijving en stand. Oude aliassen: pakketten, pakket-lijst
workplace– of statusde stand van de werkplekserver (status_text)
workplace setup[naam]schrijf WORKPLC.TXT en maak WPKEY.TXT / WPTLS.TXT (bestaande blijven); in een testbuild met draaiende sshd ook dev-ssh=yes. Oude alias: inrichten
workplace now–meld zo dadelijk aan en controleer de cache (alleen als de rol draait). Oude alias: nu

werkplek is de oude alias van workplace. Op het bureaublad antwoorden workplace en packages "only in EUZOS Server".

Functies en modules

OnderdeelRol
euzos_install::server::PACKAGES, Package, Kind::{Role, App}de pakketlijst; can_enable, ports, default_on
euzos_install::server::filesde bestanden van de gekozen pakketten voor het installatieprogramma (rolbestanden met role=<id>, PACKAGES.TXT voor apps)
crate::packages::startbij starten vanaf de SSD: de ingerichte rollen starten
crate::packages::stateaan, uit, niet-ingericht, binnenkort
crate::packages::textde lijst voor Server Admin
crate::packages::setaan/uit vanuit Server Admin; sluit poorten via crate::net::firewall::close_ports
crate::packages::commandde consoleopdracht packages
crate::workplace::{role, start, command, set_package, package_on, cache_port}de rol Werkplekbeheer
crate::workplace::sign_in, fill, listen, serve, respondaanmelden, de cache vullen, de HTTPS-server
euzos_workplace::role::{read, write, Role}WORKPLC.TXT lezen/schrijven
euzos_workplace::login::Loginhet ondertekende aanmeldbericht
euzos_workplace::token::checkeen downloadtoken controleren op de cachepoort

Configuratiebestanden

BestandSleutelWaardenBetekenis
\EOS\FW\WORKPLC.TXT (oude naam WERKPLEK.TXT, wordt nog gelezen)role (oud rol)workplace (oud werkplek)zonder deze sleutel is de machine een gewone pc
name (oud naam)tekst ≤ 64 tekensde naam (standaard EUZOS Server)
port (oud poort)≥ 1024de cachepoort (standaard 8445)
appskommalijst, ≤ 4 namen (a–z, 0–9, -, 1–8 tekens)apps in de cache (standaard chromium)
address (oud adres)IPv4het LAN-adres voor de pc's (standaard: het eigen adres van de server)
dev-ssh (oud ontwikkel-ssh)yes (oud ja)alleen testbuild: SSH tijdens de ontwikkeling
organization (oud organisatie)tekstde organisatie uit het installatieprogramma (een hint; de profielserver beslist)
registration-code (oud registratiecode)4–32 letters, cijfers, -registratiecode uit het installatieprogramma (koppelen met een code is gepland)
package (oud pakket)off (oud uit)het pakket is uitgezet met Server Admin
\EOS\FW\WPKEY.TXT–64 hexEd25519-seed van de werkpleksleutel (geheim)
\EOS\FW\WPTLS.TXT–64 hexP-256-sleutel voor TLS (geheim)
\EOS\FW\PACKAGES.TXT (voor 27-10-2026 geschreven als PAKKETTEN.TXT)appskommalijstapppakketten om na de eerste start op te halen; nog niets leest het (er is nog geen apppakket voor de server: gepland)

EUZOS schrijft de Engelse sleutels en waarden en leest de oude Nederlandse nog (een Nederlandse sleutel en de Engelse tellen als dezelfde sleutel).

API-eindpunten

Aangeroepen door de werkplekserver op de profielserver (details in API); de kernel gebruikt de oude paden:

MethodeEngels padOud pad (nu in gebruik)Doel
POST/api/workplace/v1/challenge/api/werkplek/v1/uitdagingeen uitdaging halen (sleutel=<publieke sleutel>)
POST/api/workplace/v1/sign-in/api/werkplek/v1/aanmeldenhet ondertekende aanmeldbericht
POST/api/workplace/v1/download-token/api/werkplek/v1/downloadtokeneen downloadtoken om de cache te vullen

Geleverd door de werkplekserver op de cachepoort (standaard 8445):

MethodePadVerzoekAntwoord
GET, HEAD/<app>/<versie>/<APP>.APPAuthorization: Bearer <downloadtoken>, optioneel Rangede appbeschrijving (text/plain)
GET, HEAD/<app>/<versie>/<APP>.APP.sigidemde handtekening
GET, HEAD/<app>/<versie>/<pakketbestand>idemhet pakket; 200, 206 (bereik) of 416

Fouten: 404 not_in_cache (die versie staat niet in de cache), 404 pad (onbekend bestand), 503 klok (geen klok), en de tokenfouten van euzos_workplace::token.

Protocolberichten en formaten

  • Aanmeldbericht (EUZOS-werkplek-aanmelden-v1), regels omgeving=, server=, sleutel=, uitdaging=, tijd=, lan= (https://<IPv4>:<poort>/), tls= (SHA-256 van de SPKI), naam=, dan handtekening= (Ed25519 over <soort>\0 + alles vóór die regel).
  • Downloadtoken: ezdl1.<kid>.<app>.<versie>.<exp>.<jti>.<account>.<handtekening>, Ed25519 over EUZOS-downloadtoken-v1\0 + alles vóór de laatste punt; hoogstens 2 uur geldig (+5 minuten speling).
  • Pakketlijst voor Server Admin (packages::text): één regel per pakket pakket=<id>\t<titel>\t<stand>\t<beschrijving>, stand aan, uit, niet-ingericht of binnenkort.
  • Redencodes van packages::set: pakket_onbekend, pakket_binnenkort, confirmation_needed, package_not_installed, geen_rol.

Deze veldnamen, standen en codes zijn draadformaat en blijven Nederlands.

Zie ook