Archives for the month of: Februar, 2021

Der Schulversuch der Technischen Universität Dresden unter dem Titel “Universitätsschule Dresden” läuft nun schon seit zwei Jahren mit Schülern. Aktuell ist die Schule an der Cämmerswalder Straße untergebracht, in einem Plattenbau aus den 80er Jahren mit dem dazugehörigen “Charm”. Schon lange vor dem eigentlichen Schulbetrieb war klar, dass diese Forschungsprojekt deutlich mehr Raum benötigt, als der alte Bau bieten kann. Spätestens ab dem vierten Jahr würde man einen Neubau, mindestens aber einen Erweiterungsbau brauchen. Die Planungen für ein dem Versuch gerecht werdendes Lernhaus verlaufen äußerst schleppend. Seit neuestem klafft außerdem eine deutliche Lücke im Budget zwischen Wollen und Benötigen beim Träger der Schule, der Stadt Dresden.

Deswegen möchten vor allem die Eltern und alle Unterstützer des Schulversuches ein deutliches Zeichen für den Schulversuch setzen und haben eine Spendenseite eingerichtet:

Million-Pixel Bild

Million-Pixelbild für das Lernhaus der Universitätsschule Dresden

Es kann für kleine Pixelflächen gespendet werden, die nach und nach das Bild zur Schule der Zukunft aufdecken. Ich hoffe sehr auf rege Beteiligung und ein deutliches Zeichen an die Stadt Dresden aber auch mehr mediale Aufmerksamkeit für diesen Schulversuch.

Wie das Lernen auch heute schon anderes als in einem Klassenzimmer stattfinden kann – auch in einem Lernhaus – kann man sich in der ZDF-Sendung plan b angucken: Zwischen Wald und WLAN.

(swg)

Ob automatische Updates ein Segen oder der Fluch sind, hängt meistens von der Erfahrung ab, die man damit so gemacht hat. Wenn alles hübsch leise und reibungslos im Hintergrund und ohne eigenes Zutun läuft, kurz: automatisch, supi. Dagegen wird sich der ein oder andere an Windows 7 und davor erinnern, wenn einen die Kiste nach der Mittagspause frisch gebootet mit dem Login Screen anfeixt. Selbstredend hat man irgendwas nicht gespeichert gehabt und die ganze schöne Arbeit ist dem Elektro-Äther entfleucht. Und das nur, weil man nicht da war um ‘Nein, verdammte Scheiße, jetzt nicht neu booten!!1!’ zu klicken. Aber das sind nun alles Opas Geschichten aus dem Krieg, sogar Windows ist diszipliniert worden.

unbeaufsichtigte Upgrades

Weil man(n) sich natürlich nicht ständig aktiv um den eigenen Elektrozoo kümmern kann, bin ich ein großer Freund von dieser Automagie. Auf dem Raspi, der meine Nextcloud beherbergt, sind deswegen “unnattended upgrades” installiert und aktiviert. Das bewerkstelligt man recht einfach mit einem apt install unattended upgrades und schon wird täglich wenigstens nach Sicherheitsupdates geguckt und der Kram gegebenenfalls installiert.

Nicht!

Gerade ist der Shit mit sudo passiert, was ich zum Anlass genommen habe, mal meiner Cloud-Installation hinterher zu gucken.

Unattended Upgrades hatte ich schon früher mal installert. Ein kurzes sudo apt install unattended-upgrades spült sie auf die Platte SD-Karte. Konfigurieren sollte man es noch: sudo dpkg-reconfigure -plow unattended-upgrades Und? Geht’s? Mit Aptitude kurz nachgeguckt, ob da Updates anstehen: ja. Also ein kleiner Trockenlauf: sudo unattended-upgrades –dry-run. Wie? da soll nichts sein?! Funktioniert also nicht!

Woran liegt’s?

Die Konfiguration sollte zwei Dateien angelegt haben, in der ersten gucken wir nach: sudo nano /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "1";
APT::Periodic::Verbose "2";

Soweit scheint alles ok, wichtig sind hier die zweite und dritte Zeile. In der zweiten Zeile, wie oft apt-get update automatisch ausgeführt werden soll. Die „1“ steht in dem Fall für „jeden Tag“, „0“ würde diese Automatik abschalten. Die dritte Zeile bestimmt, wie oft ein „upgrade“ automatisch vorgenommen werden soll.

Werfen wir einen Blick in die andere Datei, da wird festgelegt, was genau aktualisiert werden soll (Auszug): sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Origins-Pattern {
// Codename based matching:
// This will follow the migration of a release through different
// archives (e.g. from testing to stable and later oldstable).
// Software will be the latest available for the named release,
// but the Debian release itself will not be automatically upgraded.
"origin=Debian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";

// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
// "o=Debian,a=stable";
// "o=Debian,a=stable-updates";
// "o=Debian,a=proposed-updates";
// "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
};

Hm “Debian”? Nennt sich das hier nicht “Raspbian”? Genau! In den voreingestellten Repositories ist die Herkunft der Pakete nicht mit Debian bezeichnet. Für “Debian” gibt es also auch keine Updates oder Upgrades!

Reparieren

Es müssen ein paar Zeilen ergänzt werden, über die Zeit gab es verschiedene Benamsungen. Ich will meine Hand nicht dafür ins Feuer legen, dass folgende schon alle sind:

Unattended-Upgrade::Origins-Pattern {
// Codename based matching:
// This will follow the migration of a release through different
// archives (e.g. from testing to stable and later oldstable).
// Software will be the latest available for the named release,
// but the Debian release itself will not be automatically upgraded.
"origin=Debian,codename=${distro_codename}-updates";
"origin=Raspbian,codename=${distro_codename}-updates";
// "origin=Debian,codename=${distro_codename}-proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian-Security";

// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
// "o=Debian,a=stable";
// "o=Debian,a=stable-updates";
// "o=Debian,a=proposed-updates";
// "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
};

Glücklich sein

Testet man jetzt den Trockenlauf mit sudo unattended-upgrades –dry-run, kann man im log /var/log/unattended-upgrades/unattended-upgrades.log sehen, dass sich auch was tut.

(swg)