ubuntuusers.de

31. Oktober 2021

Kurz notiert: es gibt Situationen, in denen man Pfade auflösen, also relative Pfade in absolute umwandeln möchte. Für Anwender, die dabei Konstruktionen mit pwd und kompliziertes Parsing umgehen wollen, bietet sich realpath aus den GNU Coreutils an.

Die Bedienung ist denkbar einfach: realpath nimmt beliebig viele Pfade als Argumente auf und gibt die absoluten Pfade zeilenweise aus. Dabei werden standardmäßig auch Symlinks aufgelöst, sodass der „wahre“ Pfad, im Programmkontext auch physischer Pfad genannt, angezeigt wird.

Mit einigen Zusatzoptionen, die sich in der Manpage realpath(1) finden lassen, kann weiterhin das Verhalten angepasst werden. Hier sei zum Beispiel -e erwähnt, das einen strikteren Modus aktiviert und überprüft, ob das letzte Element im Pfad überhaupt existiert – stanardmäßig ist dies nicht der Fall. Mit -s kann die bereits beschriebene Auflösung von Symlinks deaktiviert werden.

Alles in allem, ein hilfreiches Werkzeug, besonders für Shellscripte. Der Quelltext von realpath ist auch überschaubar und beispielsweise auf GitHub zu finden.

2017 schrieb ich über die Einrichtung von DNSCrypt in Debian, mittlerweile nutze ich aber DNS-over-TLS (DoT) mit einem eigenen server. Sowohl auf Server-, als auch auf Client-Seite nutze ich knot-resolver.

Einrichtung

Server

Zuerst muss das Paket knot-resolver installiert werden:

apt install knot-resolver

Danach muss /etc/knot-resolver/kresd.conf editiert werden:

net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {
  'view',
  'hints > iterate',
  'serve_stale < cache',
  'workarounds < iterate'
}

Statt IP4 und IP6 muss natürlich die IP-Adresse eingegeben werden, auf der der server über DoT erreichbar sein soll. Ggf. muss man natürlich auch noch den Port 853 in der firewall für Zugriffe von Außen freigeben.

Anschließend aktiviert man den server folgendermaßen:

systemctl enable --now kresd@{1..4}.service

Zugriff auf TLS-Zertifkate

Ohne weitere Konfiguration benutzt kresd selbstsignierte Zertifikate für DoT. Ich habe auf meinem server bereits Zertifikate von Let’s Encrypt und möchte diese auch für DoT nutzen. Um die Zertifikate für kresd erreichbar zu machen habe ich ein kleines Skript geschrieben:

cp /etc/letsencrypt/live/mdosch.de/privkey.pem /var/lib/knot-resolver
cp /etc/letsencrypt/live/mdosch.de/fullchain.pem /var/lib/knot-resolver
chown -R knot-resolver:knot-resolver /var/lib/knot-resolver 
chmod 700 /var/lib/knot-resolver
systemctl restart kresd@{1..4}.service

Die Pfade der Zertifikate sind natürlich anzupassen und das Skript muss nach dem Speichern ausführbar gemacht werden:

chmod +x /pfad/zum/script.sh

Damit das Skript auch ausgeführt wird wenn certbot die Zertifikate erneuert, lasse ich es mittels --renew-hook aufrufen.

Nun muss die Konfiguration abgeändert werden (Zeile 1) damit kresd die Zertifikate auch nutzt:

net.tls("/var/lib/knot-resolver/fullchain.pem", "/var/lib/knot-resolver/privkey.pem")
net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {    
  'view',                   
  'hints > iterate',         
  'serve_stale < cache',     
  'workarounds < iterate'
}

Danach muss kresd neu gestart werden:

systemctl restart kresd@{1..4}.service

Werbung und Tracking filtern

Ich möchte Werbung und Tracking direkt auf DNS-Ebene blocken und nutze dafür die Blocklisten von hBlock. Wenn man das hBlock-repo klont und dort make hosts ausführt erhält man u.a. eine Datei hosts_rpz.txt im Ordner dist. Diese Datei kann kresd einlesen und die dort gelisteten hosts bei DNS-Abfragen blockieren. Die Konfiguration muss folgendermaßen angepasst werden (Zeilen 13 und 16):

net.tls("/var/lib/knot-resolver/fullchain.pem", "/var/lib/knot-resolver/privkey.pem")
net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {    
  'view',                   
  'hints > iterate',         
  'serve_stale < cache',     
  'workarounds < iterate',
  'policy'
}

policy.add(policy.rpz(policy.DENY, '/pfad/zu/hosts_rpz.txt'))

Danach muss kresd wieder neu gestart werden:

systemctl restart kresd@{1..4}.service

Rekursives Blocken

Einige Trackingfirmen nutzen für ihre Kunden subdomains um die üblichen Schutzmaßnahmen zu umgehen, z.B. zn0lxkzethotizctx-bahn.siteintercept.qualtrics.com. Um den Schutz vor Tracking zu verbessern kann man auch rekursiv alle subdomains der domains in der Blockliste sperren.

Mit Hilfe von hBlock kann man eine Blockliste erstellen, die über wildcards auch die Subdomains umfasst:

hblock --output ./hosts_rpz.txt --header none --footer none --redirection '.' --template '%D CNAME %R\n*.%D CNAME %R' --comment ';' --filter-subdomains

Durch rekursives Blocken wird aber auch eine zufällig generierte subdomain in der Form <random>-dnsotls-ds.metric.gstatic.com geblockt, die bei Benutzung von DoT in Android genutzt wird. Um die resultierende Fehlermeldung in Android zu vermeiden wird diese subdomain gezielt erlaubt und folgendes in /etc/knot-resolver/kresd.conf eingetragen:

policy.add(policy.pattern(
	policy.PASS,
	'%w+%-dnsotls%-ds\006metric\007gstatic\003com\000$'
))

Client

Linux

Auf dem client muss ebenfalls das Paket knot-resolver installiert werden:

apt install knot-resolver

Die Konfiguration /etc/knot-resolver/kresd.conf gestaltet sich auf dem client recht simpel:

net.listen('127.0.0.1', 53, { kind = 'dns' })

modules = {
        'policy',
}

policy.add(policy.all(policy.TLS_FORWARD({
    {'5.181.50.75', hostname='mdosch.de'},
    {'2a03:4000:3f:1c8:8839:33ff:feba:fe4a', hostname='mdosch.de'},
})))

Die IPs und der hostname müssen natürlich gegen eure IPs und domain ausgetauscht werden.

Auch hier muss kresd aktiviert werden:

systemctl enable --now kresd@{1..4}.service

Anschließend muss man dem System mitteilen, den DNS-forwarder unter 127.0.0.1:53 zu nutzen. Das tut man indem man die Datei /etc/resolv.conf folgendermaßen editiert:

nameserver 127.0.0.1

Ggf. muss man noch den NetworkManager zähmen, damit dieser nicht die Datei /etc/resolv.conf überschreibt.

Android

Unter Android kann der DoT server folgendermaßen konfiguriert werden:

Einstellungen → Netzwerk & Internet → Erweitert → Privates DNS

Dort ist dann die domain, in meinem Fall z.B. mdosch.de, einzutragen.

Test

Zum testen kann man den Befehl dig aus dem Paket bind9-dnsutils nutzen. Mit z.B. dig debian.org bekommt man folgende Ausgabe:

dig debian.org      

; <<>> DiG 9.17.19-1-Debian <<>> debian.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13249
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debian.org.			IN	A

;; ANSWER SECTION:
debian.org.		280	IN	A	128.31.0.62
debian.org.		280	IN	A	130.89.148.77
debian.org.		280	IN	A	149.20.4.15

;; Query time: 240 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sun Oct 31 11:00:57 CET 2021
;; MSG SIZE  rcvd: 87

Hier wurde die domain debian.org erfolgreich aufgelöst und die Zeile ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) zeigt, dass der lokale DNS-forwarder benutzt wurde.

Man kann natürlich auch Webseiten, wie z.B. dnsleaktest.com, benutzen um zu sehen welche DNS-server benutzt werden.

Mit dig google-analytics.com kann getestet werden ob das Blocken von Werbung und Tracking auch funktioniert:

dig google-analytics.com

; <<>> DiG 9.17.19-1-Debian <<>> @127.0.0.1 google-analytics.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 19517
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google-analytics.com.		IN	A

;; Query time: 220 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sun Oct 31 11:03:38 CET 2021
;; MSG SIZE  rcvd: 49

Hier wurde google-analytics nicht aufgelöst (status: SERVFAIL), die Blockliste wird also genutzt.

Updates

  • 2022-03-06: Abschnitt Rekursives Blocken hinzugefügt.

2017 schrieb ich über die Einrichtung von DNSCrypt in Debian, mittlerweile nutze ich aber DNS-over-TLS (DoT) mit einem eigenen server. Sowohl auf Server-, als auch auf Client-Seite nutze ich knot-resolver.

Einrichtung

Server

Zuerst muss das Paket knot-resolver installiert werden:

apt install knot-resolver

Danach muss /etc/knot-resolver/kresd.conf editiert werden:

net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {
  'view',
  'hints > iterate',
  'serve_stale < cache',
  'workarounds < iterate'
}

Statt IP4 und IP6 muss natürlich die IP-Adresse eingegeben werden, auf der der server über DoT erreichbar sein soll. Ggf. muss man natürlich auch noch den Port 853 in der firewall für Zugriffe von Außen freigeben.

Anschließend aktiviert man den server folgendermaßen:

systemctl enable --now kresd@{1..4}.service

Zugriff auf TLS-Zertifkate

Ohne weitere Konfiguration benutzt kresd selbstsignierte Zertifikate für DoT. Ich habe auf meinem server bereits Zertifikate von Let’s Encrypt und möchte diese auch für DoT nutzen. Um die Zertifikate für kresd erreichbar zu machen habe ich ein kleines Skript geschrieben:

cp /etc/letsencrypt/live/mdosch.de/privkey.pem /var/lib/knot-resolver
cp /etc/letsencrypt/live/mdosch.de/fullchain.pem /var/lib/knot-resolver
chown -R knot-resolver:knot-resolver /var/lib/knot-resolver 
chmod 700 /var/lib/knot-resolver
systemctl restart kresd@{1..4}.service

