Debian

Fehlerhafter Kernel in Debian 12.3

10. Dezember 2023 · Betriebssysteme · andreas · 2 Kommentare

Gestern wurde die Verteilung von Debian 12.3 gestoppt. Grund dafür ist ein Fehler im Kernel 6.1.64-1, der zur Beschädigung von Daten auf ext4-Dateisystemen führen kann.

Debian 12.3 image release delayed

December 9th, 2023

Due to an issue in the ext4 file system with data corruption in kernel 6.1.64-1, we are pausing the planned Debian 12.3 point release images for today while we attend to fixes.

Please do not upgrade any systems at this time, we urge caution for users with UnattendedUpgrades configured.

Genauere Informationen gibt es im Debian Bug-Report “linux: ext4 data corruption in 6.1.64-1

Sofern die Systeme nach der Aktualisierung des Kernels noch nicht neu gestartet wurden, war der fehlerhafte Kernel auch noch nicht aktiv und es wird weiterhin der Vorgänger benutzt:

$ uname -a
Linux *** 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux

Es ist noch der Kernel 6.1.55-1 vom 29. September (Debian Paket 6.1.0-13) aktiv, welcher den Fehler nicht enthält.

$ apt list --installed | grep linux-image

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-image-5.10.0-26-amd64/now 5.10.197-1 amd64 [Installiert,lokal]
linux-image-6.1.0-13-amd64/stable,now 6.1.55-1 amd64 [Installiert,automatisch]
linux-image-6.1.0-14-amd64/stable,now 6.1.64-1 amd64 [Installiert,automatisch]
linux-image-amd64/stable,now 6.1.64-1 amd64 [installiert]

Der fehlerhafte Kernel ist installiert und würde beim nächsten Systemstart verwendet werden. Das fehlerhafte Kernel-Paket wird deinstalliert, so daß auf jeden Fall sichergestellt ist, daß bei einem Neustart weiterhin der Kernel 6.1.55-1 verwendet wird.

$ sudo apt remove linux-image-6.1.0-14-amd64
...
Die folgenden Pakete werden ENTFERNT:
linux-image-6.1.0-14-amd64 linux-image-amd64
...

Soweit im Debian Forum zu lesen, schlägt ein Versuch, die Kernel-Installationsdatei “linux-signed-amd64/linux-image-6.1.0-14-amd64_6.1.64-1_amd64.deb” herunterzuladen mit einen “403 Forbidden”-Fehler fehl, so daß der fehlerhafte Kernel auch nicht mehr heruntergeladen werden kann.


Debian 12 "Bookworm" sources.list

7. Juli 2023 · Betriebssysteme · andreas · Kein Kommentar

Als Copy & Paste-Vorlage …

#deb cdrom:[Debian GNU/Linux 12.0.0 _Bookworm_ - Official amd64 NETINST with firmware 20230610-10:21]/ bookworm main non-free-firmware

deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware

# bookworm-backports, previously on backports.debian.org
deb http://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

Debian 12 “sources.list” mit non-free, non-free-firmware sowie backports aktiviert.


GRUB stellt Hintergrundbild nicht dar

23. Februar 2023 · Betriebssysteme · andreas · Kein Kommentar

Während auf anderen Geräten das GRUB-Menü in dem von Debian vorgesehenen Standard-Theme erstrahlte, wurde auf einem frisch installierten Laptop nur die Fallback-Darstellung in Cyan auf blauem Hintergrund gewählt:

GRUB Menu

Funktional ist dies zwar keine Einschränkung, aber die Neugier war geweckt und das “Warum?” wollte gelöst werden. Die Ausgabe von “update-grub” sah vollkommen normal aus, die Einbindung des Hintergrundbildes wurde auch explizit angezeigt:

$ sudo update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
...
done

Nachdem die in GRUB eingebauten Videotests alle erfolgreich waren und auch der Plymouth-Bootsplash wie erwartet angezeigt wurde, musste das Problem an einer anderen Stelle liegen - und so war es auch.

Den entscheidenden Hinweis lieferte der Debiag Bug Report #945404 “grub2-common: ‘/boot/grub/.background_cache.png’ is not created on LUKS encrypted system”: die Datenpartition des Laptops ist verschlüsselt und bei der Überprüfung des Hintergrundbildes erkennt das zuständige Skript nicht, daß beim Booten auf das Bild nicht mehr zugegriffen werden kann. Als möglicher Verursacher wurde Zeile 100 der Datei “/etc/grub.d/05_debian_theme” benannt:

It looks like the command ‘if is_path_readable_by_grub “${1}”; then’ in line 100 in ‘/etc/grub.d/05_debian_theme’ always returns “true”, and therefore ‘/boot/grub/.background_cache.png’ is never created. [Quelle]

“is_path_readable_by_grub” scheint entweder gar nicht zu funktionieren oder im konkreten Fall ein falsches Ergebnis zurückzuliefern.

	# Step #5: Check if GRUB can read the background image directly.
	# If so, we can remove the cache file (if any). Otherwise the background
	# image needs to be cached under /boot/grub/.
	if is_path_readable_by_grub "${1}"; then
		rm --force "${BACKGROUND_CACHE}.jpeg" \
			"${BACKGROUND_CACHE}.png" "${BACKGROUND_CACHE}.tga"
	elif cp "${1}" "${BACKGROUND_CACHE}.${reader}"; then
		set -- "${BACKGROUND_CACHE}.${reader}" "${2}" "${3}"
	else
		return 5
	fi

