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.
| Id | Titel | Soort | Stand |
|---|---|---|---|
werkplek | Werkplekbeheer | rol (WORKPLC.TXT) | beschikbaar, standaard aan in het installatieprogramma |
web | Webserver | rol (WEB.TXT) | beschikbaar, standaard uit; poorten 80 en 443 (Webserver) |
files | Bestandsserver | rol (FILES.TXT, poort 8447) | beschikbaar, standaard uit in het installatieprogramma; heeft Werkplekbeheer nodig (Bestandsserver) |
backup | Back-up | rol (BACKUP.TXT) | beschikbaar, standaard uit in het installatieprogramma; poort 8448; zie Back-up |
dns | DNS | rol (DNS.TXT) | beschikbaar, standaard uit; UDP en TCP 53, alleen LAN (DNS) |
cache | Pakketcache | rol (CACHE.TXT), heeft Werkplekbeheer nodig | beschikbaar, 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 alspackage=offinWORKPLC.TXT(het oudepakket=uitwordt 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 (
login 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.TXTmet 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=inWORKPLC.TXT(standaardchromium) wordt met dezelfde code als op een pc opgehaald inapps/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) dieGET|HEAD /<app>/<versie>/<bestand>levert met het downloadtoken van de pc en éénRange. 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
| Opdracht | Argumenten | Wat het doet |
|---|---|---|
packages | – | de serverpakketten, soort (rol/app), beschrijving en stand. Oude aliassen: pakketten, pakket-lijst |
workplace | – of status | de 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
| Onderdeel | Rol |
|---|---|
euzos_install::server::PACKAGES, Package, Kind::{Role, App} | de pakketlijst; can_enable, ports, default_on |
euzos_install::server::files | de bestanden van de gekozen pakketten voor het installatieprogramma (rolbestanden met role=<id>, PACKAGES.TXT voor apps) |
crate::packages::start | bij starten vanaf de SSD: de ingerichte rollen starten |
crate::packages::state | aan, uit, niet-ingericht, binnenkort |
crate::packages::text | de lijst voor Server Admin |
crate::packages::set | aan/uit vanuit Server Admin; sluit poorten via crate::net::firewall::close_ports |
crate::packages::command | de consoleopdracht packages |
crate::workplace::{role, start, command, set_package, package_on, cache_port} | de rol Werkplekbeheer |
crate::workplace::sign_in, fill, listen, serve, respond | aanmelden, de cache vullen, de HTTPS-server |
euzos_workplace::role::{read, write, Role} | WORKPLC.TXT lezen/schrijven |
euzos_workplace::login::Login | het ondertekende aanmeldbericht |
euzos_workplace::token::check | een downloadtoken controleren op de cachepoort |
Configuratiebestanden
| Bestand | Sleutel | Waarden | Betekenis |
|---|---|---|---|
\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 tekens | de naam (standaard EUZOS Server) | |
port (oud poort) | ≥ 1024 | de cachepoort (standaard 8445) | |
apps | kommalijst, ≤ 4 namen (a–z, 0–9, -, 1–8 tekens) | apps in de cache (standaard chromium) | |
address (oud adres) | IPv4 | het 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) | tekst | de 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 hex | Ed25519-seed van de werkpleksleutel (geheim) |
\EOS\FW\WPTLS.TXT | – | 64 hex | P-256-sleutel voor TLS (geheim) |
\EOS\FW\PACKAGES.TXT (voor 27-10-2026 geschreven als PAKKETTEN.TXT) | apps | kommalijst | apppakketten 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:
| Methode | Engels pad | Oud pad (nu in gebruik) | Doel |
|---|---|---|---|
| POST | /api/workplace/v1/challenge | /api/werkplek/v1/uitdaging | een uitdaging halen (sleutel=<publieke sleutel>) |
| POST | /api/workplace/v1/sign-in | /api/werkplek/v1/aanmelden | het ondertekende aanmeldbericht |
| POST | /api/workplace/v1/download-token | /api/werkplek/v1/downloadtoken | een downloadtoken om de cache te vullen |
Geleverd door de werkplekserver op de cachepoort (standaard 8445):
| Methode | Pad | Verzoek | Antwoord |
|---|---|---|---|
| GET, HEAD | /<app>/<versie>/<APP>.APP | Authorization: Bearer <downloadtoken>, optioneel Range | de appbeschrijving (text/plain) |
| GET, HEAD | /<app>/<versie>/<APP>.APP.sig | idem | de handtekening |
| GET, HEAD | /<app>/<versie>/<pakketbestand> | idem | het 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), regelsomgeving=,server=,sleutel=,uitdaging=,tijd=,lan=(https://<IPv4>:<poort>/),tls=(SHA-256 van de SPKI),naam=, danhandtekening=(Ed25519 over<soort>\0+ alles vóór die regel). - Downloadtoken:
ezdl1.<kid>.<app>.<versie>.<exp>.<jti>.<account>.<handtekening>, Ed25519 overEUZOS-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 pakketpakket=<id>\t<titel>\t<stand>\t<beschrijving>, standaan,uit,niet-ingerichtofbinnenkort. - 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
- docs/EDITIONS.md ("Server packages: the model")
- docs/WORKPLACE.md
- docs/WORKPLACE-PROTOCOL.md
- docs/DOWNLOADSERVER.md
- Server Admin, Apps en downloads
EUZOS