Die Pfade der Zertifikate sind natürlich anzupassen und das Skript muss nach dem Speichern ausführbar gemacht werden:

chmod +x /pfad/zum/script.sh

Damit das Skript auch ausgeführt wird wenn certbot die Zertifikate erneuert, lasse ich es mittels --renew-hook aufrufen.

Nun muss die Konfiguration abgeändert werden (Zeile 1) damit kresd die Zertifikate auch nutzt:

net.tls("/var/lib/knot-resolver/fullchain.pem", "/var/lib/knot-resolver/privkey.pem")
net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {    
  'view',                   
  'hints > iterate',         
  'serve_stale < cache',     
  'workarounds < iterate'
}

Danach muss kresd neu gestart werden:

systemctl restart kresd@{1..4}.service

Werbung und Tracking filtern

Ich möchte Werbung und Tracking direkt auf DNS-Ebene blocken und nutze dafür die Blocklisten von hBlock. Wenn man das hBlock-repo klont und dort make hosts ausführt erhält man u.a. eine Datei hosts_rpz.txt im Ordner dist. Diese Datei kann kresd einlesen und die dort gelisteten hosts bei DNS-Abfragen blockieren. Die Konfiguration muss folgendermaßen angepasst werden (Zeilen 13 und 16):

net.tls("/var/lib/knot-resolver/fullchain.pem", "/var/lib/knot-resolver/privkey.pem")
net.listen('127.0.0.1', 53)
net.listen('IP4', 853, { kind = 'tls' })
net.listen('IP6', 853, { kind = 'tls' })
user('knot-resolver','knot-resolver')
cache.size = 2*GB

modules = {    
  'view',                   
  'hints > iterate',         
  'serve_stale < cache',     
  'workarounds < iterate',
  'policy'
}

policy.add(policy.rpz(policy.DENY, '/pfad/zu/hosts_rpz.txt'))

Danach muss kresd wieder neu gestart werden:

systemctl restart kresd@{1..4}.service

Rekursives Blocken

Einige Trackingfirmen nutzen für ihre Kunden subdomains um die üblichen Schutzmaßnahmen zu umgehen, z.B. zn0lxkzethotizctx-bahn.siteintercept.qualtrics.com. Um den Schutz vor Tracking zu verbessern kann man auch rekursiv alle subdomains der domains in der Blockliste sperren.

Mit Hilfe von hBlock kann man eine Blockliste erstellen, die über wildcards auch die Subdomains umfasst:

hblock --output ./hosts_rpz.txt --header none --footer none --redirection '.' --template '%D CNAME %R\n*.%D CNAME %R' --comment ';' --filter-subdomains

Durch rekursives Blocken wird aber auch eine zufällig generierte subdomain in der Form <random>-dnsotls-ds.metric.gstatic.com geblockt, die bei Benutzung von DoT in Android genutzt wird. Um die resultierende Fehlermeldung in Android zu vermeiden wird diese subdomain gezielt erlaubt und folgendes in /etc/knot-resolver/kresd.conf eingetragen:

policy.add(policy.pattern(
	policy.PASS,
	'%w+%-dnsotls%-ds\006metric\007gstatic\003com\000$'
))

Client

Linux

Auf dem client muss ebenfalls das Paket knot-resolver installiert werden:

apt install knot-resolver

Die Konfiguration /etc/knot-resolver/kresd.conf gestaltet sich auf dem client recht simpel:

net.listen('127.0.0.1', 53, { kind = 'dns' })

modules = {
        'policy',
}

policy.add(policy.all(policy.TLS_FORWARD({
    {'5.181.50.75', hostname='mdosch.de'},
    {'2a03:4000:3f:1c8:8839:33ff:feba:fe4a', hostname='mdosch.de'},
})))

Die IPs und der hostname müssen natürlich gegen eure IPs und domain ausgetauscht werden.

Auch hier muss kresd aktiviert werden:

systemctl enable --now kresd@{1..4}.service

Anschließend muss man dem System mitteilen, den DNS-forwarder unter 127.0.0.1:53 zu nutzen. Das tut man indem man die Datei /etc/resolv.conf folgendermaßen editiert:

nameserver 127.0.0.1

Ggf. muss man noch den NetworkManager zähmen, damit dieser nicht die Datei /etc/resolv.conf überschreibt.

Android

Unter Android kann der DoT server folgendermaßen konfiguriert werden:

Einstellungen → Netzwerk & Internet → Erweitert → Privates DNS

Dort ist dann die domain, in meinem Fall z.B. mdosch.de, einzutragen.

Test

Zum testen kann man den Befehl dig aus dem Paket bind9-dnsutils nutzen. Mit z.B. dig debian.org bekommt man folgende Ausgabe:

dig debian.org      

; <<>> DiG 9.17.19-1-Debian <<>> debian.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13249
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debian.org.			IN	A

;; ANSWER SECTION:
debian.org.		280	IN	A	128.31.0.62
debian.org.		280	IN	A	130.89.148.77
debian.org.		280	IN	A	149.20.4.15

;; Query time: 240 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sun Oct 31 11:00:57 CET 2021
;; MSG SIZE  rcvd: 87

Hier wurde die domain debian.org erfolgreich aufgelöst und die Zeile ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) zeigt, dass der lokale DNS-forwarder benutzt wurde.

Man kann natürlich auch Webseiten, wie z.B. dnsleaktest.com, benutzen um zu sehen welche DNS-server benutzt werden.

Mit dig google-analytics.com kann getestet werden ob das Blocken von Werbung und Tracking auch funktioniert:

dig google-analytics.com

; <<>> DiG 9.17.19-1-Debian <<>> @127.0.0.1 google-analytics.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 19517
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google-analytics.com.		IN	A

;; Query time: 220 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sun Oct 31 11:03:38 CET 2021
;; MSG SIZE  rcvd: 49

Hier wurde google-analytics nicht aufgelöst (status: SERVFAIL), die Blockliste wird also genutzt.

Updates

  • 2022-03-06: Abschnitt Rekursives Blocken hinzugefügt.

29. Oktober 2021

Fr, 29. Oktober 2021, Ralf Hersel

Der neueste Fedora Release wurde gestern beim Fedora-Meeting als "GO" für die Veröffentlichung in der nächsten Woche erklärt. Fedora 35 wird am 2. November ausgeliefert, nachdem der ursprüngliche Termin am 19. Oktober und der Nachfolgetermin am 26. Oktober aufgrund von ungelösten Problemen nicht eingehalten werden konnten. Das ist nicht so schlimm wie Fedoras berüchtigte Verspätungen von vor vielen Jahren, und zumindest setzt das Team dieses Mal eher auf Qualität als auf Pünktlichkeit.


Fedora 35 Workstation nutzt die kürzlich veröffentlichte GNOME 41 Desktop-Umgebung, um dort die neuesten Desktop-Verbesserungen bereitzustellen, von denen viele von Red Hats Ingenieuren entwickelt wurden. Auf der Desktop-Seite wird PipeWire weiterhin für alle Audio-Bedürfnisse verwendet, während WirePlumber der Standard-Sitzungsmanager geworden ist. Fedora 35 enthält viele Paketaktualisierungen, von Python 3.10 über PHP 8.0 bis hin zu Perl 5.34 und den neuesten XWayland-, Mesa- und anderen Verbesserungen.

Quelle: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/AXGQCCE66LTSVJXWULKBT4DOMAWJM2BD/

25. Oktober 2021

Mo, 25. Oktober 2021, Ralf Hersel

Es ist wieder so weit: Canonical startet den Entwicklungszyklus der nächsten Ubuntu-LTS-Version, in diesem Fall Ubuntu 22.04 LTS (Jammy Jellyfish). Ab jetzt können Interessierte, Tester und Anwendungsentwickler die täglichen Builds für Jammy Jellyfish herunterladen.


Neben Ubuntu, das Desktop-Varianten für 64-Bit- und ARM64-Architekturen (AArch64) anbietet, findet man auch tägliche Builds für die Varianten Kubuntu, Xubuntu, Lubuntu, Ubuntu MATE, Ubuntu Budgie und Ubuntu Kylin.

Wie üblich basieren diese täglichen Builds auf der letzten Ubuntu-Version, Ubuntu 21.10 (Impish Indri). Das bedeutet, dass diese auf dem Linux-Kernel 5.13 basieren und grösstenteils die gleichen Paketversionen, Artworks und Desktop-Umgebungen enthalten. Während des Entwicklungszyklus von Ubuntu 22.04 LTS erwarten wir einige der neuesten GNU/Linux-Technologien und Open-Source-Software, angefangen mit dem Übergang zu OpenSSL 3.0, Go 1.18, Ruby 3.0, DPDK 21.11 und OpenLDAP 2.6.

Der neue Installer wird voraussichtlich Googles Flutter SDK verwenden. Beim Desktop können wir GNOME 42 erwarten, der am 23. März 2022 veröffentlicht werden soll, sowie den Linux 5.17 Kernel, der Anfang März erscheinen sollte.

Quelle: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2021-October/001302.html

24. Oktober 2021

Vor ein paar Monaten hatte ich mich ja ein wenig über Linux und Notebooks ausgekotzt:

Auch wenn ich seit dieser Zeit Windows 10 auf dem Notebook installiert habe, hat mich das Problem nicht losgelassen:

Wie kann es sein, dass bestimmte Notebooks von verschiedenen Herstellern nahezu problemlos den neuen Suspendmodus unter Linux unterstützen, andere aber massive Probleme haben? Vor zwei Tagen bin ich dann auf den folgenden Bugreport gestoßen:

https://gitlab.freedesktop.org/drm/amd/-/issues/1721

Der Ersteller des Bugreports besitzt exakt das gleiche Modell des Notebooks und ein Vorschlag in dem Report war, zwei kleine Patches auszuprobieren:

https://patchwork.kernel.org/project/platform-driver-x86/list/?series=556591&state=%2A&archive=both