Als einfacher Test bzw. Workround wurde das Ergebnis der Abfrage durch “false” ersetzt

	if false; then

und die Konfigurationsdatei neu erzeugt:

$ sudo update-grub
Generating grub configuration file ...
Found background image: .background_cache.png
...
done

Nun wurde - wie erzwungen - davon ausgegangen, daß das Hintergrundbild zum Zeitpunkt des Bootens nicht lesbar sein würde und deshalb eine Kopie in einem für GRUB zugreifbaren Bereich erstellt.

Beim nächsten Bootvorgang wurde das GRUB-Menü dann auch mit Theme dargestellt. Ein vielleicht schönerer Workaround als die direkte Änderung der Datei “/etc/grub.d/05_debian_theme” ist im oben genannte Bug Report ebenfalls dargestellt.


Kernel aus Backports installieren

21. Juli 2022 · Betriebssysteme · andreas · Kein Kommentar

Je nach verwendeter Hardware fehlt mit ein bißchen Pech im Kernel der Debian-Stable-Version altersbedingt die Unterstützung für einige Hardware-Komponenten.

Das aktuelle Debian Bullseye verwendet standardmäßig den Kernel 5.10

$ uname -a
Linux *** 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux

Glücklicherweise gibt es als einfache und Distributions-konforme Lösung für solche Fälle das Backports-Repository:

Backports are packages taken from the next Debian release (called “testing”), adjusted and recompiled for usage on Debian stable. Because the package is also present in the next Debian release, you can easily upgrade your stable+backports system once the next Debian release comes out. [Quelle]

Die Backports bieten die Möglichkeit, mit Hilfe der gewohnten Paketverwaltung - sofern bereitgestellt - auf eine neuere Version eines Pakets zu aktualisieren, ohne dabei ein Franken-Debian zu erschaffen.

Als erstes müssen, sofern dies nicht bei der Installation des Systems bereits angewählt wurde, die Backports in der Datei “/etc/apt/sources.list” ergänzt werden:

# bullseye-backports, previously on backports.debian.org
deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-backports main contrib non-free

Dann kann man sich nach einem “apt update” auf die Suche nach einem passenden Kernel machen:

$ sudo apt search linux-image
Sortierung… Fertig
Volltextsuche… Fertig
...
linux-image-5.10.0-11-amd64/stable-security 5.10.92-2 amd64
Linux 5.10 for 64-bit PCs (signed)
...
linux-image-5.18.0-0.bpo.1-amd64/bullseye-backports 5.18.2-1~bpo11+1 amd64
Linux 5.18 for 64-bit PCs (signed)
...

In der Liste werden alle Kernel-Versionen angezeigt, die installiert werden können, i.d.R. ist die Version mit möglichst wenigen Zusätzen im Namen die richtige:

$ sudo apt install linux-image-5.18.0-0.bpo.1-amd64/bullseye-backports
...
Version »5.18.2-1~bpo11+1« (Debian Backports:bullseye-backports [amd64]) für »linux-image-5.18.0-0.bpo.1-amd64« gewählt.
...
Die folgenden NEUEN Pakete werden installiert:
  linux-image-5.18.0-0.bpo.1-amd64
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Nach erfolgreicher Installation reicht ein Neustart, um mit dem aktualisierten Kernel zu starten.

$ uname -a
Linux *** 5.18.0-0.bpo.1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.18.2-1~bpo11+1 (2022-06-14) x86_64 GNU/Linux

Im GRUB-Menü kann jederzeit wieder der bisher verwendete Kernel gestartet werden und falls der neue Kernel wieder entfernt werden soll, reicht ein einfaches “sudo apt purge …”, um die Installation rückgängig zu machen.


Debian 11, GNOME und RDP: Oh no! Something has gone wrong

27. Mai 2022 · Betriebssysteme · andreas · Kein Kommentar

Während eine RDP-Verbindung zum GNOME-Desktop mit Debian 10 problemlos funktionierte, wurde nach einem Upgrade auf Debian 11 jeder Verbindungsversuch mit “Leider ist ein Problem aufgetreten.” beendet:

Die Problematik ist sowohl auf Github unter “On Debian 11 upgraded install I get “Oh no! Something has gone wrong.” when connecting.” als auch in dem Debian Bug Report “xRDP connection results in Oh No ! something has gone wrong..Logout when Gnome Desktop used” dokumentiert, die Ursache liegt wohl in einem Fehler in der von Debian 11 ausgelieferten “xorgxrdp-0.2.12”-Version.

Da es aktuell kein fehlerbereinigtes Paket in den Standard-Paketquellen gibt, kann behelfsweise ein Paket von https://snapshot.debian.org/ verwendet werden. Die im oben genannten Github-Thread vorgeschlagenen Paketversionen “xorgxrdp_0.2.15-1_amd64.deb” sowie “xrdp_0.9.15-1_amd64.deb” laufen nach manueller Installation ohne weitere Abhängigkeiten in der Debian 11-Umgebung und ermöglichen wieder einen Zugriff auf den GNOME-Desktop mit RDP:

$ wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xorgxrdp/xorgxrdp_0.2.15-1_amd64.deb
...

$ wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xrdp/xrdp_0.9.15-1_amd64.deb
...

$ sudo apt install ./xorgxrdp_0.2.15-1_amd64.deb 
...
Die folgenden Pakete werden aktualisiert (Upgrade):
  xorgxrdp
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
...

$ sudo apt install ./xrdp_0.9.15-1_amd64.deb 
...
Die folgenden Pakete werden aktualisiert (Upgrade):
  xrdp
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
...