Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

Raspberry Pi Zero 2

23. Dezember 2021 um 20:15

Seit Ende Oktober 2021 ist die Raspberry-Pi-Familie um ein weiteres Mitglied gewachsen: Der Raspberry Pi Zero 2 löst die vorangegangenen Zero-Modelle ab. Das wichtigste Unterscheidungsmerkmal ist die wesentlich schnellere CPU im System-on-a-Chip (SoC) mit der Bezeichnung BCM2710A1. Dahinter versteckt sich eine Variante des SoC aus dem Raspberry Pi 3. Der Zero 2 glänzt jetzt mit 4 Cores und einer Taktfrequenz von 1 GHz. Damit ist die Rechenleistung um ein Vielfaches höher als bisher.

Persönlich war meine größte Befürchtung, dass sich die höhere Geschwindigkeit auch in einer spürbar höheren Leistungsaufnahme widerspiegeln würde. Tatsächlich ist dies aber laut Messungen von hackaday.com nur teilweise der Fall. Zwar fließen unter Volllast knapp 450 mA Strom (entspricht einer Leistungsaufnahme von 2,2 W). Die Leistungsaufnahme ist damit fast 2,5 mal höher als bei den bisherigen Zero-Modellen. Errechnet man allerdings die CPU-Leistung pro Watt, dann ist der Zero 2 der effizienteste Minicomputer, den die Raspberry Pi Foundation bisher produziert hat. Im Leerlauf sind Zero und Zero 2 fast genauso sparsam (rund 0,4 W beim Zero, rund 0,5 W beim Zero 2).

Der Raspberry Pi Zero 2

Wenn Ihnen die maximale Leistungsaufnahme des Zero 2 zu hoch ist, können Sie durch einen Kernel-Option drei der vier Cores sperren. Damit sinkt die Leistungsaufnahme unter Volllast auf die Hälfte, die Geschwindigkeit allerdings auf ein Viertel. Details dazu können Sie im Blog nachlesen.

Eigener Test

Ich habe den Zero 2 mit Raspberry Pi OS Lite (Bullseye) ausprobiert. Eigentlich wollte ich Hostnamen, WLAN und SSH-Zugang vorweg im Raspberry Pi Imager konfigurieren; beim ersten Versuch hat dies überhaupt nicht funktioniert. Beim zweiten Versuch wurden immerhin der Hostname und das Passwort korrekt gesetzt, aber die WLAN-Verbindung funktionierte wieder nicht. Es ist mir nichts anderes übrig geblieben, als den Zero 2 an einen Monitor und eine Tastatur anzuschließen und die Konfiguration manuell in raspi-config vorzunehmen. Das ist ärgerlich, weil gerade der Zero 2 mit seinen wenigen und exotischen Anschlüssen für eine Headless-Installation prädestiniert ist.

Nachdem diese Hürden gemeistert waren, verhielt sich der Zero 2 unauffällig. Gemessen daran, dass es sich um ein Zero-Modell handelt, läuft der Mini-Computer verblüffend schnell und (z.B. während Updates) ohne unangenehm heiß zu werden.

Eckdaten

  • Größe: 65 mm x 30 mm
  • SoC: BCM2710A1, 4 Cortex-A53-Cores
  • RAM: 512 MByte
  • Anschlüsse: 2 x Micro-USB (1 x Stromversorgung, 1 x Daten), Mini-HDMI, Mini-Kameraanschluss (erfordert Adapter)
  • WLAN 2,4 GHz 802.11b/g/n
  • Bluetooth 4.1
  • Leistungsaufnahme: 0,4 W (Leerlauf) bis 2,2 W (alle 4 Cores unter Volllast)
  • 40 GPIOs (Lötkontakte, keine Steckerleiste!)

Beachten Sie, dass sämtliche Zero-Modelle, also auch der neue Zero 2, mit einem Mini-HDMI-Anschluss ausgestattet sind. Der Raspberry Pi 4B verwendet dagegen Micro-HDMI. Sie brauchen also für den Zero 2 ein eigenes Kabel oder einen Adapter.

Preis

Das ursprüngliche Zero-Modell wurde ursprünglich als Raspberry Pi für nur fünf Euro beworben. Tatsächlich war er aber nur schwer zu diesem Preis erhältlich (und wenn, dann nur bei der Abnahme hoher Stückzahlen). Beim Zero 2 sieht es aktuell noch schlimmer aus: Laut geizhals ist das Gerät aktuell (Dez. 2021) generell schwer erhältlich und kostet beachtliche 30 Euro — Schnäppchen ist das keines! Der hohe Preis hat mit Corona, dem allgemeinem Chip-Mangel, dem Brexit etc. zu tun, ist also nicht unbedingt die Schuld der Raspberry Pi Foundation. Trotzdem: Wer den Zero 2 kauft, tut dies sicher nicht wegen des günstigen Preises, sondern weil er/sie einen winzigen, leistungseffizienten, Pi-kompatiblen Mini-Computer sucht.

Fazit

  • tolle Hardware, aber mit 512 MB RAM nicht Desktop-tauglich
  • aktuell viel zu teuer
  • Headless-Inbetriebnahme gescheitert

Red Hat Enterprise Linux 8.6 veröffentlicht

11. Mai 2022 um 19:04
Red Hat gab die allgemeine Verfügbarkeit seiner Linux Business Server Lösung Red Hat Enterprise Linux (RHEL) 8.6 als neuestes Update seiner Red Hat Enterprise Linux 8 Betriebssystemserie bekannt. Red Hat Enterprise Linux 8.6 kommt mehr als sechs Monate nach Red Hat Enterprise Linux 8.5 und ist das fünfte Wartungsupdate für Red Hat Enterprise Linux 8...

Red Hat Enterprise Linux 9 (RHEL 9) wurde veröffentlicht

18. Mai 2022 um 18:25

Red Hat hat heute die allgemeine Verfügbarkeit von RHEL 9 bekanntgegeben. Nach rund sechs Monaten Entwicklung erschien nun mit RHEL 9 das unternehmenstaugliche Linux Betriebssystem mit erstklassiger Leistung. RHEL 9 kommt u.a. mit Linux Kernel 5.14 und führt verbesserte Webkonsolen-Leistungsmetriken ein um verschiedene Bedrohungen, die die Leistung der Systeme beeinträchtigen können, besser zu identifizieren und...