Hier sind sie mal im Ganzen:

diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
index d6a7c896ac86..fc95620101e8 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
@@ -476,6 +476,7 @@  static const struct acpi_device_id amd_pmc_acpi_ids[] = {
 	{"AMDI0006", 0},
 	{"AMDI0007", 0},
 	{"AMD0004", 0},
+	{"AMD0005", 0},
 	{ }
 };
 MODULE_DEVICE_TABLE(acpi, amd_pmc_acpi_ids);

diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index bd92b549fd5a..1c48358b43ba 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -371,7 +371,7 @@  static int lps0_device_attach(struct acpi_device *adev,
 		return 0;
 
 	if (acpi_s2idle_vendor_amd()) {
-		/* AMD0004, AMDI0005:
+		/* AMD0004, AMD0005, AMDI0005:
 		 * - Should use rev_id 0x0
 		 * - function mask > 0x3: Should use AMD method, but has off by one bug
 		 * - function mask = 0x3: Should use Microsoft method
@@ -390,6 +390,7 @@  static int lps0_device_attach(struct acpi_device *adev,
 					ACPI_LPS0_DSM_UUID_MICROSOFT, 0,
 					&lps0_dsm_guid_microsoft);
 		if (lps0_dsm_func_mask > 0x3 && (!strcmp(hid, "AMD0004") ||
+						 !strcmp(hid, "AMD0005") ||
 						 !strcmp(hid, "AMDI0005"))) {
 			lps0_dsm_func_mask = (lps0_dsm_func_mask << 1) | 0x1;
 			acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n",

Jeder Patch fügt einzig zwei zusätzliche Zeilen Code (Eine Zeile ist nur ein Kommentar) ein. Der Patch wurde wegen Problemen mit dem Microsoft Surface Laptop 4 eingeführt:

The Surface Laptop 4 AMD has used the AMD0005 to identify this
controller instead of using the appropriate ACPI ID AMDI0005.  Include
AMD0005 in the acpi id list.

Die Diskussion dreht sich dann grundsätzlich nur noch darum ob die Patches zu Regressionen führen. Am Ende wurden sie aber ohne weitere Diskussionen in den Master-Branch von Linux gemergt und sind dadurch auch in Linux 5.14.4 und 5.15-rc6 gelandet.

Da ich ein, von Natur aus, neugieriger Mensch bin, wollte ich natürlich wissen ob die zwei Zeilen Code das Problem bei meinem Notebook lösen. Also schnell Ubuntu 21.10 und die aktuellste Kernelversion aus dem Mainline-PPA installiert. Und siehe da:

Die Patches wirken! Das Notebook legt sich jetzt vollkommen problemlos schlafen und wacht auch innerhalb von Sekundenbruchteilen zuverlässig aus dem Schlaf auf. Mit der Version 5.14.3 funktionierte es noch nicht.

Was mich an der ganzen Sache wurmt, ist die Tatsache, dass der Fehler auf Seiten von Acer zu suchen ist. Hätten die Firmwareentwickler nicht gepennt und den Eintrag in den ACPI-Tabellen korrekt geschrieben („AMDI0005“ anstatt „AMD0005“) dann gäbe es die Probleme erst gar nicht. Die Frage, die sich mir jetzt nur stellt, ist, wie Windows solche Dinge handhabt. Das Problem muss grundsätzlich auch unter Windows existieren und zwar aus folgenden zwei Gründen:

  • In einem anderen Bugeintrag erwähnte ein Benutzer, dass ein BIOS-Update für sein Desktop-Mainboard eben diese ACPI-ID verändert hat und danach der s2idle-Modus fehlerfrei funktioniert hat. Große Hersteller wie Gigabyte ändern selten ACPI-Einträge, außer es gibt unter Windows Probleme. Linux interessiert die wenigsten Hersteller.
  • Auf meinem Notebook funktionierte der Stromsparmodus unter Windows 10 auch nicht zu 100%. Ich habe das aber erst jetzt kapiert. Ich hatte mich nämlich schon die ganze Zeit gewundert warum mein Acer-Notebook im Suspend-Modus gefühlt mehr Strom als andere Notebooks im gleichen Zustand benötigt hat (z.B. mein altes Lenovo Thinkpad T460). Dieses konnte ich locker mehrere Tage suspenden, beim Acer ist nach spätestens zwei Tagen Sense. Und das Notebook hat sich nach einer bestimmten Zeit immer selbst heruntergefahren, obwohl noch genug Saft im Akku war. Das deutet darauf hin, dass das Notebook nicht wirklich geschlafen hat und Windows nach einer bestimmten Zeit den Rechner in den Hibernate-Modus versetzt hat. Dadurch, dass Windows auf SSDs und dank Fastboot ziemlich schnell wieder betriebsbereit ist, dürfte dieses Verhalten nur wenigen Benutzern auffallen.

Eine Recherche im Acer-Community-Forum brachte dann auch einige Threads bezüglich des Suspend-Verhaltens zu Tage:

https://community.acer.com/en/discussion/602424/sf314-42-doesnt-wake-up-from-sleep-mode-windows-restarts-instead-please-help

Es gibt also auch bei vielen anderen Benutzern unter Windows Probleme und erst einige BIOS-Updates haben diese soweit beseitigt, dass sich weniger Benutzer gemeldet haben.

Lange Rede, kurzer Sinn:

Mein Notebook funktioniert jetzt endlich wie gewollt unter Linux und ich muss auch kein Windows mehr darauf benutzen 😉

Die neue Version 14 der Datenbanksoftware ist bereits einige Tage verfügbar.

Es gibt dazu einen ausführlichen Release Log, den ihr euch gerne zu Gemüte führen dürft.

postgres

Installation und Update auf PostgreSQL 14 unter Debian/Ubuntu

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
sudo apt-get -y install postgresql-14

# Sicherung erstellen
sudo su postgres
pg_dumpall > Sicherung
exit

#Vorhandene Cluster anzeigen
pg_lsclusters

#Neues Cluster anhalten
sudo pg_dropcluster --stop 14 main

#Vorhandenes Cluster aktualisieren
sudo pg_upgradecluster 13 main

 postgres14_updateNachdem die Datenbanken aktualisiert und getestet wurden, kann die alte Version gelöscht werden.

sudo pg_ctlcluster 14 main status

pg_ctl: server is running (PID: 60700)
/usr/lib/postgresql/14/bin/postgres "-D" "/var/lib/postgresql/14/main" "-c" "config_file=/etc/postgresql/14/main/postgresql.conf"

sudo pg_isready

/var/run/postgresql:5433 - accepting connections
sudo pg_dropcluster 13 main

 

Vor einiger Zeit ist ITrig auf einen neuen Server umgezogen.

Nach dem Umzug wollte das Blog nicht mehr so richtig funktionieren. Auch der Adminbereich war nicht mehr erreichbar und zeigte komische Fehler an. Nach etwas Recherche war schnell klar, dass bei Serendipity Pfade leider hart in der Datenbank stehen, welche nicht mehr auf die neue Serverstruktur passten.

Da diese Schritte nicht in der Umzugsanleitung der S9y Seite vorhanden sind, bzw. ich sie einfach nicht gefunden habe, möchte ich hier das Vorgehen dokumentieren.

s9y-logo

Serendipity Blog Pfad in der Datenbank anpassen

Zunächst wird die Ausgabe des aktuellen Pfads geprüft.

mysql -uroot -p
USE s9y_db;
SELECT * FROM `serendipity_config` WHERE name='serendipityPath'

               serendipityPath               /alterPfad/html/www/

Nun kann der Pfad auf die neue Struktur aktualisiert werden.

UPDATE `serendipity_config` set value = '/neuerPfad/' WHERE name = 'serendipityPath';

Ein weiterer Wert, der vielleicht angepasst werden muss ist serendipityHTTPPath.

SELECT * FROM `serendipity_config` WHERE name='serendipityHTTPPath'

UPDATE `serendipity_config` set value = '/NeuerPfad/' WHERE name = 'serendipityHTTPPath';

Sollte sich zusätzlich die URL geändert haben, dann kann auch diese direkt angepasst werden.

SELECT * FROM `serendipity_config` WHERE name = 'defaultBaseURL';

UPDATE `serendipity_config` set value = 'https://neuedomain.de' WHERE name = 'defaultBaseURL';

Nun sollte das System wieder wie gewohnt auf dem neuen Server erreichbar sein.

Android Smartphones werden normalerweise mit Chrome ausgeliefert. Für Privatsphäre und Datenschutz natürlich eine ganz schlechte Idee. Doch welche der doch zahlreichen Alternativen soll man nehmen?

Bisher habe ich immer Firefox bzw. Fennec (F-Droid) gewählt, weil ich den auch auf dem Desktop nutze und damit recht zufrieden war. Im Usage Guide von GrapheneOS wird die Sicherheit von Firefox unter Android allerdings sehr schlecht bewertet:

Avoid Gecko-based browsers like Firefox as they’re currently much more vulnerable to exploitation and inherently add a huge amount of attack surface. Gecko doesn’t have a WebView implementation (GeckoView is not a WebView implementation), so it has to be used alongside the Chromium-based WebView rather than instead of Chromium, which means having the remote attack surface of two separate browser engines instead of only one. Firefox / Gecko also bypass or cripple a fair bit of the upstream and GrapheneOS hardening work for apps. Worst of all, Firefox runs as a single process on mobile and has no sandbox beyond the OS sandbox. This is despite the fact that Chromium semantic sandbox layer on Android is implemented via the OS isolatedProcess feature, which is a very easy to use boolean property for app service processes to provide strong isolation with only the ability to communicate with the app running them via the standard service API. Even in the desktop version, Firefox’s sandbox is still substantially weaker (especially on Linux, where it can hardly be considered a sandbox at all) and lacks support for isolating sites from each other rather than only containing content as a whole.

GrapheneOS Usage Guide, zuletzt zugegriffen am 24.10.2021

Manches davon ist natürlich spezifisch für GrapheneOS, aber einiges an der Kritik lässt sich auch für Android generalisieren und trifft auch zu, wenn man „nur“ mit LineageOS unterwegs ist.

Für mich ist diese Passage Anlass zum ersten Mal seit Längerem wieder das Thema „Browser“ für Android gründlicher zu betrachten. Der bei GrapheneOS vorinstallierte Browser Vanadium ist als Subprojekt von GrapheneOS nicht für F-Droid verfügbar und deshalb keine Option.

Anders sieht das mit der ebenfalls thematisierten Alternative Bromite aus. Dieser lässt sich unter anderem über ein spezielles F-Droid Repo installieren.

Mike Kuketz hat Bromite im Rahmen seiner Artikelserie „Browser Check“ auch unter die Lupe genommen und relativ positiv bewertet. Diese Artikelserie ist allgemein zu empfehlen, weil alle wichtigen Browser für Desktop- und Mobilsysteme unter die Lupe genommen und die Spreu vom Weizen getrennt wurde. So mancher „Community-Liebling“ wie z. B. Waterfox ist dabei durchgefallen.

Bei Bromite muss man einige wenige Einstellungen ändern. Beispielsweise die Standardsuchmaschine und die Möglichkeit, Drittanbietercookies pauschal zu blockieren. Ansonsten ist die Standardkonfiguration bereits sehr gut gewählt.

So richtig überzeugt bin ich aber noch nicht, was vermutlich an der langjährigen Gewöhnung an Firefox liegt.

Mit was seit ihr so unterwegs unter Android?

Der Artikel Android-Browser mit Fokus auf Datenschutz & Privatsphäre? erschien zuerst auf [Mer]Curius

Debian war schon LTS bevor es LTS als Begriff unter Linux gab und Ubuntu hat mit den festen Releasezyklen Maßstäbe gesetzt. Der Wartungszustand der sehr umfangreichen Paketquellen lässt aber zunehmend zu Wünschen übrig. Vielleicht ein Grund für die häufig vorgetragene Ablehnung von LTS?

Ich empfehle eigentlich nur LTS-Distributionen und zwar sowohl für den (semi)professionellen als auch den privaten Einsatz und bin auch der Ansicht, dass die Mehrheit der Linux-Anwender LTS-Distributionen nutzt. Das ist also ein sehr relevantes Thema. Es gibt unterschiedliche LTS-Distributionen, wirklich intensiv nutze ich allerdings nur openSUSE Leap.

Momentan befasse ich mich wegen eines anderen Projekts mit GrapheneOS. Für die Installation gibt es dort eine ziemlich umfassende Anleitung. Folgende Zitate finden sich dort:

Debian and Ubuntu do not have a usable package for fastboot. Their packages for these tools are both broken and many years out-of-date. Follow the instructions below for platforms without a proper package.

The udev rules on Debian and Ubuntu are very out-of-date but the package has the rules needed for Pixel phones since the same USB IDs have been used for many years.

On Debian-based distributions, the signify package and command are an unmaintained mail-related tool for generating mail signatures (not cryptographic signatures). Make sure to install signify-openbsd.

Das hat nichts mit dem Release-Modell von Debian zu tun, sondern mit dem streckenweise schlechten Zustand der Debian-Paketquellen. Die Versionen sind meist schon vor Beginn des Freezes sehr alt und wurden teilweise jahrelang nicht angefasst. Zum Vergleich kann man die Releasedaten der Android-Tools mit den Versionsständen bei Debian vergleichen. Halbwegs aktuelle Versionen sind mitnichten erst während des Freeze herausgekommen.

Die mit Debian ausgelieferten Versionen von fastboot und adb sind allerdings schon chronisch veraltet. Das könnte man inzwischen zum Markenzeichen von Debian erklären. Vermutlich ist das auch nur für die kleine Gemeinde der Custom ROM Szene ein wirkliches Problem. Andere Sachen wiegen da schwerer. Dazu ist das Paket signify als Beispiel geeignet, da es nahezu funktionslos und laut Debian Entwicklerinformationen als „orphaned and needs a maintainer“ markiert ist. Wohlgemerkt seit 2014.

Das ist jetzt nur zwei Beispiele. Vermutlich fallen den meisten Debian oder Ubuntu (das ja letztlich den Paketbestand und Zustand erbt) Beispiele aus ihren eigenen Nutzungsszenarien ein. Das reicht von Kleinigkeiten bis zu riesigen Problemen. Ein Beispiel für eine Kleinigkeit wäre FeedReader. Das Programm wurde auch in der neuesten Version veraltet ausgeliefert, obwohl seit Mai 2020 eine neue Version bereitsteht. Ein Beispiel für ein deutlich größeres Problem ist Chromium. Debian schleppt hier hartnäckig veraltete Versionen mit zig offenen Sicherheitslücken mit sich rum.

Zur Wahrheit gehört natürlich auch, dass die meisten anderen LTS-Distributionen keine so umfassenden Paketquellen wie Debian haben und Software, die sie – aus welchen Gründen auch immer – nicht warten können, gar nicht erst anbieten. Besagte Android-Tools kann man bei openSUSE Leap oder RHEL nur über Dritt-Repositorien hinzufügen. Chromium hat openSUSE aus der stabilen Variante geschmissen.

Die Frage ist, ob das nicht einfach ehrlicher ist. Was hat der Anwender von >35.000 Paketen, wenn vieles davon unbenutzbar ist.

Debian (und damit zwangsläufig auch Ubuntu und Mint) fehlt ganz offenkundig ein Mechanismus, um die Paketquellen von solchen Altbeständen zu bereinigen. Wenn die zuständigen Maintainer nichts machen, passiert da schlicht nichts. Einzige Ausnahme sind RC-Bugs im Vorfeld eines Releases. Das Kriterium „ist funktions- bzw. sinnlos“ ist nur halt kein RC-Bug. Die Android-Tools funktionieren ja theoretisch: Man braucht nur uralte Android-Versionen und uralte Geräte.

Zum Problem wird so etwas, wenn es den Ruf von LTS-Distributionen insgesamt belastet. Da heißt es dann gerne, die Software ist zu alt oder zu ungepflegt und man solle lieber auf ein Rolling Release setzen. Dabei ist auch Testing oder Sid nicht aktueller, weil das Problem eben nicht im LTS-System liegt, sondern die Qualitätssicherung bei Debian das Problem ist.

Der Artikel Debian (Ubuntu) als Belastung für den Ruf von LTS? erschien zuerst auf [Mer]Curius

22. Oktober 2021

Die MZLA Technologies Corporation hat mit Thunderbird 91.2.1 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 91.2.1

Mit dem Update auf Thunderbird 91.2.1 hat die MZLA Technologies Corporation ein Update außer der Reihe für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Fehler der Vorgängerversion. Diese lassen sich in den Release Notes (engl.) nachlesen.

Der Beitrag Thunderbird 91.2.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Fr, 22. Oktober 2021, Norbert Rüthers

Bereits kurz nach Beginn der Ära der Einplatinencomputern mit dem Raspberry Pi im Jahr 2012, entstand eine Distribution, die seitdem stetig weiterentwickelt wird, und für viele Besitzer alter SBC`s die letzte Hoffnung ist.

Das Projekt wurde von Igor Pečovnik ins Leben gerufen, der es seitdem mit Unterstützung einer breiten Community vorantreibt.  Armbian richtet sich an alle Benutzer von Einplatinencomputern oder auch SBC`s genannt. Auch und gerade Modelle die schon lange nicht mehr von ihren Herstellern mit aktueller Software versorgt werden. Ich zum Beispiel besitze noch 2 alte Cubietruck die ohne Armbian schon lange nur Elektroschrott wären.

Es werden viele Modelle unterstützt und es kommen ständig neue hinzu. Eine lange Liste auf Wikipedia

Kurioserweise gehört der Raspberry Pi nicht zu den unterstützten Modellen.  Vielleicht weil er von der Raspberry Foundation selber gut genug unterstützt wird.

Wem das nicht reicht, der kann sein Armbian auch gezielt selber kompilieren und z.B. :

  • Ein Image ohne Desktop erstellen.
  • Debian 10 oder Debian 11 benutzen
  • Anpassungen am Kernel vornehmen

Ein Menügeführtes Script steht zum  download bereit. Anleitungen dazu gibt es in der Armbian Doku

Zusätzlich zum Build auf einem eigener Rechner bietet Armbian auch ein automatisches build-system an. Auch dazu mehr in der Armbian Doku

Wer das nicht möchte, der findet für alle unterstützten SBC`s Images zum Download

Zusätzliche Hilfe kann man im umfangreichen Forum finden.

Wer unter den Lesern noch einen alten SBC herumliegen hat und ihm neues Leben einhauchen will, der sollte mal bei Armbian hereinschauen.

Quelle: https://www.armbian.com

 

Fr, 22. Oktober 2021, Marco

Die Linuxdistribution MX Linux, welche im Vergleich zu vielen anderen Distributionen standardmässig nicht auf systemd als Initsystem setzt, wurde in der Version 21 unter dem Codenamen "Wildflower" veröffentlicht. Die neue Version basiert auf der Version 11 "Bullseye" von Debian, welche vor weniger als zwei Monaten veröffentlicht wurde.

MX Linux kommt in der neuen Version mit zusätzlichen sowie aktualisierten Anwendungen. Neben den Anwendungen wurden auch die Desktopumgebungen Xfce (neu 4.16), Plasma (neu 5.20) und fluxbox (neu 1.3.7) auf neuere Versionen angehoben. In der neuen Version gibt es beim Installer eine Schaltfläche, um die Partitionen zu verwalten.

In "Wildflower" wird standardmässig das Benutzerpasswort für sudo verlangt, um administrative Aufgaben zu erledigen. Dies kann mit dem Tool mx-tweak unter dem Menüpunkt "Other" geändert werden. Die Entwickler von MX Linux haben sich dafür entschieden, dass die Vulkan-Treiber des Mesa-Projektes standardmässig installiert werden. Neben den genannten Änderungen wurde die Unterstützung für realtek-WiFi verbessert und die Übersetzungen aktualisiert. Interessierte finden die Links zu den ISO-Dateien im Blogbeitrag von MX Linux.

Quelle: https://mxlinux.org/blog/mx-21-wildflower-released/

21. Oktober 2021

Do, 21. Oktober 2021, Lioh Möller

Die Gentoo basierte Distribution Porteus Kiosk wurde in Version 5.3.0 veröffentlicht. Sie eignet sich für den Einsatz als Internet Kiosk System oder als Digital Signage Lösung. Neben der Aktualisierung des Kernels auf Version 5.10.73 stehen Chrome in Version 93.0.4577.82 und Mozilla Firefox 91.2.0 ESR zur Verfügung, welche je nach Präferenz während der Installationsvorgans nachgeladen werden.


Darüber hinaus wird nun libinput zur Ansteuerung von Eingabegeräten genutzt. evdev ist aus Kompatibilitätsgründen alternativ weiterhin nutzbar. In Firefox und Chome lässt sich eine virtuelle Tastatur nutzen und eine experimentelle Hardwarebeschleunigung zum Abspielen von Videos ist bei Bedarf aktivierbar.

Das Adobe Flash Plugin wurde entfernt und die Administrationskonsole in der Servervariante aktualisiert. Mit letzterer lassen sich installierte Kiosksysteme zentral verwalten.

Neben der Standardvariante steht eine Cloud Edition zum einfachen Zugriff auf Cloud-Applikationen und eine Version, mit der sich Porteus Kiosk als Thin Client nutzen lässt, zur Verfügung.

Automatische Updates werden nur in einem Abomodell angeboten.

Ankündigung: https://porteus-kiosk.org/news.html#211018
Download: https://porteus-kiosk.org/download.html

Do, 21. Oktober 2021, Ralf Hersel

Das Ubuntu-Zwischenrelease 21.10 (Impish Indri) ist am 14. Oktober erschienen. Es gibt viele gute Gründe, von Ubuntu 21.04 auf Ubuntu 21.10 umzusteigen, wie z.B. ein neuer Linux-Kernel, ein neuer GNOME-Desktop, das neue Yaru Light-Theme und eine grosse Auswahl an aktualisierten Anwendungen. Wer genau wissen möchte, was die Herbstversion zu bieten hat, kann sich das bei Joey Sneddon ansehen.

Wer jedem Release der Ubuntu-Distribution folgt, kann selbstverständlich auch auf die aktuelle Version 21.10 upgraden. Anwenderinneren der LTS-Version (20.04) sollten an dieser Stelle innehalten und sich genau überlegen, was sie tun.

Unsichere Anwender können zuerst einmal die Aktualisierungsverwaltung starten und prüfen, welche Update-Einstellung dort steht.

Falls ihr dort 'Für jede neue Version' eingestellt habt, schlägt euch die Aktualisierungsverwaltung ein Upgrade auf Ubuntu 20.10, 21.04 und schliesslich auf Ubuntu 21.10 vor. Die Upgrade-Kette hängt davon ab, auf welcher Version ihr euch zurzeit befindet. Habt ihr eure Distro bis 21.04 hochgezogen, könnt ihr problemlos auf die nächste Version (21.10) aktualisieren. Wenn ihr auf einer früheren Version hängen geblieben seid, würde ich den Upgrade-Pfad nicht beschreiten, sondern auf 20.04 LTS oder 20.10 bleiben.

Insbesondere beim GNOME-Desktop-Environment haben sich massive Änderungen ergeben, die bei einem Upgrade über mehrere Versionen hinweg Probleme schaffen könnten. Hinzu kommt, dass die Herbst-Version von Ubuntu oft als Testfeld vor der nächsten LTS-Version (22.04) dient. Ein Upgrade schlage ich nur denjenigen vor, die jeder Version folgen, keine Angst haben und unbedingt das Neuste sehen möchten. Falls ihr Ubuntu verwendet und euch zur bleading edge Gruppe zählt, wäre eine rolling Distro vermutlich die bessere Wahl für euch.

Wer es dennoch auf ein Upgrade anlegt, kann diese Kommandos verwenden:

sudo apt full-upgrade

Wem das nicht hilft, gelangt mit diesem Kommando zum Erfolg:

update-manager -c

Von 21.04 zu 21.10 gelangt man mit:

sudo do-release-upgrade

Bedenkt bitte, dass die Ubuntu-Zwischenreleases nur 9 Monate lang Security-Updates liefern. Meine finale Empfehlung lautet: wenn ihr keine massiven Probleme mit eurer aktuellen Ubuntu Installation habt, lasst die Finger davon und wartet auf das nächste LTS-Release: 22.04 (Jammy Jellyfish).

18. Oktober 2021

Montag, 18. Oktober 2021, Lioh Möller

Der bereits vom Ubuntu Unity Remix bekannte Entwickler Rudra Saraswat versucht mit dem von ihm lancierten Ubuntu Web Remix Projekt eine Alternative zu Chrome OS anzubieten. Für die aktuell vorliegende Version dient Ubuntu 20.04.3 als Unterbau. Als Desktop kommt eine durch die Erweiterung Dash-to-Panel modifizierte GNOME Version zum Einsatz, welche eine Startleiste am unteren Bildschirmrand bietet.



Auffallend ist, dass es sich bei einer Vielzahl der enthaltenen Applikationen um Webanwendungen des Anbieters /e/ handelt, welcher in erster Linie ein alternatives Google-befreites Android zur Verfügung stellt. Zur Darstellung der Webapps wird die eigens entwickelte SSB-Lösung snow verwendet, die auf dem Firefox Browser aufbaut.
 
Android Applikationen lassen sich mittels Waydroid nutzen, welches sich über einen Launcher nachinstallieren lässt. Über den /e/ Store können daraufhin Android Applikationen installieren werden, die über den Launcher nahtlos in das System integriert werden.

Getreu dem Konzept der Distribution stehen eine Vielzahl der angebotenen Applikationen primär als Webapps zur Verfügung, wie beispielsweise ein Kalender, eine Kontaktapplikation, ein E-Mail-Client oder eine Notizen-Applikation. Letztere stammen allesamt aus dem /e/ Universum und sind letztendlich Nextcloud-Anwendungen auf der Instanz des Anbieters.

Neben der Nextcloud Dateiverwaltung lässt sich über die Applikation Local Files Nautilus (GNOME Files) starten. Aufgrund der Ubuntu Basis kann das System über den integrierten Paketmanager erweitert werden. Zusätzliche Web Applikationen sollen sich in Zukunft über den sich Entwicklung befindlichen Store aktivieren lassen.

Als Download steht eine UEFI und eine eigene BIOS Variante zur Verfügung.

Quelle: https://ubuntu-web.org

Mo, 18. Oktober 2021, Niklas

OpenBSD gilt als eines der sichersten Betriebssysteme und ist besonders für den Einsatz auf Servern beliebt (wir haben es vorgestellt). Das 1997 gestartete Projekt veröffentlichte mit Version 7.0 am Donnerstag seine einundfünfzigste Version, die einige grosse Neuerungen bringt.

Das grosse Highlight der neuen Version ist mit Sicherheit die Unterstützung für die quelloffene RISC-V CPU Architektur. Die Entwicklung von Software für die relativ junge Architektur hat sich in den letzten Monaten stark beschleunigt, auch einige Linux Distributionen und Haiku unterstützen sie bereits. Der Screenshot oben zeigt OpenBSD mit Xenocara Fenstermanager und einigen einfachen Terminalprogrammen auf dem SiFive Unmatched RISC-V Motherboard.

Ausserdem sehr interessant sind die Verbesserungen der Unterstützung für den Apple M1 ARM SoC, die erstmals mit Version 6.9 hinzugefügt wurde. Für den produktiven Einsatz ist es weiterhin nicht geeignet, aber es kann jetzt nur noch eine Frage von wenigen Monaten sein. Folgendes wurde hier optimiert:

  • OpenBSD kann auf einer Festplatte mit GPT Partitionstabelle installiert werden.
  • Der apldart Treiber für ein DART mit zwei Sets von Registern wurde hinzugefügt. Dieser wird für den Synopsis DesignWare USB 3 Controller gebraucht.
  • Der apldwusb Treiber wurde hinzugefügt. Dieser ist ebenfalls für den Synopsis DesignWare USB 3 Controller im Apple M1 SoC zuständig.
  • Der aplns Treiber für die Unterstützung von NVME Speicher in Apple M1 Geräten wurde hinzugefügt.
  • Der aplpinctrl Treiber für den Apple GPIO Controller in M1 Geräten wurde hinzugefügt.
  • Der aplpmu Treiber für das Apple sera SPMI Power Management in M1 Geräten wurde hinzugefügt.
  • Der aplspmi Treiber für den Apple SPMI Controller wurde hinzugefügt.

Natürlich wurde auch an anderen Baustellen im Betriebssystem gearbeitet. Neben den grossen Highlights RISC-V und Apple M1 sind das hier die bedeutendsten:

  • /etc/bsd.re-config wurde hinzugefügt, um mit config modifizierte GENERIC Kernel mit KARL kompatibel zu machen.
  • OpenBSD kann jetzt erheblich schneller in das Standby versetzt werden.
  • Das timeout Tool wurde von NetBSD importiert.
  • openrsync hat jetzt Include und Exclude Optionen.
  • doas unternimmt jetzt bis zu drei Versuche bei einem falschen Passwort.
  • Der ucc Treiber für USB HID Consumer Control Tastaturen wurde hinzugefügt. Damit sind Sondertasten für Lautstärke, Audio und Programmstarter verfügbar.
  • xterm nutzt jetzt unveil, ein Sicherheitsfeature des OpenBSD Kernels.
  • printf und ähnliches loggen jetzt eine Fehlermeldung, wenn das Format %n benutzt wird.
  • iked unterstützt jetzt clientseitige DNS Konfiguration.
  • Die Geschwindigkeit von traceroute wurde erhöht, indem Probe Packets und DNS asynchron gemacht wurden.
  • dhcpleased und resolvd sind jetzt standardmässig aktiviert. Das macht auch DNS-Server Informationen, die mit slaacd ermittelt wurden, in dynamischen Konfigurationen nutzbar. dhclient bleibt für besondere Situationen verfügbar. Ein nameserver Befehl wurde zu route hinzugefügt, um DNS-Server Vorschläge über den Routing Socket an resolvd zu senden.

Die Programme LibreSSL und OpenSSH stehen auf einer Vielzahl von Betriebssystemen zur Verfügung, werden aber auch vom OpenBSD Projekt entwickelt. Auch diese haben nennenswerte Verbesserungen erhalten. LibreSSL unterstützt in Version 3.4.1 die TLSv3 APIs von OpenSSL 1.1.1. Weiter wurde ein neuer X.509 Validator aktiviert, der die Verifizierung von modernen Zertifikatsketten ermöglicht.

In OpenSSH 8.8 wurde der Signaturtyp RSA/SHA1 standardmässig deaktiviert. Das betrifft nicht RSA (ssh-rsa) Schlüssel. scp unterstützt jetzt optional die Nutzung des SFTP Protokolls, standardmässig wird aber weiterhin das originale scp/rcp Protokoll genutzt.

Bestehende OpenBSD Installationen können mithilfe des sysupgrade Befehls aktualisiert werden. Wer OpenBSD jetzt ausprobieren möchte, kann es kostenlos von der Webseite des Projekts herunterladen.

Quellen:

Montag, 18. Oktober 2021, Lioh Möller

Bei instantOS handelt es sich um eine leichtgewichtige Arch Linux basierte Distribution. Dabei kommt ein vom Projekt entwickelter Windowmanager namens instantWM zum Einsatz, welcher das Tiling und Floating Konzept kombiniert.

Eine Bedienung ist wahlweise mit der Maus oder der Tastatur möglich, wobei der Windowmanager erst durch die Nutzung der zur Verfügung stehenden Tastenkürzel seine Fähigkeiten voll entfaltet. Neben der ausführlichen Online-Dokumentation steht eine Inline-Hilfe zur Verfügung, über die sich die wichtigsten Tastenkombinationen schnell erlernen lassen.

Darüber hinaus werden eine Vielzahl von Hilfsprogrammen angeboten, welche unter dem sogenannten instantASSIST zusammengeführt werden. Mit deren Hilfe lässt sich beispielsweise die Lautstärke oder Bildschirmhelligkeit anpassen.

Das System nimmt standardmässig sehr wenig Ressourcen in Anspruch und kommt im Leerlauf mit 150 - 160 MB RAM aus. Über das mitgelieferte Installationsprogramm lässt sich die Distribution in wenigen Schritten auch von Einsteigern auf die Festplatte bannen.

Neben den Paketen für Arch Linux werden via instantNIX alternativ auch Nix Pakete bereitgestellt, über die sich die angebotenen Anwendungen auch auf anderen Distributionen nutzen lassen.

Quelle: https://instantos.io

15. Oktober 2021

Freitag, 15. Oktober 2021, Lioh Möller

Wie bei Ubuntu üblich setzt sich ein Codename eines Releases aus einem Adjektiv und einem Tier zusammen. Die Namensgebung erfolgt in alphabetischer Reihenfolge. Nach Impish Indri folgt zwangsläufig ein mit J beginnender Releasename, welcher laut den ersten Commits bereits feststeht. Dieser lautet: Jammy Jellyfish

Das Adjektiv Jammy kann in diesem Zusammenhang mit Glücks- übersetzt werden, also eine Glücks-Qualle.

14. Oktober 2021

RSS ist ein ebenso altes wie wichtiges Protokoll, um unabhängig von Algorithmen und irgendwelchen Interessen Dritter Inhalten zu folgen und Nachrichten zu konsumieren. Ausgerechnet in diesem so wichtigen Bereich ist Linux viel schlechter aufgestellt als macOS oder Windows.

Das finde ich ebenso bedauerlich wie verwunderlich. Normalerweise ist Linux bei so alten „Power-Lösungen“ immer ganz gut aufgestellt, aber hier überzeugt man vor allem durch Leerstellen. Feedsynchronisation ist bei der Vielzahl an Endgeräten heute nahezu unumgänglich, wenn man sich nicht jedes gelesene Feed merken möchte und angesichts der verbreiteten Unart, Feeds zu kürzen, braucht es eine gute Browser-Integration oder zumindest Weiterleitung an einen Browser.

Zur Bedeutung von RSS hatte ich mich hier bereits ausgelassen. Lange Zeit hatte ich mittels FreshRSS meine Feeds zwischen meinen Geräten abgeglichen. Dafür gibt es aber unter Linux kaum passende Clients. Den Abgesang auf FeedReader hatte ich vor bald 2 Jahren geschrieben. Schweren Herzens hatte ich mich von der Feed-Synchronisation verabschiedet und mit lokalen Feeds gearbeitet. Fazit: Es geht, aber es geht nicht gut.

Umso mehr habe ich mich gefreut als Rajdeep Singha FeedReader geforkt hat und seitdem unter dem neuen Namen „Communique“ erste Modernisierungsmaßnahmen vorgenommen hat.

Das Programm ist eigentlich für elementary OS bzw. die Pantheon Shell entwickelt, aber sieht erfahrungsgemäß auch unter GNOME und anderen Gtk-basierten Desktopumgebungen gut aus.

Es steht momentan als Flatpak zur Verfügung und ist zusätzlich unter openSUSE auch über den OBS zu finden. Einige nervige Bugs sind behoben, die GUI moderat und absolut sinnvoll überarbeitet und die Synchronisation läuft ohne Probleme.

Hoffentlich sehen wir da noch die ein oder andere neue Funktion, aber bereits im jetzigen Zustand ist es ein massiver Fortschritt zu z. B. Liferea oder Akregator.

Für mich eines der größten Highlights im Oktober. Nebenbei nutze ich die Gelegenheit, um beim Re-Umstieg von Lokal auf FreshRSS die Abonnements auszumisten und nur noch das hinzuzufügen, was ich auch wirklich lesen möchte.

Der Artikel FeedReader lebt weiter als Communique erschien zuerst auf [Mer]Curius

Do, 14. Oktober 2021, Lioh Möller

Wie geplant erfolgte heute die Veröffentlichung der aktuellen Ubuntu Version 21.10 mit dem Codenamen Impish Indri, welcher so viel bedeutet wie schelmischer Indri, wobei es sich bei Indris um eine Lemurenart handelt.

Da es sich um eine reguläre Variante der Distribution handelt, wird diese lediglich 9 Monate lang mit Updates versorgt (bis zum Juli 2022).

Ubuntu 21.10 setzt auf den Kernel 5.13. Dieser bietet insbesondere auf modernen Prozessorarchitekturen einen deutlichen Performancegewinn, wie es Phoronix kürzlich für die Intel Tiger Lake Plattform ermittelt hatte. Die Unterstützung für Surface Laptops und Tablets des Herstellers Microsoft wurde ebenfalls verbessert.

GCC wurde auf die Version 11.2.0 aktualisiert, binutils auf Version 2.37, und glibc auf Version 2.34. OpenJDK ist in Version 18 verfügbar.

Das Firewall-Backend wurde von iptables auf nftables gewechselt und auch im Desktop Bereich flossen eine Vielzahl von Neuerungen ein, so kommt bei der Standard Desktop-Variante erstmalig GNOME 40 zum Einsatz. Wayland Sitzungen lassen sich auch mit dem proprietären NVIDIA-Treiber nutzen und Pulsaudio wurde auf Version 15 aktualisiert.

Die Bürosuite LibreOffice liegt in Version 7.2.1 vor und Thunderbird ist in Version 91.1.2 enthalten. Firefox wird mit diesem Ubuntu-Release erstmals standardmässig als Snap ausgeliefert. Alternativ lässt sich der Browser weiterhin als deb Paket installieren und wird über diesen Weg ebenfalls mit Aktualisierungen versorgt.

Eine ausführliche Auflistung aller Neuerungen findet sich in den Release Notes.

Download: https://releases.ubuntu.com/21.10/ubuntu-21.10-desktop-amd64.iso

Der abgebildete Screenshot zeigt die Ubuntu Unity Variante.

Mit Ubuntu 21.10 »Impish Indri« hat Canonical das letzte Release vor der nächsten LTS-Version 22.04 fertiggestellt. Die wichtigsten Neuerungen lassen sich in zwei Punkten zusammenfassen: Ubuntu hat den Sprung auf Gnome 40 vollzogen (wenn auch nicht auf die aktuelle Version 41), und Firefox steht standardmäßig als Snap-Paket zur Verfügung. Das neue Installationsprogramm, an dem Canonical zur Zeit arbeitet, war noch nicht so weit gediehen, dass es für Version 21.10 zum Einsatz kommen konnte.

Ubuntu 21.10 verwendet Gnome 40 als Desktop — aber mit einem vertikalen Dock

Firefox und Snap

Leser meines Blogs wissen, dass ich kein ausgesprochener Fan der neuen Paketformate Snap und Flatpak bin. Ich verstehe natürlich den Nutzen distributions- und versionsunabhängiger Pakete, bin aber der Meinung, dass die Nachteile aufgrund des riesigen Overheads überwiegen. Unter Ubuntu 21.10 sind außer diversen Basispaketen nur der Paketmanager snap-store (das ist Canonicals Variante zu Gnome Software) sowie Firefox installiert:

snap list

Name               Version             Revision  Tracking         Herausgeber  Hinweise
bare               1.0                 5         latest/stable    canonical✓   base
core               16-2.51.7           11743     latest/stable    canonical✓   core
core20             20210928            1169      latest/stable    canonical✓   base
firefox            93.0-1              631       latest/stable/…  mozilla✓     -
gnome-3-38-2004    0+git.6ba6040       76        latest/stable/…  canonical✓   -
gtk-common-themes  0.1-59-g7bca6ae     1519      latest/stable/…  canonical✓   -
snap-store         3.38.0-66-gbd5b8f7  557       latest/stable/…  canonical✓   -

Der Platzbedarf für diese Pakete beträgt 674 MByte:

ls -lh /var/lib/snapd/snaps/

insgesamt 674M
-rw------- 1 root root 4.0K Oct 10 09:58 bare_5.snap
-rw------- 1 root root 100M Oct 10 09:58 core_11743.snap
-rw------- 1 root root  62M Oct 10 09:57 core20_1169.snap
-rw------- 1 root root 151M Oct 10 09:57 firefox_631.snap
-rw------- 1 root root 243M Oct 10 09:58 gnome-3-38-2004_76.snap
-rw------- 1 root root  66M Oct 10 09:58 gtk-common-themes_1519.snap
-rw------- 1 root root  55M Oct 10 09:58 snap-store_557.snap

Der Vorteil des Firefox-Snap-Pakets besteht darin, dass Canonical dieses Paket in Zukunft für sämtliche Versionen von Ubuntu warten kann. Ein nicht unerheblicher Nachteil besteht darin, dass der erste Start von Firefox Snap-bedingt spürbar langsamer als bisher erfolgt. (Ab dem zweiten Start ist der Unterschied kaum mehr wahrnehmbar.)

Das nächste Ärgernis ist die Verwaltung der Gnome Shell Extensions: Obwohl chrome-gnome-shell in Ubuntu standardmäßig installiert ist und ich auch die Firefox-Erweiterung Gnome Shell-Integration beim ersten Besuch von https://extensions.gnome.org/ installiert habe, kann Firefox die Extensions nicht verwalten. Meine Vermutung ist, dass das Paket chrome-gnome-shell im Ubuntu-Dateisystem für Firefox unzugänglich ist, weil dieser — Snap sei dank — ja quasi in seinem eigenen Betriebssystem läuft.

Firefox zickt bei der Darstellung der Gnome Shell Extensions

Ich bin der Sache nicht auf den Grund gegangen, weil es eine bequeme Alternative gibt: Ich habe Google Chrome installiert. Das Programm gibt es von Google als »richtiges« Paket samt eigener Paketquelle. (Es gibt in den offiziellen Ubuntu-Paketquellen übrigens noch immer ein DEB-Paket für Firefox. Dieses Paket soll aber in Version 22.04 verschwinden.)

Insgesamt stellt sich die Frage, ob Canonical mit der Snap-Entscheidung Firefox unter Ubuntu nicht endgültig den Todesstoß versetzt. Ein wenig gewinnt man in den letzten Jahren den Eindruck, Firefox entwickelt sich zu einem Programm für Idealisten.

Gnome 40

Über Gnome 40 habe ich schon genug geschrieben. Den aus meiner Sicht größte Mangel — das horizontale Dock — hat Canonical mit dem vorinstallierten Ubuntu Dock behoben. Dabei handelt es sich um eine Variante zu Dash to Dock (siehe auch Gnome 40 mit einem vertikalen Dock). Über das merkwürdige Aussehen des Papierkorb-Icons, das im Dock angezeigt wird, kann man streiten, aber davon abgesehen funktionieren sowohl Gnome 40 als auch das Dock wunderbar.

Die standardmäßig installierten Gnome Shell Extensions, dargestellt in Google Chrome

In den Systemeinstellungen kann zwischen einem hellen und einem dunklen Erscheinungsbild ausgewählt werden. Hier können Sie auch die Icon-Größe im Dock sowie dessen Position einstellen.

Gnome 40 im Dark Mode

Versionen

Basis             Desktop             Programmierung   Server
---------------   ------------------  --------------   --------------
Kernel     5.13   Gnome          40   bash       5.1   Apache     2.4
glibc      2.34   Firefox        93   docker   20.10   CUPS       2.3
X-Server   1.20   Gimp         2.10   gcc       11.2   MySQL      8.0
Wayland    1.19   LibreOffice   7.2   Java        11   OpenSSH    8.4
Mesa       21.2   Thunderbird    91   PHP        8.0   qemu/KVM   6.0
Systemd     248                       Python     3.9   Postfix    3.5
NetworkMan 1.32                                        Samba     4.13
GRUB       2.04 

Als Default-Java-Version gilt 11. Zur Auswahl stehen aber auch Java 16, 17 und sogar schon eine erste Testversion von Java 18. Der Umstieg auf PHP 8.0 ist willkommen; schade ist, dass Python 3.10 den Sprung in Ubuntu 21.10 nicht geschafft hat. (Zugegebenermaßen ist das Release gerade einmal vor 10 Tagen.)

Anmerkung

Für diesen Test habe ich Ubuntu 21.10 ausschließlich in einer virtuellen Maschine getestet. Grundsätzlich hat dabei alles wunschgemäß funktioniert. Einzig das Zusammenspiel mit Wayland hat Probleme verursacht (fallweise schwarzer Bildschirm, in Firefox kein Bild etc.). Ein neuerlicher Login mit X statt Wayland war die Lösung. Ob an den Problemen Wayland oder mein Virtualisierungssystem (KVM/QEMU) Schuld war, kann ich nicht sagen. Ähnliche Probleme hatte ich aber auch schon mit anderen Distributionen. Die Lösung hießt immer X.

Ich habe vor, mein Arbeits-Notebook nächste Woche auf Version 21.10 zu aktualisieren. Falls sich dabei neue Erkenntnisse ergeben (das ist anzunehmen), werde ich diesen Artikel noch einmal aktualisieren. Insbesondere möchte ich testen, wie gut Wayland mit den proprietären NVIDIA-Treibern harmoniert. (Die aktuelle Version der NVIDIA-Treiber ist erstmalig Wayland-kompatibel, aber zumindest laut Fedora-Berichten ist die Sache noch nicht richtig stabil.)

Praktische Erfahrungen (Update 4.11.2021)

Mittlerweile habe ich mein Notebook mit do-release-upgrade aktualisiert. Prinzipiell funktioniert das meiste. Anmerkungen:

  • Firefox (Snap) lässt sich bei mir nicht starten, weil ich — zugegebenermaßen non standard — eine eigene verschlüsselte Partition verwende, in dem sich mein Home-Verzeichnis befindet (daher der Pfad /crypt/home/kofler). Snap ist damit schon seit vielen Jahren überfordert (siehe hier). Diese Einschränkung lässt sich zur Not mit bind-Mounts umgehen. Wenig kundenfreundlich ist der Umstand, dass beim Start von Firefox auf dem Desktop nicht einmal eine Fehlermeldung erscheint. Klarheit schafft erst ein Start in einem Terminal. Na ja, für mich heißt die Lösung sudo snap remove firefox.
  • do-release-upgrade deaktiviert alle nicht-offiziellen Paketquellen. Dieses Verhalten ist zwar nicht neu, die manuelle Reaktivierung wird aber bei immer mehr eigenen Paketquellen für Chrome, Syncthing, Teams, VSCode usw. zunehmend mühsam.

  • Die neue Gnome-Version (na ja, so neu ist Version 40 gar nicht …) ist, wie üblich, zu einigen der von mir genutzten Shell Extensions inkompatibel. Das ist nicht immer ernst zu nehmen. In zwei Fällen hat es gereicht, in die Datei .local/share/gnome-shell/extensions/<extension-name>/metadata.json einfach eine neue Versionsnummer hinzuzufügen, also z.B. "40.0".

  • Die automatische Monitorabschaltung nach ein paar Minuten ohne Aktivität funktioniert nur noch sporadisch. Wenn ich den Rechner explizit in den Ruhemodus befördere, funktioniert aber alles, wie es soll (inklusive des Wiederaufwachens).

Fazit

Ich habe in den letzten Jahren Ubuntu als Standarddistribution auf meinem wichtigsten Arbeitsrechner verwendet (einem Lenovo-Notebook). Ja, ich habe mehr Rechner und noch viel mehr virtuelle Maschinen, auf denen ein buntes Sammelsurium von Distributionen läuft. Aber grundsätzlich hat sich Ubuntu in den letzten Jahren für mich gut bewährt; es läuft stabil, ich hatte selten ernsthafte Probleme (auch nicht mit Versionen außerhalb des LTS-Zyklus), selbst Microsoft Teams läuft (das brauche ich gelegentlich beruflich) und bin eigentlich zufrieden mit dem, was ich habe. Ganz pragmatisch: Es hat durchaus Vorteile, mit dem Linux-Mainstream mitzuschwimmen.

Bei Snap endet meine Liebe zu Ubuntu aber. Bisher war mein Ansatz, Snap samt allen dort mitgelieferten Paketen einfach zu deinstallieren. Noch ist das möglich: Ich kann Firefox durch ein APT-Paket oder gleich durch Google Chrome ersetzen, und statt dem snap-store verwende ich sowieso apt. Sollte ein Snap-freier Betrieb von Ubuntu irgendwann nicht mehr möglich sein, dann wird es mir sicher gelingen, mich mit einer anderen Linux-Distribution anzufreunden :-)

Quellen / Links / Andere Tests

11. Oktober 2021

Mo, 11. Oktober 2021, Lioh Möller

Bei Pyabr handelt es sich um ein Debian GNU/Linux basiertes Betriebssystem, welches sich primär an Desktop-Anwender richtet. Dabei unterscheidet es sich stark von herkömmlichen Linux-Distributionen, da die gesamte grafische Benutzeroberfläche in Python entwickelt wird.

Optisch bedient sich Pyabr bekannten Paradigmen, so verfügt der Desktop über zwei Panels, ähnlich wie es bei älteren GNOME-Versionen der Fall war. Am oberen Bildschirmrand befindet sich ein Panel mit einem Startmenü und einer Uhr. Den unteren Bildschirmrand ziert ein weiteres Panel mit Anwendungsstartern und einem Launcher. Dabei kommt die von KDE Plasma bekannte Breeze Theme zum Einsatz, welche dem Desktop ein modernes Aussehen verleiht.

Alle enthaltenen Applikationen basieren auf Python, die Auswahl ist aktuell allerdings noch eher spärlich. Neben einem Browser und einem Dateimanager stehen kleinere Tools wie ein Taschenrechner oder ein einfaches Malprogramm zur Verfügung. Mittels des Paye Paketmanagers lassen sich einige weitere Anwendungen installieren.

Die enthaltene Konsole startet standardmässig mit einer vom Projekt entwickelten Shell, welche nur die wichtigsten Grundbefehle zur Navigation im System mitbringt. Über die Eingabe von bash lässt sich allerdings eine vollwertige Bourne-again Shell starten, über die sich auch die erweiterten Funktionen der Debian-Basis nutzen lassen.

Den frühen Entwicklungsstand des Projektes nimmt man schnell wahr, denn viele Funktionen sind nicht verfügbar oder Anwendungen stürzen während der Benutzung ab. Der mitgelieferte Installer beispielsweise führt regelmässig zu einem Neustart des Systems.

Dennoch ist es erstaunlich, was das vergleichsweise junge Projekt bisher auf die Beine gestellt hat und es bleibt zu hoffen, dass sich daraus in absehbarer Zeit tatsächlich ein vollwertiges Desktop-Betriebssystem entwickelt.

Quelle: https://en.pyabr.ir
Release Notes: https://en.pyabr.ir/index.php/2021/08/11/new-release-of-pyabr

10. Oktober 2021

Verschlüsselung schützt zwar Daten, schränkt aber naturgemäß die Datenverfügbarkeit ein und damit auch die Möglichkeiten zur Wiederherstellung von Daten von defekten Speichermedien oder fehlerhaften Betriebssystemen. Deshalb sind Backups sehr wichtig.

Ist ein unverschlüsseltes System unwiederbringlich defekt, bootet man entweder von einer Live-CD oder baut das Speichermedium aus, um an die Daten zu kommen. Schwieriger wird es, wenn es irgendwelchen Gründen der LUKS Header defekt ist oder das Speichermedium selbst Probleme hat. Datenrettung bei verschlüsselten Systemen ist keine schöne Sache. Deshalb sind Backups hier noch wichtiger als sie es sonst schon sind.

Allerdings gefährden unverschlüsselte Backups wiederum die Sicherheit. Es macht keinen Sinn, ein Betriebssystem komplett zu verschlüsseln, wenn in der Schreibtischschublade eine unverschlüsselte externe Festplatte mit allen Daten liegt. Die Lösung ist hier relativ einfach: Man verschlüsselt auch die externen Speichermedien.

Schwieriger ist das bei Sicherungen auf einem NAS. Die Geräte laufen meist im 24/7-Betrieb oder zumindest dauerhaft in einem festgelegten Nutzungszeitraum. Während der Laufzeit sind die Backup-Volumes naturgemäß entschlüsselt. Die meisten Anwender lassen das NAS-Betriebssystem verschlüsselte Volumes auch gleich beim Start entschlüsseln, da eine zusätzliche Passworteingabe bei entfernten Systemen extrem unpraktisch ist.

Bei den immer beliebteren Backups in der Cloud ist eine clientseitige Verschlüsselung auf dem Gerät des Nutzers während des Backup-Vorgangs sowieso Pflicht, weil man ansonsten alle seine Daten dem Cloud-Betreiber ausliefert.

Man kann hier mit LUKS-Containern oder Verschlüsselungslösungen für die Cloud arbeiten und dann Daten per rsync sichern oder gleich eine integrierte Softwarelösung nutzen.

Vorteile von Déjà Dup

Eine solche integrierte Lösung bietet die GNOME-Software Déjà Dup. Dabei handelt es sich um Frontend für Duplicity, das eine ziemlich ausgereifte Backup-Lösung ist. Ich hatte um Déjà Dup immer einen Bogen gemacht, weil es als GNOME-Programm ziemlich viele Abhängigkeiten in dessen Ökosystem mit sich zieht. Seit meinem vollständigen Wechsel auf die Pantheon Shell ist das kein Problem mehr, weil Déjà Dup sich sehr gut in Gtk-basierte Desktopumgebungen integriert.

Déjà Dup ist eine langjährig etablierte Software und bei allen Linux-Distributionen in den Paketquellen enthalten. Die Version ist dabei zweitrangig, da in den letzten Jahren keine substanzielle Entwicklung jenseits von kleinen Modifikationen und Fehlerbehebungen erfolgte.

Natürlich kann man Duplicity genau wie andere CLI-Lösungen auch ohne grafische Oberfläche nutzen. Ich habe zwar kein Problemen mit der Kommandozeile, aber schätze gute und einfach zu bedienende grafische Oberflächen. Ich möchte nicht für jedes Backup, jeden Mount-Vorgang und jede kleine Wartungsaufgabe einen Befehl eingeben. Die Kommandozeile ist bei mir Anwendungen vorbehalten, deren Vielfalt sich nur schlecht in grafische Umgebungen packen lässt und wo ich mehr Kontrolle benötige. Beispielsweise bei der Paketverwaltung unter openSUSE.

Déjà Dup bietet einige Alleinstellungsmerkmale gegenüber anderen Backup-Lösungen für Linux. Es bietet – wie bereits geschrieben – eine übersichtliche grafische Oberfläche, beherrscht die Verschlüsselung der Backups, kann über GVFS problemlos Netzwerkfreigaben als Backupziele auswählen und lässt sich einfach als automatisieren.

Automatische verschlüsselte Backups mit Déjà Dup

Die Einrichtung ist dank der einfachen Einrichtungsroutine schnell erledigt. Beim Programmstart klickt man einfach auf die Schaltfläche zur Erstellung einer ersten Sicherung.

Anschließend werden die zu sichernden Ordner und die ausgeschlossenen Ordner festgelegt. Standardmäßig schlägt Déjà Dup das Homeverzeichnis des Anwenders zur Sicherung vor und exkludiert Download-Verzeichnis und Papierkorb. Danach legt man das Sicherungsziel fest. Entweder ein Ordner (der auch auf einem externen Speichermedium liegen kann) oder auf einer Netzfreigabe. Abschließend fragt das Programm noch, ob man die Sicherung mit einem Passwort schützen möchte. Hierdurch aktiviert man die clientseitige Verschlüsselung.

Danach beginnt die erste Sicherung. Je nach Menge der zu sichernden Daten, Qualität des heimischen Netzwerks und Geschwindigkeit des NAS, kann dieser Vorgang eine Weile dauern.

Ohne Verschlüsselung legt Déjà Dup bzw. Duplicity die Datensicherung in Form vieler tar.gz Archive an, mit aktivierter Verschlüsselung werden diese Archive mit GnuPG verschlüsselt.

Ist die erste Sicherung erfolgreich durchgelaufen zeigt Déjà Dup die Option zur automatischen Sicherung an.

Sobald man die entsprechende Option aktiviert, startet das Programm mit einem festgelegten Sicherungsintervall. Optionen um die Häufigkeit zu regulieren fehlen allerdings. Eine automatische Sicherung macht natürlich nur Sinn, wenn das Backupziel permanent verfügbar ist.

Déjà Dup sichert die Daten inkrementell, das bedeutet die Sicherung enthalten nur die geänderten Daten. In regelmäßigen Abständen oder bei großer zeitlicher Distanz zwischen zwei Sicherungen führt das Programm automatisch eine Vollsicherung durch.

Eine Wiederherstellung der Dateien ist über den Reiter „Wiederherstellen“ möglich. Über das Dropdown-Menü „Datum“ lassen sich die einzelnen Sicherungen selektieren und einzelne Dateien oder ganze Ordner auf einen beliebigen Stand zurücksetzen.

Nachteile von Déjà Dup

Das führt auch direkt zu den Nachteilen von Déjà Dup. Die Sicherung erfolgt in Archiven und mit Verschlüsselung, die sich ohne entsprechende Software nicht lesen lässt. Es benötigt zwar nicht zwingend Déjà Dup zur Wiederherstellung von Backups, aber zwingend Duplicity und das gibt es nur für Linux. Die so erzeugten Backups lassen sich also nicht unter Windows oder macOS lesen oder wiederherstellen.

Weiterhin lassen sich keine Backup-Profile erstellen. Man kann also mittels Déjà Dup dasselbe System nicht auf ein NAS und zusätzlich noch auf Festplatten sichern. Ich nutze Dèjà Dup deshalb nur für das NAS, weil hier Automatisierung und Verschlüsselung ihre Stärken ausspielen und sichere die Daten zusätzlich noch auf externe Festplatten mittels (G)rsync. Die Sicherung der Daten übernimmt hier eine herkömmliche LUKS-Verschlüsselung.

Zusammengefasst

Déjà Dup bietet eine sehr gute Oberfläche für ein mächtiges Backup-Tool, mit dem sich niedrigschwellig Datensicherungen automatisieren lassen. Beides sind für Backups wichtige Aspekte, weil nur Automatisierung und ein leichter Zugang dafür sorgen, dass Anwender auch wirklich Backups machen und diese regelmäßig durchführen.

Die einfach gehaltene Oberfläche bringt ein paar Nachteile mit sich, aber Déjà Dup ist trotzdem die beste grafische Backuplösung für den Linux-Desktop.

Der Artikel Verschlüsselte Backups mit Déjà Dup und Duplicity erschien zuerst auf [Mer]Curius

Wenn man unter KDE Plasma beispielsweise ein Widget auf den Desktop abgelegt hat, konnte man den Desktop so sperren, dass man die Widgets so lange nicht mehr verschieben konnte bis man die Sperre aufgehoben hat.

Diese Funktion wurde meines Wissens (warum auch immer) aus der grafischen Oberfläche entfernt. Nun ist es mir in letzter Zeit öfters passiert, dass ich auf ein Icon in der Schnellstartleiste zu lange geklickt haben und sich dabei den Mauszeiger bewegt hat. Was dazu geführt hat, dass sich beispielsweise das Icon, über das ich den Browser starte, auf den Desktop verschoben wurde. Was mich nervt.

Die Sperrfunktion gibt es aber intern weiterhin. Hierfür einfach folgendes im Terminal ausführen.

qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(true)"

Zum Entsperren dann einfach den gleichen Befehl ausführen und das true auf false ändern. Damit man nicht jedes Mal die Sperre manuell aktivieren muss, kann man den Befehl beispielsweise in die Autostart-Funktion eintragen die man über die Systemeinstellung von KDE Plasma bearbeiten kann.