← FAQ
FAQ

Pakketcache

FAQ › EUZOS Server › Pakketcache · English

Wat is het?

De Pakketcache (pakket-id cache) is een lokale kopie van download.euzos.eu binnen het bedrijf. De EUZOS Server downloadt apps (zoals Chromium, 411 MiB) één keer en levert ze aan de EUZOS-pc's in het LAN; later ook EUZOS-updates. 50 pc's halen Chromium dan één keer over internet in plaats van 50 keer, en installeren gaat op LAN-snelheid.

Hij draait bovenop Werkplekbeheer: dezelfde HTTPS-server op TCP-poort 8445, dezelfde sleutels en aanmelding bij de profielserver. De cache levert alleen als beide pakketten aan staan. Ontwerp en dreigingsmodel: docs/PACKAGE-CACHE.md.

Hoe doe ik…?

Hoe zet ik de pakketcache aan?

Het installatieprogramma zet hem standaard aan (stap Pakketten). Op een server die vóór 27-10-2026 is geïnstalleerd, of na uitzetten:

serveradmin <server> package-on cache
serveradmin <server> firewall-open allow tcp 8445 lan

package-on cache schrijft \EOS\FW\CACHE.TXT als die ontbreekt en begint met vullen. De firewall blijft dicht tot je poort 8445 voor het LAN opent.

Hoe zie ik wat er in de cache zit?

serveradmin <server> cache (of workplace op de console van de server): de stand, het gebruik (gebruikt, quotum, vak), en per app de versie, de grootte, vooraf gehaald of op aanvraag, het laatste gebruik, het aantal verzoeken en de geleverde bytes; daarna de wachtrij en de laatste melding van het vullen.

Hoe maak ik de cache leeg?

serveradmin <server> cache-clear            laat zien wat er gebeurt
serveradmin <server> cache-clear confirm    en doet het

Alle apps worden verwijderd. De pc's halen bij download.euzos.eu tot de volgende ronde (elke 30 minuten, of serveradmin <server> fill) de vooraf gehaalde apps weer heeft gevuld.

Hoe kies ik welke apps vooraf worden gehaald?

serveradmin <server> apps chromium,srvadmin (bewaard als apps= in WORKPLC.TXT). Andere apps worden op aanvraag gevuld: de eerste pc die er met een geldig downloadtoken om vraagt, krijgt "niet in de cache" en valt terug op download.euzos.eu; de server haalt hem dan, en de volgende pc krijgt hem uit de cache.

Hoe vindt een pc de cache?

  1. De appcatalogus van de profielserver noemt de cache (werkplek=https://<LAN-IP>:8445/, werkplek-tls=<pin>) als de pc vraagt vanaf hetzelfde publieke adres als de server.
  2. Werkt dat niet (meerdere vestigingen achter één NAT, een VPN), zet dan \EOS\FW\PKGCACHE.TXT op de pc:
   url=https://<lan-address>:8445/
   tls=<de tls-pin die 'workplace' op de server toont>
  1. Later: mDNS in het lokale netwerk.

Antwoordt de cache niet of klopt er iets niet, dan gaat de pc gewoon verder bij download.euzos.eu.

Kan een gehackte cache pc's een slechte Chromium geven?

Nee. Elk bestand is ondertekend door EUZOS; de pc controleert zelf de handtekening, de versie (niet ouder dan eerder), de grootte, de SHA-256 en de blokhash, precies zoals bij download.euzos.eu. Een slechte cache kan een download alleen laten mislukken; de pc valt dan terug.

Wie mag uit de cache downloaden?

Alleen een pc met een geldig downloadtoken van de profielserver (een ingelogde pc; één app en versie, 2 uur). De cache controleert het token zelf, met de publieke sleutel die hij bij elke aanmelding krijgt. Bekend gat: ingetrokken tokens kent de cache nog niet; ze verlopen binnen 2 uur.

Details

  • Opslag (MVP): het apps/-vak op partitie 2 (2 GiB, hooguit 4 apps). quota-mib= in CACHE.TXT beperkt het verder.
  • LRU-opruimen: past een nieuwe app of versie niet, dan verwijdert de cache eerst apps die op aanvraag zijn gevuld, de langst niet gebruikte eerst, daarna vooraf gehaalde; nooit de app die gevuld wordt. Past hij helemaal niet: too_large in het logboek.
  • Nieuwe versies: elke ronde vergelijkt de versie in de catalogus met die in de cache en haalt een nieuwe versie op de achtergrond; de oude blijft geleverd tot de nieuwe compleet is.
  • Hervatten: een onderbroken download gaat met Range verder bij dezelfde bron (206 Content-Range).
  • Uit: package-off cache confirm sluit poort 8445 in de firewall en de poort weigert verbindingen; de inhoud blijft. Werkplekbeheer uit stopt de cache ook.

Naslag

Server Admin

OpdrachtWat
package-on cacheinrichten (CACHE.TXT) en aanzetten
package-off cache [confirm]uitzetten; sluit 8445
cachegebruik en inhoud
cache-clear [confirm]de cache legen (actie op de lijn cache-clear, argument bevestig)
fillnu aanmelden en vullen
apps <a,b>de vooraf gehaalde apps

Redencodes: needs_workplace (Werkplekbeheer is niet ingericht), package_not_installed (een niet-ingerichte cache uitzetten), confirmation_needed.

Configuratiebestanden

BestandSleutelWaardenBetekenis
\EOS\FW\CACHE.TXT (server)rolecachezonder is het pakket niet ingericht
quota-mib0 – 1048576het quotum in MiB; 0: het hele vak
on-demandyes / noeen app vullen na een misser met een geldig token
packageoffuitgezet met Server Admin
\EOS\FW\PKGCACHE.TXT (pc)urlhttps://<IPv4>:<poort>/de cache in dit netwerk
tls64 hexSHA-256 van de SPKI van de server (de TLS-pin)

HTTP op poort 8445

GET|HEAD /<app>/<versie>/<bestand> met Authorization: Bearer ezdl1.… en hooguit één Range. Bestanden: <NAAM>.APP, <NAAM>.APP.sig, het pakket. 200 / 206 / 416; 401 geen_token, handtekening, verlopen; 403 ander_pad; 404 not_in_cache (en op aanvraag in de wachtrij), pad, beschadigd (de opgeslagen beschrijving klopt niet); 503 klok.

Code

OnderdeelRol
euzos_pkgcache::configCACHE.TXT lezen/schrijven
euzos_pkgcache::lru::{plan, report}quotum, opruimplan, gebruiksoverzicht
euzos_pkgcache::serve::decidetoken + inhoud → leveren / weigeren / misser
euzos_pkgcache::verifyde end-to-end-controles (handtekening van de beschrijving, SHA-256 van het pakket)
euzos_pkgcache::hintPKGCACHE.TXT, spiegel-URL's
crate::pkgcache (kernel/src/server/cache.rs)stand, aan/uit, vulronde, statistiek, cache-clear
crate::workplace::respondde HTTPS-server op 8445
app_store::install_catalogpc-kant: eerst de cache, dan de URL's uit de catalogus

Zie ook