Der Beitrag Red Hat Enterprise Linux 9 (RHEL 9) wurde veröffentlicht erschien zuerst auf MichlFranken.

Linux Kernel 5.19 veröffentlicht

03. August 2022 um 07:14

Linux Torvalds hat die Veröffentlichung und die allgemeine Verfügbarkeit der Linux 5.19 Kernel Serie als neuen Hauptzweig bekanntgegeben. Damit kommen neue Funktionen, verbesserte Unterstützung von Hardware, sowie zahlreiche Fehler- und Sicherheitskorrekturen. Kernel 5.19 kommt nun rund zwei Monaten nach Kernel 5.18 und bietet u.a.: Unterstützung für ZSTD-komprimierte Firmware Dateien Unterstützung für Secure Nested Paging Funktionen...

Der Beitrag Linux Kernel 5.19 veröffentlicht erschien zuerst auf MichlFranken.

FreeBSD-Kernel bekommt experimentelle Rust-Patches

02. September 2022 um 08:20

Die Rust-Arbeiten an Linux zeigen, dass die Sprache auch im Kernel genutzt werden kann. Nun gibt es Experimente für FreeBSD.

Der Entwickler David Young hat experimentelle Patches erstellt, um Kernel-Module für FreeBSD in der Programmiersprache Rust erstellen zu können. Das berichtet Young zusammen mit einer sehr ausführlichen Erläuterung im Forschungsblog des IT-Sicherheitsunternehmens NCC Group.

Motivation der Arbeiten sind dabei die zahlreichen Speicherfehler, die im Zusammenhang mit der Nutzung von C und C++ auftreten, in denen bisher üblicherweise Betriebssystemkernel erstellt werden. Young schreibt dazu: “Es ist allgemein anerkannt, dass ein großer Teil der Sicherheitsprobleme in komplexer Software auf Speichersicherheitsprobleme zurückzuführen ist.” Die Sprache Rust helfe dagegen dabei, bestimmte Fehlerklassen im Zusammenhang mit der Speicherverwaltung vorzubeugen.

Young verweist darüber hinaus auf die Arbeiten am Linux-Kernel, um dort Rust als Sprache neben C zu etablieren. Auch diese Arbeiten sind primär durch die Sicherheitsperspektive motiviert. Das sieht auch Linux-Gründer Linus Torvalds als einen der Hauptvorteile der Arbeiten an. Für FreeBSD habe es bisher bis auf veralteten Beispielcode aber keine Arbeiten in diese Richtung gegeben, weshalb Young diese Arbeit nun wieder aufgenommen habe, schreibt er.

Der so entstandene Code steht nun auf Github bereit. Dabei handelt es sich unter anderem um Rust-Sprachanbindungen für die Kernel-Header von FreeBSD, eine sichere Abstraktionsschicht sowie ein Beispielmodul. Die Abstraktionen seien jedoch nicht so fortgeschritten, wie dies bei Linux der Fall sei, räumt Young ein. Darüber hinaus wünscht sich der Entwickler, dass diese Arbeiten weitergeführt und künftig eventuell auch Kern-Komponenten in Rust erstellt werden. Ob dies aber letztlich geschieht und der Code in den Hauptzweig von FreeBSD aufgenommen wird, ist derzeit noch nicht absehbar.

Der Beitrag FreeBSD-Kernel bekommt experimentelle Rust-Patches erschien zuerst auf Linux-Magazin.

getent – Informationen über User, Gruppen, Services und mehr anzeigen

12. September 2022 um 05:00

Im Artikel „Wie kann man Hostnamen ohne Programme aus dem Paket bind-utils auflösen?“ hatte ich getent bereits genutzt, um Hostnamen auflösen zu können, wenn kein Programm aus dem Paket bind-utils installiert ist. In diesem Artikel möchte ich getent einmal ganz allgemein vorstellen.

Das Kommando getent steht auf so gut wie jedem Linux- und UNIX-System zur Verfügung. Es steht für get entries und tut genau das. Es ruft Einträge aus Textdateien ab (in diesem Kontext auch Datenbanken genannt), die auf eurem System vorhanden sind. Genau genommen kann es alle Datenbanken abfragen, die in der Datei /etc/nsswitch.conf (siehe nsswitch.conf(5)) konfiguriert sind. Damit lässt sich auf reichhaltige Informationen zugreifen, ohne eine Internet-Suchmaschine zu bemühen. Es funktioniert sogar auf Systemen ohne Internetkonnektivität (ja auch heutzutage gibt es solche Systeme noch).

Ich möchte hier allerdings nicht die Manpage getent(1) widergeben, sondern euch ein paar Anwendungsbeispiele zeigen, bei denen ich getent hilfreich finde.

Informationen zu Ports, Services und Protokollnummern

Nehmen wir mal an, in einem Firewall-Log fallen uns die Ports 5432 und 11371auf und wir können uns gerade nicht daran erinnern, für welche Services diese üblicherweise verwendet werden. So hilft uns folgende Abfrage auf unserem Linux-/UNIX-System weiter:

$ getent services 5432 11371
postgresql            5432/tcp postgres
hkp                   11371/tcp

Die Ports gehören also zu PostgreSQL und zu OpenPGP-HTTP-Keyservern.

Umgekehrt funktioniert das natürlich auch. Mal angenommen, ihr habt die Standard-Ports für NTP und MySQL vergessen:

$ getent services ntp mysql
ntp                   123/udp
mysql                 3306/tcp

Der Befehl getent services ohne weitere Argumente gibt euch den gesamten Inhalt der Datenbank aus.

Auf dem gleichen Weg lassen sich auch die Protokollnummern gängiger Protokolle ermitteln:

$ getent protocols tcp udp rdp icmp
tcp 6 TCP
udp 17 UDP
rdp 27 RDP
icmp 1 ICMP

Informationen über User und Gruppen

