PuavoWeb ist die schulextern gehostete Komponente
von Puavo
PuavoOS das Betriebssystem der Puavo-Clients an der
Schule
Beide Komponenten sind freie Software (GPLv2) und von der Codebasis und im
Aufbau voneinander unabhängig.
PuavoWeb
PuavoWeb
ist ein gehosteter Dienst mit Web-Frontend bestehend aus mehreren
Datenbanken:
Benutzerverwaltung
Geräteverwaltung
PuavoOS-Client-Konfiguration
Diese Datenbanken werden von den PuavoOs-Clients zur Benutzer- und
Clientauthentifizierung und zur Client-Konfiguration benutzt.
Alle PuavoOS-Clients sind deshalb über's Internet über eine ReST-Schnittstelle im ständigen
Kontakt mit PuavoWeb. Sie komunizieren verschlüsselt über ein VPN und übertagen (bis auf den
Benutzernamen) nie personenbezogene Daten
Das WWW ist ein Informations-Dienst für Menschen. ReST ist das
Gleiche, jedoch für Maschinen. Ein Client stellt Anfragen wie "Hallo
ReST: ich bin ein PuavoClient und ich heisse Anton. Sende mir bitte
meine Systemeinstellungen". Darauf sendet ReST diese an den Client und
dieser kann sich entsprechend konfigurieren.
PuavoUser bietet auch ein Single Sign-On für andere
Web-Dienste an.
PuavoWeb ist bezüglich der Nutzerdaten (z.B. in /home/*
auf den Lerngeräten) vollständig agnostisch: Es werden, mit Ausnahme
vom Benutzernamen, keine personenbezogenen Daten gespeichert oder
verarbeitet.
Wenn beim Einrichten der Benutzer Nicks (statt Klarnamen) verwendet
werden, dann werden gar keine personenbezogenen Daten mehr
übermittelt.
Ein Überblick auf Organisationstruktur und das Web-Backend:
PuavoOS
PuavoOS
ist ein auf Debian basierte Adaption. Im speziellen sind folgende Erweiterungen enthalten
Vollstädiges Image- und Update-Handling (Entwicklung, Herstellung, Verteilung und
Aktualisierung)
Die automatische Konfiguration aller Clients mittels PuavoWeb
Erweitertes und vorkonfiguriertes Desktop
Es unterstützt eine Vielzahl an PuavOS-Client-Typen:
Geräte für Endbenutzer: Puavo-Lerngeräte
Geräte für schulinterne Dienste: PuavoBox
Geräte um PuavoOS zu bauen und an PuavoOS-Clients zuverteilen: PuavoImage
Alle PuavoOS-Clients
werden mit dem identischen "all in one" PuavoOS betrieben
werden (von PuavoWeb über ReST) automatisch konfiguriert
aktualisieren (von PuavoImage über https) automatisch das
installierte PuavoOS im laufenden (Normal-)Betrieb
PuavoOS ist universell: Es gibt eine einzige
PuavoOS-Version für alle Client-Typen und für alle beliebigen
Hersteller, Marken und Modelle.
PuovoOS ist vollständig: Es stellt alles "aus einem Guss"
zur Verfügung, was an der Schule benötigt wird.
PuavoOS ist rekursiv: Es kann sich selber herstellen,
modifzieren und verteilen.
PuavoOS-Images
Alle vier bis sechs Wochen werden neue Puavo Images erstellt. Diese enthalten
Neue Features, Verbesserungen und Fehlerbereinigungen am PuavoOS
Neue Programme und Aktualisierugen bestehender Programme.
Zur Verteilung von PuavoOS und für dessen Installation auf den Clients
wird ein Laufwerk-Abbild resp. Image des PuavoOS auf dem komprimierenden
Squash-Filesystem
benutzt.
Die Image-Datei ist auf einem per Design nicht beschreibbaren
Filesystem. Dadurch kann das verwendete Image (bei der Nutzung)
unmöglich verändert werden.
Jeder PuavoOS-Client läuft daher immer auf einem "frisch
installiertem" Betriebssystem.
Das das Image immer gepackt vorliegt und "live" entpackt wird, werden Daten vom Image mit der doppelten
physikalischen Lesegeschwindigkeit eingelesen
Alle Clients, auch Laptops und PuavoBoxen, werden mit dem identischen LTSP Netboot-Image (ltsp.org) gestartet. Hier wird erklärt, wie Laptops mit einem Netboot-Image benutzt werden können.
Die Grösse des Image beträgt komprimiert etwa 12-17 GByte.
Damit bei einer Aktualisierung der Images weniger Trafic verursacht
wird, werden nur die Differenzen zur Vorgängerversion übertragen. Die
Grösse einer solchen differentiellen Aktualisierung ist zwischen 0.2-3
Gbyte.
Konfiguration von
PuavoOS-Clients
PuavoOS-Clients sind vollständig befreit von jeglicher
(Software-)Wartung und jeglicher Konfiguration.
Es können an PuavoOS-Clients keine System-Einstellungen vorgenommen
werden. Alle Einstellungen werden im Web-Backend von PuavoWeb
gemacht.
PuavoOS-Clients holen beim Booten und danach jede Stunde (von
PuavoWeb über PuavoReST) ihre aktuelle Konfiguration und wenden diese
dann auf das sich an.
Eine Aktualisierung der Konfiguration benötigt etwa 2-4 KByte Traffic.
Ein laufender Client erzeugt durchschnittlich also etwa 10Byte/s
externen Traffic.
Falls der Client keinen Internetzugang funktioniert alles mit den
aktuellen Einstellungen weiter.
Aktualisierung des PuavOS
Wenn PuavOS festellt, dass ein Update des PuavoOS vorliegt, beginnt es
damit das Image der neuen Version von Image-Dienst herunter zu laden:
Falls auf dem Image-Dienst eine passende Differenzen-Datei zwischen
einem bereits installierten Image und dem Neuen gefunden wird, dann
wird die Differenzen-Datei herunter geladen und das neue Image wird
dann aus dem Vorhandenen und der Differenzen-Datei gepatcht.
Wenn keine passenden Differenzen-Datei gefunden wurde, wird das
Image als Ganzes heruntergeladen.
Falls sich der Client in der Schule befindet wird dabei kein
externer Traffic in's Internet erzeugt, denn die PuavoBox
wird als Image-Dienst verwendet.
Sobald die neue Version vollständig heruntergeladen/gepatcht und
kryptographisch verifiziert (md5sum) ist, wird sie als default
Boot-OS festgelegt.
Die kryptographische Verifizierung gegen die vom PuavoImage
ursprünglich generierte Version schliesst jeden Fehler beim
Aktualisieren des PuavoOS aus.
Beim nächsten Bootvorgang wird das akualisierte PuavoOS gestartet.
Diese Art der Aktualisierung ist atomisch: Das ganze
PuavoOS wird mit einem einzigen "unteilbaren Schritt", dem
Bootprozess, vollständig ersetzt.
Die Aktualisierung des PuavoOs passiert im Hintergrund über das WLAN
während des normalen Schulbetriebs.
Um eine typische Aktualiserung vollständig durchzuführen muss ein
Laptop etwa eine Stunde (mit WLAN-Verbindung) eingeschaltet sein. Ein
Login ist nicht nötig.
Ein PuavoOS-Client kann während einer laufenden Aktualisierung ohne
Probleme jederzeit abgeschaltet werden. Beim nächsten Start wird die
unterbrochene Aktualisierung an der Abbruchstelle fortgesetzt.
Jeder PuavoOS-Client hat immer zwei PuavoOS-Versionen "vorrätig". Er
bietet neben der aktuellen PuavoOS-Version immer noch die vorherige
Version als Backup an.
Der atomische Update mit einem kryptographisch geprüften Image führt zusammen mit dem Backup-Image
zu einem praktisch "unkapputbaren" Updateprozess.
PuavoOS-Clients
Puavo-Lerngeräte
Aus Benutzersicht verhält sich jedes PuavOS-Lerngerät wie eine ganz
gewöhnliche
mit einem angepasstem Gnome3-Desktop
einem erweiterten Angebot an Software
ausgetattete standard Debian-Installation. Die Benutzerdaten werden,
wieder wie jedem gewöhnlichen Installation, in lokalen Profilen
permanent gespeichert.
Diese lokalen Profile werden von PuavoOS in nie "angefasst", so
werden z.B. keine Profile synchronisiert oder anderweitig bearbeitet.
Falls das Lerngerät mit einer PuavoBox verbunden ist, werden jedem
Benutzer automatisch zusätzlich persönliche und geteilte Netzlaufwerke
angeboten.
Bei einem geteilten Laptop, welcher von mehreren SuS gemeinsam
benutzt wird, sind diese Netzlaufwerke der standard Speicherort. So
kann jeder SuS eine angefange Arbeit auf jedem beliebigen anderen
Laptop weiter berabeiten.
PuavoBox
PuavoClients können
in jeder beliebigen Netzwerkumgebung, also auch z.B. bei den SuS zuhause benutzt, aktualisiert und
konfiguriert werden. Eine PuavoBox ist für den Betrieb von PuavoClients nicht erforderlich.
An Schulen ist die Benutzung einer PuavoBox jedoch sinnvoll, denn sie
minimiert den Internet-Traffic, indem sie Klone der Clouddienste
(PuavoReST, PuavoImage) lokal (in der Schule) hostet.
schützt und konfiguriert das lokale Netzwerk (firewall, dhcp, dns,
...)
ermöglicht den Gebrauch von virtuellen (Netboot-)Clients
stellt lokal persönliche und geteilte (SMB-)Netzlaufwerke zur
Verfügung.
stellt einen CUPS-Druckerdienst zur Verfügung.
Dank der PuavoBox kann Puavo problemlos mit einer Internetverbindung
mit 1MBit/s Download und 0.1MBit Upload betrieben werden.
Puavo funktioniert aber auch ganz ohne Internetverbindung. Ohne
Verbindung können einfach keine neuen Einstellungen von PuavoWeb
übernommen werden.
Die PuavoBox ist ein ganz gewöhnlicher Puavo-Client, welcher
statt eines Desktop lokale Netzwerkdienste anbietet. Sie benutzt das
identische PuavoOS wie die Benutzerendgeräte und ist, ebenso wie
diese, vollständig (Software-)Wartungs- und Konfigurationsfrei.
Die PuavoBox ist kein Server.
PuavoImage
Ein PuavoImage-Client kann PuavoOS Images "from scratch" bauen und diese sich
selbst(!) und allen anderen Clients über das Internet zur Verfügung stellen.
PuavoImage-Clients sind normalerweise nicht an der Schule, sondern in
einem externen Datacenter.
Datensicherung
Eine Datensicherung darf nie am selben Ort wie die zu sichernden
Daten abgelegt werden. Die Datensicherung verletzt daher "vorsätzlich"
das Paradigma von Puavo, dass keine personenbezogenen Daten die Schule
verlassen.
Die Datensicherung ist ein eigenständiger Dienst, sie ist vollständig
unabhängig von PuavoWeb und PuavoOS.
Es ist ohne Probleme möglich einen anderen Backup-Dienst (eines
Drittanbieters) zu verwenden.
Sie beinhalted eine tägliche Sicherung der Daten auf der PuavoBox
gespeicherten Daten und dient dazu bei einem Ausfall der PuavoBox diese
wieder zu rekonstruieren.
Der Backup-Dienst sichert nur die auf der PuavoBox liegenden
Daten der persönlichen und geteilten Netzlaufwerke.
Der Backup-Dienst sichert nicht die lokalen Profile
der Lerngeräte!
PuavoOS synchronisiert keine lokale Benuzterprofile
der Lerngeräte auf die PuavoBox. Der Benuzter ist verantwortlich die
zu sichernden Daten händisch auf sein Netzlaufwerk
zu kopieren.
Puavo in a Nutshell
Einleitung
Puavo besteht aus nur zwei Komponenten:
Beide Komponenten sind freie Software (GPLv2) und von der Codebasis und im Aufbau voneinander unabhängig.
PuavoWeb
PuavoWeb ist ein gehosteter Dienst mit Web-Frontend bestehend aus mehreren Datenbanken:
Diese Datenbanken werden von den PuavoOs-Clients zur Benutzer- und Clientauthentifizierung und zur Client-Konfiguration benutzt.
Alle PuavoOS-Clients sind deshalb über's Internet über eine ReST-Schnittstelle im ständigen Kontakt mit PuavoWeb. Sie komunizieren verschlüsselt über ein VPN und übertagen (bis auf den Benutzernamen) nie personenbezogene Daten
Das WWW ist ein Informations-Dienst für Menschen. ReST ist das Gleiche, jedoch für Maschinen. Ein Client stellt Anfragen wie "Hallo ReST: ich bin ein PuavoClient und ich heisse Anton. Sende mir bitte meine Systemeinstellungen". Darauf sendet ReST diese an den Client und dieser kann sich entsprechend konfigurieren.
PuavoUser bietet auch ein Single Sign-On für andere Web-Dienste an.
PuavoWeb ist bezüglich der Nutzerdaten (z.B. in
/home/*
auf den Lerngeräten) vollständig agnostisch: Es werden, mit Ausnahme vom Benutzernamen, keine personenbezogenen Daten gespeichert oder verarbeitet.Wenn beim Einrichten der Benutzer Nicks (statt Klarnamen) verwendet werden, dann werden gar keine personenbezogenen Daten mehr übermittelt.
Ein Überblick auf Organisationstruktur und das Web-Backend:
PuavoOS
PuavoOS ist ein auf Debian basierte Adaption. Im speziellen sind folgende Erweiterungen enthalten
Es unterstützt eine Vielzahl an PuavOS-Client-Typen:
Alle PuavoOS-Clients
PuavoOS ist universell: Es gibt eine einzige PuavoOS-Version für alle Client-Typen und für alle beliebigen Hersteller, Marken und Modelle.
PuovoOS ist vollständig: Es stellt alles "aus einem Guss" zur Verfügung, was an der Schule benötigt wird.
PuavoOS ist rekursiv: Es kann sich selber herstellen, modifzieren und verteilen.
PuavoOS-Images
Alle vier bis sechs Wochen werden neue Puavo Images erstellt. Diese enthalten
Zur Verteilung von PuavoOS und für dessen Installation auf den Clients wird ein Laufwerk-Abbild resp. Image des PuavoOS auf dem komprimierenden Squash-Filesystem benutzt.
Alle Clients, auch Laptops und PuavoBoxen, werden mit dem identischen LTSP Netboot-Image (ltsp.org) gestartet. Hier wird erklärt, wie Laptops mit einem Netboot-Image benutzt werden können.
Die Grösse des Image beträgt komprimiert etwa 12-17 GByte.
Damit bei einer Aktualisierung der Images weniger Trafic verursacht wird, werden nur die Differenzen zur Vorgängerversion übertragen. Die Grösse einer solchen differentiellen Aktualisierung ist zwischen 0.2-3 Gbyte.
Konfiguration von PuavoOS-Clients
PuavoOS-Clients sind vollständig befreit von jeglicher (Software-)Wartung und jeglicher Konfiguration.
Es können an PuavoOS-Clients keine System-Einstellungen vorgenommen werden. Alle Einstellungen werden im Web-Backend von PuavoWeb gemacht.
PuavoOS-Clients holen beim Booten und danach jede Stunde (von PuavoWeb über PuavoReST) ihre aktuelle Konfiguration und wenden diese dann auf das sich an.
Eine Aktualisierung der Konfiguration benötigt etwa 2-4 KByte Traffic.
Ein laufender Client erzeugt durchschnittlich also etwa 10Byte/s externen Traffic.
Falls der Client keinen Internetzugang funktioniert alles mit den aktuellen Einstellungen weiter.
Aktualisierung des PuavOS
Wenn PuavOS festellt, dass ein Update des PuavoOS vorliegt, beginnt es damit das Image der neuen Version von Image-Dienst herunter zu laden:
Falls sich der Client in der Schule befindet wird dabei kein externer Traffic in's Internet erzeugt, denn die PuavoBox wird als Image-Dienst verwendet.
Sobald die neue Version vollständig heruntergeladen/gepatcht und kryptographisch verifiziert (md5sum) ist, wird sie als default Boot-OS festgelegt.
Die kryptographische Verifizierung gegen die vom PuavoImage ursprünglich generierte Version schliesst jeden Fehler beim Aktualisieren des PuavoOS aus.
Beim nächsten Bootvorgang wird das akualisierte PuavoOS gestartet.
Diese Art der Aktualisierung ist atomisch: Das ganze PuavoOS wird mit einem einzigen "unteilbaren Schritt", dem Bootprozess, vollständig ersetzt.
Die Aktualisierung des PuavoOs passiert im Hintergrund über das WLAN während des normalen Schulbetriebs.
Um eine typische Aktualiserung vollständig durchzuführen muss ein Laptop etwa eine Stunde (mit WLAN-Verbindung) eingeschaltet sein. Ein Login ist nicht nötig.
Ein PuavoOS-Client kann während einer laufenden Aktualisierung ohne Probleme jederzeit abgeschaltet werden. Beim nächsten Start wird die unterbrochene Aktualisierung an der Abbruchstelle fortgesetzt.
Jeder PuavoOS-Client hat immer zwei PuavoOS-Versionen "vorrätig". Er bietet neben der aktuellen PuavoOS-Version immer noch die vorherige Version als Backup an.
Der atomische Update mit einem kryptographisch geprüften Image führt zusammen mit dem Backup-Image zu einem praktisch "unkapputbaren" Updateprozess.
PuavoOS-Clients
Puavo-Lerngeräte
Aus Benutzersicht verhält sich jedes PuavOS-Lerngerät wie eine ganz gewöhnliche
ausgetattete standard Debian-Installation. Die Benutzerdaten werden, wieder wie jedem gewöhnlichen Installation, in lokalen Profilen permanent gespeichert.
Diese lokalen Profile werden von PuavoOS in nie "angefasst", so werden z.B. keine Profile synchronisiert oder anderweitig bearbeitet.
Falls das Lerngerät mit einer PuavoBox verbunden ist, werden jedem Benutzer automatisch zusätzlich persönliche und geteilte Netzlaufwerke angeboten.
Bei einem geteilten Laptop, welcher von mehreren SuS gemeinsam benutzt wird, sind diese Netzlaufwerke der standard Speicherort. So kann jeder SuS eine angefange Arbeit auf jedem beliebigen anderen Laptop weiter berabeiten.
PuavoBox
PuavoClients können in jeder beliebigen Netzwerkumgebung, also auch z.B. bei den SuS zuhause benutzt, aktualisiert und konfiguriert werden. Eine PuavoBox ist für den Betrieb von PuavoClients nicht erforderlich.
An Schulen ist die Benutzung einer PuavoBox jedoch sinnvoll, denn sie
Dank der PuavoBox kann Puavo problemlos mit einer Internetverbindung mit 1MBit/s Download und 0.1MBit Upload betrieben werden.
Puavo funktioniert aber auch ganz ohne Internetverbindung. Ohne Verbindung können einfach keine neuen Einstellungen von PuavoWeb übernommen werden.
Die PuavoBox ist ein ganz gewöhnlicher Puavo-Client, welcher statt eines Desktop lokale Netzwerkdienste anbietet. Sie benutzt das identische PuavoOS wie die Benutzerendgeräte und ist, ebenso wie diese, vollständig (Software-)Wartungs- und Konfigurationsfrei.
Die PuavoBox ist kein Server.
PuavoImage
Ein PuavoImage-Client kann PuavoOS Images "from scratch" bauen und diese sich selbst(!) und allen anderen Clients über das Internet zur Verfügung stellen.
PuavoImage-Clients sind normalerweise nicht an der Schule, sondern in einem externen Datacenter.
Datensicherung
Eine Datensicherung darf nie am selben Ort wie die zu sichernden Daten abgelegt werden. Die Datensicherung verletzt daher "vorsätzlich" das Paradigma von Puavo, dass keine personenbezogenen Daten die Schule verlassen.
Die Datensicherung ist ein eigenständiger Dienst, sie ist vollständig unabhängig von PuavoWeb und PuavoOS.
Es ist ohne Probleme möglich einen anderen Backup-Dienst (eines Drittanbieters) zu verwenden.
Sie beinhalted eine tägliche Sicherung der Daten auf der PuavoBox gespeicherten Daten und dient dazu bei einem Ausfall der PuavoBox diese wieder zu rekonstruieren.
Der Backup-Dienst sichert nur die auf der PuavoBox liegenden Daten der persönlichen und geteilten Netzlaufwerke.
Der Backup-Dienst sichert nicht die lokalen Profile der Lerngeräte!
PuavoOS synchronisiert keine lokale Benuzterprofile der Lerngeräte auf die PuavoBox. Der Benuzter ist verantwortlich die zu sichernden Daten händisch auf sein Netzlaufwerk zu kopieren.