Selbstverständlich kann man diese Informationen auch mit `grep <Suchmuster> /etc/{groups,passwd} erhalten. Es geht aber auch wie folgt:

$ getent passwd root
root:x:0:0:root:/root:/bin/bash
$ getent group root
root:x:0:
$ getent group sudo
sudo:x:27:alice

Ein Beispiel für Hostnamen findet sich bereits hier.

Fazit

Ich finde, getent ist ein einfach zu bedienendes und nützliches Programm. Seid ihr neugierig geworden? Dann schaut doch mal in die Manpage getent(1) für weitere Hinweise, wie und wofür ihr es nutzen könnt.

Linux Kernel 6 veröffentlicht

03. Oktober 2022 um 06:30

Linus Torvalds gab die Veröffentlichung und allgemeine Verfügbarkeit von Linux 6.0 als einer großen Linux Kernel-Serie bekannt, die neue Funktionen, verbesserte Hardwareunterstützung sowie Fehler- und Sicherheitskorrekturen bringt. Kernel 6 kommt nach etwa zweimonatiger Entwicklungszeit nach Kernel 5.19 und bietet Unterstützung für die Hardwarearchitektur AArch64 (ARM64), um transparente riesige Pages auszutauschen, ohne sie aufzuteilen, Unterstützung für...

Der Beitrag Linux Kernel 6 veröffentlicht erschien zuerst auf MichlFranken.

Ubuntu Pro bringt 10 Jahre Support – auch für Universe Repository

05. Oktober 2022 um 14:48

Mark Shuttleworth hat die offene Beta Phase von Ubuntu Pro angekündigt. Damit einhergehend wird Ubuntu Desktop allgemein erheblich aufgewertet. Ubuntu Pro (derzeit in der öffentlichen Beta) erweitert die zehnjährige Sicherheitsabdeckung von Ubuntu auf zusätzliche 23.000 Pakete über das Hauptbetriebssystem hinaus. Darunter Ansible, Apache Tomcat, Apache Zookeeper, Docker, Drupal, Nagios, Node.js, phpMyAdmin, Puppet, PowerDNS, Python 2,...

Der Beitrag Ubuntu Pro bringt 10 Jahre Support – auch für Universe Repository erschien zuerst auf MichlFranken.

Red Hat Device Edge für kleine Geräte

26. Oktober 2022 um 08:44

Red Hat kündigt mit Red Hat Device Edge eine supportete Lösung von MicroShift an. Device Edge soll traditionelle oder containerisierte Workloads auf kleinen Geräten wie Robotern, IoT-Gateways, Verkaufsstellen und öffentlichen Verkehrsmitteln bereitstellen.

Die Kubernetes-Orchestrierungslösung baut zudem auf den Edge-Funktionen von Red Hat OpenShift auf und spielt mit einem Edge-optimierten Betriebssystem, das auf Red Hat Enterprise Linux basiert zusammen.

In vielen Industriesektoren, etwa der Automobilbranche und der Fertigungsindustrie seien kleine Edge-Geräte gefragt, die in einer ressourcenbeschränkten Umgebung arbeiten können, teilt Red Hat mit.

Red Hat Device Edge soll auf kleinstem Raum Container am Edge bereitstellen und die Rechenanforderungen im Vergleich zu herkömmlichen Kubernetes-Edge-Konfigurationen um bis zu 50 Prozent reduzieren, so Red Hat weiter.

Die Bestandteile von Device Edge sind ein für die Edge-Bereitstellung entwickeltes Kubernetes, das vertraute Kubernetes-Funktionen in einer kleineren und leichteren Version bereitstelle, die von MicroShift angeboten werde. Zudem kommt ein Edge-optimiertes Red Hat Enterprise Linux zum Zug und die Überwachung von Edge-Geräten übernehme Red Hat Smart Management.

Red Hat Device Edge soll als Developer Preview für Anfang nächsten Jahres geplant und wird voraussichtlich später im Jahr 2023 mit vollem Support allgemein verfügbar sein.

Der Beitrag Red Hat Device Edge für kleine Geräte erschien zuerst auf Linux-Magazin.

Red Hat Enterprise Linux 8.7 veröffentlicht

15. November 2022 um 08:00

Red Hat gab die allgemeine Verfügbarkeit seiner Linux Business Server Lösung Red Hat Enterprise Linux (RHEL) 8.7 als neuestes Update seiner Red Hat Enterprise Linux 8 Betriebssystemserie bekannt. Red Hat Enterprise Linux 8.7 kommt etwa sechs Monate nach Red Hat Enterprise Linux 8.6 und ist das siebte Wartungsupdate für Red Hat Enterprise Linux 8 Serie....

Der Beitrag Red Hat Enterprise Linux 8.7 veröffentlicht erschien zuerst auf MichlFranken.

Red Hat Enterprise Linux 9.1 veröffentlicht

18. November 2022 um 13:33

Red Hat gab die allgemeine Verfügbarkeit seiner Linux Business Server Lösung Red Hat Enterprise Linux (RHEL) 9.1 als neuestes Update seiner Red Hat Enterprise Linux 9 Betriebssystemserie bekannt. Red Hat Enterprise Linux 9.1 kommt etwa sechs Monate nach Red Hat Enterprise Linux 9 und ist das erste Wartungsupdate für Red Hat Enterprise Linux 9 Serie....

Der Beitrag Red Hat Enterprise Linux 9.1 veröffentlicht erschien zuerst auf MichlFranken.

Windows Subsystem für Linux offiziell im Windows-Store

24. November 2022 um 09:07

Das Windows Subsystem für Linux (WSL) im Microsoft Store hat sein “Preview”-Label verloren und wird der nun veröffentlichten neuen Version allgemein verfügbar, teilt Microsoft mit. Die Store-Version von WSL werde nun auch zur Standardversion für neue Benutzer, die “wsl –install” ausführen, heißt es weiter.

Für bestehende Benutzer sei ein einfaches Upgrade durch wsl –update möglich, teilt Microsoft weiter mit. Wer die Store-Version der WSL verwende, erhalten WSL-Updates auch schneller als früher, als das WSL noch eine Windows-Komponente gewesen sei, erläutert Microsoft.

Auf Wunsch der WSL-Community sei WSL im Store neben Windows 11 nun auch unter Windows 10 verfügbar. Damit könnten auch Windows 10-Nutzer die neuen WSL-Funktionen nutzen, einschließlich “systemd” und Linux-GUI-App-Unterstützung.

Craig Loewen, Program Manager bei der Windows Developer Platform beschreibt die künftigen Versionen von WSL so: Da WSL 2 der Standard-Distributionstyp ist und die Store-Version von WSL der Standard-Installationsort ist, können Sie einfach sagen: WSL ist eine App im Microsoft Store, mit der Sie ein echtes Linux ausführen können, das sich direkt in Windows integriert.

Um die neueste Version von WSL installieren zu können, muss auch Windows auf dem neuesten Stand sein, schreibt Craig Loewen. In seinem ausführlichen Blogpost sind die Details und Voraussetzungen genannt.

Der Beitrag Windows Subsystem für Linux offiziell im Windows-Store erschien zuerst auf Linux-Magazin.

Ubuntu Touch OTA-24 veröffentlicht

26. November 2022 um 08:30

Die Entwickler von UBports haben die OTA-24 Version für das mobile Betriebssystem Ubuntu Touch veröffentlicht. Nach rund fünf Monaten seit Ubuntu Touch OTA-23 basiert OTA-24 weiterhin auf den Upstream-Repos von Ubuntu 16.04, kommt aber mit Verbesserungen, die die allgemeine Stabilität und Zuverlässigkeit erhöhen. Zu den Highlights dieser Version gehören die anfängliche Unterstützung von Gesten mit...

Der Beitrag Ubuntu Touch OTA-24 veröffentlicht erschien zuerst auf MichlFranken.

Mein Linux Jahresrückblick 2022

30. Dezember 2022 um 15:30

Sind wir schon wieder im Jahresrückblick? Ja verreck! Hier ist übrigens Michael aus Franken. Und wir sind hier beim Jahresrückblick 2022. Was gabs dieses Jahr Besonderes im Umfeld von FOSS, Linux und Allgemein? Spontan keine Ahnung? Dann bleib dran, denn jetzt geht’s los. Darauf hatte ich mich im letzten Video von 2021 für 2022 gefreut...

Der Beitrag Mein Linux Jahresrückblick 2022 erschien zuerst auf MichlFranken.

Canonical gibt allgemeine Ubuntu Pro Verfügbarkeit bekannt

30. Januar 2023 um 12:53

Das Unternehmen Canonical hat die Verfügbarkeit seines umfassenden Ubuntu Pro Abonnements für Ubuntu Nutzer bekanntgegeben. Im Oktober 2022 wurde Ubuntu Pro in Beta-Phase gestartet und LTS Anwendern auch durch eine Terminal-Meldung bekanntgemacht. Für den persönlichen Gebrauch oder Kleinunternehmen mit bis zu fünf Instanzen / Systemen ist das Ubuntu Pro Abo kostenfrei zu haben. Ubuntu Pro...

Der Beitrag Canonical gibt allgemeine Ubuntu Pro Verfügbarkeit bekannt erschien zuerst auf MichlFranken.

LibreOffice 7.5 Community ist veröffentlicht

Von: jdo
02. Februar 2023 um 11:01

Ab sofort gibt es LibreOffice 7.5 Community. Es ist die neueste Hauptversion der von Freiwilligen unterstützten freien Office-Suite. Du kannst die Software ab sofort für Linux, Windows (Intel/AMD- und ARM-Prozessoren) sowie macOS (Apple- und Intel-Prozessoren) herunterladen. In der offiziellen Ankündigung stellt das Team die wichtigsten Neuerungen und Änderungen vor. Die wichtigsten Neuerungen gibt es auch im Schnelldurchlauf als Video. Neuerungen und Änderungen in LibreOffice 7.5 Community Die allgemeinen Änderungen sind wie folgt aufgelistet: LibreOffice 7.5 – Verbesserungen und Neuerungen gibt […]

Der Beitrag LibreOffice 7.5 Community ist veröffentlicht ist von bitblokes.de.

Canonical gibt Echtzeit-Ubuntu-Kernel frei

16. Februar 2023 um 18:09

Der Ubuntu-Hersteller Canonical hat die allgemeine Verfügbarkeit eines Echtzeit-Ubuntu-Kernels der Enterprise-Klasse für Ubuntu 22.04 LTS-Systeme bekannt gegeben, um Unternehmen End-to-End-Sicherheit und Zuverlässigkeit für ihre zeitkritischen Workloads zu bieten. Der Echtzeit-Ubuntu-Kernel wurde ursprünglich für Unternehmen in den Bereichen Luft- und Raumfahrt, Automobil, Verteidigung, IoT, Robotik und Telekommunikation sowie für den öffentlichen Sektor und Einzelhandel entwickelt und...

Der Beitrag Canonical gibt Echtzeit-Ubuntu-Kernel frei erschien zuerst auf MichlFranken.

LibreOffice 7.4.6 erschienen

09. März 2023 um 17:57

Die Document Foundation hat mit LibreOffice 7.4.6 die sechste Wartungsversion von LibreOffice 7.4 „Community“ veröffentlicht. Dabei werden über 70 Fehlerbehebungen ausgerollt. Knapp sechs Wochen nach der Veröffentlichung von LibreOffice 7.4.5 behebt die nun freigegebene Version einen kritischen Absturz, der eine größere Anzahl an Nutzern betraf. Mit an Bord sind auch weitere Fehlerbehebungen, um die allgemeine...

Der Beitrag LibreOffice 7.4.6 erschienen erschien zuerst auf MichlFranken.

LibreOffice 7.5.1 erschienen

12. März 2023 um 12:55

Die Document Foundation hat kürzlich mit LibreOffice 7.5.1 eine erste Wartungsversion der Community-Ausgabe veröffentlicht. Hauptaugenmerk liegt auf vielen Verbesserung, da insgesamt mehr als 90 Fehler ausgebügelt wurden. Die neue Hauptversion 7.5 erschien Anfang Februar. Die erste Wartung dürfte daher allgemein sehr wohlwollend aufgenommen werden. LibreOffice 7.5.1 kommt mit vielen neuen Funktionen und Verbesserungen. Hinzugekommen ist...

Der Beitrag LibreOffice 7.5.1 erschienen erschien zuerst auf MichlFranken.

GNOME 44 “Kuala Lumpur” veröffentlicht. Das ist neu

22. März 2023 um 16:02

Das GNOME-Projekt hat die allgemeine Verfügbarkeit der GNOME 44-Desktop-Umgebung angekündigt. Hierbei handelt es ich um eine großes Aktualisierung, die einige neue Funktionen und viele Verbesserungen mit sich bringt. Unter dem Codenamen “Kuala Lumpur“ führt GNOME 44 eine GTK4-Portierung des Webbrowsers Epihaphy (GNOME Web), eine Dateiauswahl-Gitteransicht für Anwendungen, die die Standard-GTK-Dateiauswahl verwenden, sowie Unterstützung für das...

Der Beitrag GNOME 44 “Kuala Lumpur” veröffentlicht. Das ist neu erschien zuerst auf MichlFranken.

Allgemeine Tipps für Raspberry Pi – meine eigene Sammlung

Von: jdo
14. April 2023 um 06:01

Der Raspberry Pi hat eine irre Entwicklung hinter sich. Es ist erstaunlich, wie weit das Projekt gekommen ist und es gibt stets neue Entwicklungen. Auch das hauseigene und auf Debian basierende Betriebssystem, Raspberry Pi OS, wird ständig weiterentwickelt. Es gibt allerdings diverse Befehle, die gleich bleiben und ich halte es für sehr vorteilhaft, sie zu kennen. Diese Kommandos sind keine Geheimnisse. Es handelt sich hier mehr um meine eigene Sammlung von Stichpunkten und was sich eben im Laufe der Jahre […]

Der Beitrag Allgemeine Tipps für Raspberry Pi – meine eigene Sammlung ist von bitblokes.de.

Linux Kernel 6.3 veröffentlicht

Von: MK
24. April 2023 um 17:16

Linus Torvalds hat die Veröffentlichung und allgemeine Verfügbarkeit von Linux 6.3 als neueste und beste Kernel-Serie für Linux-basierte Betriebssysteme verkündet. Mit dabei sind aktualisierte und neue Treiber für brandneue Hardware sowie neue Funktionen und Verbesserungen. Zu den Highlights des Linux-Kernels 6.3 gehören ein neuer DRM-beschleunigter Treiber für Intel VPU (Versatile Processing Unit), der VPU IP...

Der Beitrag Linux Kernel 6.3 veröffentlicht erschien zuerst auf MichlFranken.

Gnome 44.1 veröffentlicht

Von: MK
27. April 2023 um 10:00

Das GNOME-Projekt hat die allgemeine Verfügbarkeit der GNOME 44.1-Desktop-Umgebung angekündigt. Hierbei handelt es ich um eine erste Wartungsaktualisierung, die Korrekturen und Verbesserungen bringt. Nach etwa einem Monat seit der Veröffentlichung von Gnome 44 „Kuala Lumpur“ ist nun die erste Punktversion der neuesten Gnome Serie erschienen. Mit dabei ist im Menü nun der berüchtigte Abschnittstitel „Hintergrund-Apps“....

Der Beitrag Gnome 44.1 veröffentlicht erschien zuerst auf MichlFranken.

Gold-Images für KVM/QEMU erstellen

08. Mai 2023 um 05:00

Nachdem ich bereits beschrieben habe, wie ich Labor-Umgebungen mit Ansible in KVM erstelle, beschreibe ich in diesem Artikel, wie ich die dort verwendeten Gold-Images erstelle.

Ich erkläre kurz, was ein Gold-Image ist und wofür man es verwendet. Anschließend zeige ich, wie man mit dem Programm qemu-img eine Image-Datei auf der Kommandozeile erzeugt und diese im Installationsprozess für die Partitionierung und Erzeugung des LVM nutzt. Im Anschluss daran dokumentiere ich, welche Laufwerke und Dateisysteme ich für welchen Zweck erstelle und warum ich mich so entschieden habe. Der Text endet mit einer Sammlung von Quellen und weiterführenden Links zum Thema.

Der Text soll mir helfen, in Zukunft nachvollziehen zu können, warum ich mich so entschieden habe. Für euch mag er als Information dienen, wie ich im Unterschied zu euch an das Thema herangehe. Wer noch nie etwas von Gold-Images gehört hat, findet in diesem Text eine Erklärung und passende Quellen dazu.

Was ist ein Gold-Image?

Ein Gold-Image, auch Golden Image oder Baseline-Image genannt, bezeichnet eine Vorlage (engl. template) in virtuellen Umgebungen, woraus sich virtuelle Maschinen (VMs) klonen lassen (siehe [1-5]).

In ein Gold-Image werden all die Softwarekomponenten, Anwendungen und Konfigurationsoptionen aufgenommen, welche Bestandteil aller davon abgeleiteten VMs sein sollen. Klonen ermöglicht die schnelle Bereitstellung neuer Systeme. Dies ist besonders dann nützlich, wenn sich die VMs sehr ähnlich sind und man nur eine geringe Anzahl von Gold-Images pflegen muss.

Ich nutze Gold-Images, um für die von mir verwendeten Linux-Distributionen jeweils eine Installation manuell durchzuführen, welche die minimal erforderlichen Pakete enthält, um die abgeleiteten Klone mit Ansible fertig konfigurieren zu können. Wie ich dabei vorgehe, beschreibe ich in den folgenden Abschnitten.

Erstellung der Image-Datei

Im ersten Schritt erstelle ich Image-Dateien im qcow2-Format. Bei diesem Format handelt es sich um das heute gebräuchliche Format in KVM-/QEMU-Umgebungen. Zur Erstellung verwende ich das QEMU disk image utility qemu-img.

Die allgemeine Form des Befehls lautet (Details siehe Manpage qemu-img(1)):

qemu-img create -f FORMAT DATEINAME GRÖßE

Der folgende Befehl erstellt eine Image-Datei im qcow2-Format, mit 20 Gigabyte Größe und dem Dateinamen debian11-template.qcow2 im Pfad /var/lib/libvirt/images/:

$ qemu-img create -f qcow2 /var/lib/libvirt/images/debian11-template.qcow2 20G
Formatting '/var/lib/libvirt/images/debian11-template.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=21474836480 lazy_refcounts=off refcount_bits=16

Dabei werden die 20 GB nicht sofort alloziert. Zu Beginn belegt die Datei lediglich einige Kilobyte und kann je nach Nutzung auf die maximale Größe von 20 GB anwachsen. Diese Bereitstellungsform ist auch als Thin provisioning bekannt.

ls -sh /var/lib/libvirt/images/debian11-template.qcow2
193K /var/lib/libvirt/images/debian11-template.qcow2

Es lässt sich auf diese Weise mehr Speicherplatz provisionieren, als tatsächlich im System zur Verfügung steht. Dabei gilt jedoch zu beachten, dass sich die Physik nicht betrügen lässt. Man ist gut beraten, den realen Speicherverbrauch zu überwachen, um volllaufende Dateisysteme zu vermeiden.

Installation und Partitionierung

Bei der Installation des Gold-Images für Labor-Umgebungen mache ich es mir relativ einfach. Ich erstelle z.B. im virt-manager oder cockpit eine VM, die ich von einem Installations-ISO-Image der jeweiligen Distribution installiere.

Bei Debian installiere ich für gewöhnlich ein System ohne grafische Oberfläche, welches zusätzlich zur Basis-Installation lediglich die Paketgruppen SSH-Server und System-Werkzeuge umfasst. Bei Fedora oder RHEL führe ich die Minimal-Installation durch.

Ob bzw. welches Passwort für den Benutzer root vergeben wird, ist an dieser Stelle nicht wichtig, da dies beim Klonen in eine neue VM durch die Ansible-Rolle kvm_provision_lab geändert wird.

Der Installer erkennt eine Festplatte, die in diesem Text exemplarisch als /dev/vda bezeichnet wird. Diese wird nun wie folgt konfiguriert.

Vorwort zur Partitionierung

Das optimale Partitionslayout hängt vom konkreten Anwendungsfall ab und kann sich je nach Umgebung stark unterscheiden. Das von mir verwendete Layout passt aktuell am besten zu meinen Anforderungen. Es mag in Zukunft völlig anders aussehen.

Ich beschreibe, welche Partitionen ich erstelle und erläutere, warum ich mich zum Zeitpunkt der Erstellung dieses Textes dafür entschieden habe. Bitte übernehmt dieses Layout nicht stumpf, sondern überlegt, ob es zu euren Anforderungen passt.

Primäre Partition /dev/vda1 für /boot

In dieser Partition werden die Kernel und das initramfs abgelegt. Nach meiner Erfahrung reicht eine Größe von 1 GiB aus, um auch einige ältere Kernel vorzuhalten. Formatiert habe ich diese Partition mit dem Dateisystem ext4.

Ich bevorzuge ext4 gegenüber XFS, da es sich im Gegensatz zu letzterem auch verkleinern lässt. Zugegeben, dass dies notwendig ist, ist mir in 20 Jahren nur einmal untergekommen. Doch in diesem einen Moment war ich froh, dass es möglich war.

LVM, PV, VG, LV, Dateisysteme und Einhängepunkte

Der Logical Volume Manager (LVM) (siehe [11-13]) bietet die Möglichkeit, Partitionen (genaugenommen Logical Volumes) für weitere Einhängepunkte zu erstellen, welche sich später noch flexibel in der Größe anpassen lassen (Vergrößern und Verkleinern). Und dies, ohne die verwendeten Dateisysteme aushängen zu müssen.

Wer mit den für LVM relevanten Begriffen Physical Volume, Volume Group und Logical Volume nicht vertraut ist, findet weiterführende Hinweise in [12] für Debian bzw. [13] für RHEL. Ich werde die Erstellung hier nicht im Detail beschreiben.

Ich erstelle eine zweite primäre Partition /dev/vda2 mit Typ LVM, welcher ich die verbleibende Speicherkapazität von 19 GiB zuweise. Mein fertiges Partitionslayout sieht wie folgt aus:

lsblk -o +FSTYPE
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT FSTYPE
sr0                    11:0    1 1024M  0 rom             
vda                   254:0    0   20G  0 disk            
├─vda1                254:1    0  953M  0 part /boot      ext4
└─vda2                254:2    0 19.1G  0 part            LVM2_member
  ├─vg_system-root    253:0    0  9.3G  0 lvm  /          ext4
  ├─vg_system-var_log 253:1    0  4.7G  0 lvm  /var/log   ext4
  └─vg_system-home    253:2    0  1.9G  0 lvm  /home      ext4

Vorstehendem Code-Block ist zu entnehmen, dass ich drei Logical Volumes für die Einhängepunkte /, /var/log und /home verwende. Ich verwende auch hier durchgängig das ext4-Dateisystem.

Log-Dateien und unkontrolliert wachsende Daten in HOME-Verzeichnissen führen schnell dazu, dass das Root-Dateisystem (/) vollläuft. Dies lässt sich mit der Verwendung separater Einhängepunkte sicher verhindern.

Eurem aufmerksamen Auge ist sicher aufgefallen, dass ich keine Swap-Partition verwende. Da ich sie für die meist kurzlebigen Labor-VMs nicht benötige, lasse ich diese in der Regel weg. Für Systeme, die ich für langfristigen Betrieb installiere, füge ich diese nachträglich hinzu. Dank LVM ist dies kein Problem.

Darüber, ob man eine Swap-Partition braucht und wie groß diese sein sollte, werden teils esoterische Diskussionen geführt. Ich selbst orientiere mich an Table B.1. Recommended system swap space aus [14].

Damit habe ich ein Gold-Image erstellt, welches mir als Vorlage für weitere VMs dient und dabei nur wenig Platz auf der Festplatte des Hypervisor belegt:

ls -sh /var/lib/libvirt/images/debian11-template.qcow2
2.3G /var/lib/libvirt/images/debian11-template.qcow2

Sysprep

Sysprep ist ursprünglich ein Programm von Microsoft, mit welchem Gold-Images für die automatische Verteilung von Microsoft Windows vorbereitet werden. Heute taucht dieser Begriff in den Programmbezeichnungen weiterer Projekte auf und beschreibt gleichzeitig die Tätigkeit, ein Gold-Image für die weitere Verwendung vorzubereiten. Ich selbst verwende das Programm virt-sysprep von Richard W.M. Jones (Red Hat) und Wanglong Gao (Fujitsu Ltd.).

Virt-sysprep entfernt Einstellungen, User, Host-spezifische Dateien und leert Protokolldateien in dem erzeugten Image. Damit soll sichergestellt werden, dass die von dem Gold-Image abgeleiteten VMs keine Eigenschaften besitzen, die spezifisch für das Original sind, wie z.B. der Hostname, MAC-Adressen oder die SSH-Host-Keys, um nur drei Beispiele zu nennen. Die Anwendung ist daher dringend empfohlen.

Mit dem Befehl virt-sysprep --list-operations kann man sich die Aktionen anzeigen lassen, die virt-sysprep ausführen kann. Die Standard-Aktionen sind in der Ausgabe mit einem ‚*‘ markiert. Unter RHEL 9 sieht die Ausgabe wie folgt aus:

$ virt-sysprep --list-operations
abrt-data * Remove the crash data generated by ABRT
backup-files * Remove editor backup files from the guest
bash-history * Remove the bash history in the guest
blkid-tab * Remove blkid tab in the guest
ca-certificates   Remove CA certificates in the guest
crash-data * Remove the crash data generated by kexec-tools
cron-spool * Remove user at-jobs and cron-jobs
customize * Customize the guest
dhcp-client-state * Remove DHCP client leases
dhcp-server-state * Remove DHCP server leases
dovecot-data * Remove Dovecot (mail server) data
firewall-rules   Remove the firewall rules
flag-reconfiguration   Flag the system for reconfiguration
fs-uuids   Change filesystem UUIDs
ipa-client * Remove the IPA files
kerberos-data   Remove Kerberos data in the guest
kerberos-hostkeytab * Remove the Kerberos host keytab file in the guest
logfiles * Remove many log files from the guest
lvm-system-devices * Remove LVM2 system.devices file
lvm-uuids * Change LVM2 PV and VG UUIDs
machine-id * Remove the local machine ID
mail-spool * Remove email from the local mail spool directory
net-hostname * Remove HOSTNAME and DHCP_HOSTNAME in network interface configuration
net-hwaddr * Remove HWADDR (hard-coded MAC address) configuration
net-nmconn * Remove system-local NetworkManager connection profiles (keyfiles)
pacct-log * Remove the process accounting log files
package-manager-cache * Remove package manager cache
pam-data * Remove the PAM data in the guest
passwd-backups * Remove /etc/passwd- and similar backup files
puppet-data-log * Remove the data and log files of puppet
rh-subscription-manager * Remove the RH subscription manager files
rhn-systemid * Remove the RHN system ID
rpm-db * Remove host-specific RPM database files
samba-db-log * Remove the database and log files of Samba
script * Run arbitrary scripts against the guest
smolt-uuid * Remove the Smolt hardware UUID
ssh-hostkeys * Remove the SSH host keys in the guest
ssh-userdir * Remove ".ssh" directories in the guest
sssd-db-log * Remove the database and log files of sssd
tmp-files * Remove temporary files
udev-persistent-net * Remove udev persistent net rules
user-account   Remove the user accounts in the guest
utmp * Remove the utmp file
yum-uuid * Remove the yum UUID
customize * Customize the guest
dhcp-client-state * Remove DHCP client leases
dhcp-server-state * Remove DHCP server leases
dovecot-data * Remove Dovecot (mail server) data
firewall-rules   Remove the firewall rules
flag-reconfiguration   Flag the system for reconfiguration
fs-uuids   Change filesystem UUIDs
ipa-client * Remove the IPA files
kerberos-data   Remove Kerberos data in the guest
kerberos-hostkeytab * Remove the Kerberos host keytab file in the guest
logfiles * Remove many log files from the guest
lvm-system-devices * Remove LVM2 system.devices file
lvm-uuids * Change LVM2 PV and VG UUIDs
machine-id * Remove the local machine ID
mail-spool * Remove email from the local mail spool directory
net-hostname * Remove HOSTNAME and DHCP_HOSTNAME in network interface configuration
net-hwaddr * Remove HWADDR (hard-coded MAC address) configuration
net-nmconn * Remove system-local NetworkManager connection profiles (keyfiles)
pacct-log * Remove the process accounting log files
package-manager-cache * Remove package manager cache
pam-data * Remove the PAM data in the guest
passwd-backups * Remove /etc/passwd- and similar backup files
puppet-data-log * Remove the data and log files of puppet
rh-subscription-manager * Remove the RH subscription manager files
rhn-systemid * Remove the RHN system ID
rpm-db * Remove host-specific RPM database files
samba-db-log * Remove the database and log files of Samba
script * Run arbitrary scripts against the guest
smolt-uuid * Remove the Smolt hardware UUID
ssh-hostkeys * Remove the SSH host keys in the guest
ssh-userdir * Remove ".ssh" directories in the guest
sssd-db-log * Remove the database and log files of sssd
tmp-files * Remove temporary files
udev-persistent-net * Remove udev persistent net rules
user-account   Remove the user accounts in the guest
utmp * Remove the utmp file
yum-uuid * Remove the yum UUID

Selbstverständlich gibt es mit virt-sysprep(1) auch eine Manpage, welche die Nutzung des Programms und sämtliche Optionen erläutert.

Es ist sehr wichtig, dass die zu behandelnde Domain (VM) ausgeschaltet ist, bevor virt-sysprep gestartet wird, um eine Korruption der Image-Datei zu vermeiden.

Der nun folgende Code-Block zeigt die Anwendung von virt-sysprep auf die qcow2-Datei meines debian11-templates. Die dabei verwendeten Option --operations defaults,-ssh-userdir sorgt dafür, dass alle Standard-Operationen mit der Ausnahme durchgeführt werden, dass die .ssh-Verzeichnisse der User erhalten bleiben. Die Option --firstboot-command 'dpkg-reconfigure openssh-server' stellt sicher, dass beim ersten Start des Klons neue SSH-Hostkeys generiert werden. Andernfalls kann der SSH-Dienst nicht starten und ich wäre nicht in der Lage mich via SSH anzumelden. Anschließend ist das Image bereit, um geklont bzw. kopiert zu werden.

$ virt-sysprep -a /var/lib/libvirt/images/debian11-template.qcow2 --operations defaults,-ssh-userdir --firstboot-command 'dpkg-reconfigure openssh-server'
[   0.0] Examining the guest ...
[   2.0] Performing "abrt-data" ...
[   2.0] Performing "backup-files" ...
[   2.1] Performing "bash-history" ...
[   2.1] Performing "blkid-tab" ...
[   2.1] Performing "crash-data" ...
[   2.1] Performing "cron-spool" ...
[   2.1] Performing "dhcp-client-state" ...
[   2.1] Performing "dhcp-server-state" ...
[   2.1] Performing "dovecot-data" ...
[   2.1] Performing "ipa-client" ...
[   2.1] Performing "kerberos-hostkeytab" ...
[   2.2] Performing "logfiles" ...
[   2.2] Performing "lvm-system-devices" ...
[   2.2] Performing "machine-id" ...
[   2.2] Performing "mail-spool" ...
[   2.2] Performing "net-hostname" ...
[   2.2] Performing "net-hwaddr" ...
[   2.3] Performing "net-nmconn" ...
[   2.3] Performing "pacct-log" ...
[   2.3] Performing "package-manager-cache" ...
[   2.3] Performing "pam-data" ...
[   2.3] Performing "passwd-backups" ...
[   2.3] Performing "puppet-data-log" ...
[   2.3] Performing "rh-subscription-manager" ...
[   2.3] Performing "rhn-systemid" ...
[   2.4] Performing "rpm-db" ...
[   2.4] Performing "samba-db-log" ...
[   2.4] Performing "script" ...
[   2.4] Performing "smolt-uuid" ...
[   2.4] Performing "ssh-hostkeys" ...
[   2.4] Performing "sssd-db-log" ...
[   2.4] Performing "tmp-files" ...
[   2.4] Performing "udev-persistent-net" ...
[   2.4] Performing "utmp" ...
[   2.4] Performing "yum-uuid" ...
[   2.4] Performing "customize" ...
[   2.4] Setting a random seed
[   2.5] Setting the machine ID in /etc/machine-id
[   2.5] Installing firstboot command: dpkg-reconfigure openssh-server
[   2.5] SELinux relabelling
[   2.5] Performing "lvm-uuids" ...

Das Programm ist nicht auf qcow2-Images beschränkt. Einen weiteren Anwendungsfall habe ich bereits hier im Blog beschrieben: VMware ESXi: VMDK-Datei einer Gast-VM mit virt-sysprep bereinigen.

Verwendung der Gold-Images

Die Gold-Images werden verwendet, um durch Klonen neue VMs zu erstellen. Ich verwende dazu die Eingangs erwähnte Ansible-Rolle kvm_provision_lab.

Was tun, wenn der Platz knapp wird?

Wird im Laufe des Lebenszyklus einer VM mehr Speicherplatz benötigt, so lässt sich das Vorgehen wie folgt skizzieren:

  1. Neue virtuelle Festplatte mit ausreichend Speicherkapazität der VM hinzufügen.
  2. Eine Partition auf der neuen virtuellen Festplatte erstellen (optional).
  3. Mit pvcreate ein neues Physical Volume erstellen.
  4. Das Physical Volume mit vgextend der Volume Group hinzufügen.
  5. Das Logical Volume mit lvextend vergrößern.

Die Schritte 3-5 werden ausführlich in der RHEL-9-Dokumentation in Chapter 5. Modifying the size of a logical volume beschrieben. Dort wird auch beschrieben, wie ein Logical Volume verkleinert werden kann.

Falls ihr euch hierzu ein Tutorial wünscht, lasst es mich bitte in den Kommentaren wissen. Dann liefere ich ein entsprechendes Beispiel nach.

Quellen und weiterführende Links

  1. Was ist ein Golden Image? URL: https://www.redhat.com/de/topics/linux/what-is-a-golden-image.
  2. What is a golden image? On opensource.com by Seth Kenlon (Team, Red Hat). URL: https://opensource.com/article/19/7/what-golden-image.
  3. What is a golden image? Definition by Nick Martin on TechTarget. URL: https://www.techtarget.com/searchitoperations/definition/golden-image
  4. Definition Golden Image (auch Master Image oder Goldenes Abbild). ComputerWeekly.de. URL: https://www.computerweekly.com/de/definition/Golden-Image-auch-Master-Image-oder-Goldenes-Abbild
  5. Was ist ein Golden Image? 21.11.2018: Autor / Redakteur: Dipl. Betriebswirt Otto Geißler / Ulrike Ostler. URL: https://www.datacenter-insider.de/was-ist-ein-golden-image-a-775197/
  6. Wikipedia-Artikel zu qcow {EN}
  7. QEMU disk image utility
  8. Wikepdia-Artikel Thin zu provisioning {EN}
  9. Performing a standard RHEL 9 installation; Appendix B. Partitioning reference; URL: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/performing_a_standard_rhel_9_installation/partitioning-reference_installing-rhel#recommended-partitioning-scheme_partitioning-reference
  10. Debian: Empfohlene Partitionsschemata. URL: https://www.debian.org/releases/bullseye/amd64/apcs03.de.html
  11. Wikipedia-Artikel zu LVM
  12. LVM – Debian Wiki {EN}
  13. Configuring and managing logical volumes. Red Hat Enterprise Linux 9. A guide to the configuration and management of LVM logical volumes. {EN}
  14. Appendix B. Partitioning reference. Performing a standard RHEL 9 installation. {EN}
  15. VMware ESXi: VMDK-Datei einer Gast-VM mit virt-sysprep bereinigen
❌
❌