🔒
Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Heute — 03. Juli 2022Blogs

Linux auf Höchststand – Steam Deck sieht man im Juni deutlich

03. Juli 2022 um 09:09
Von: jdo

Einen so hohen Marktanteil hatte Linux bei Steam noch nie. Bei der Hardware-Umfrage im Juni 2022 stand das Open-Source-Betriebssystem bei 1,18 %. Das klingt verglichen zu Windows mickrig, sind aber trotzdem über 1,5 Millionen Linux-Zocker, wenn man den Zahlen von Valve bezüglich der monatlich aktiven Usern Glauben schenkt. Arch und Manjaro werden auch immer beliebter bei Steam-Anwendern. Zumindest sind die beiden Betriebssysteme in der Juni-Umfrage vor Ubuntu. Arch Linux war bei der letzten Umfrage schon vorn. Nun konnte sich aber […]

Der Beitrag Linux auf Höchststand – Steam Deck sieht man im Juni deutlich ist von bitblokes.de.

Linux Mint 21 Beta ist fast fertig – soll diese Woche erscheinen

03. Juli 2022 um 05:36
Von: jdo

Im Monatsbericht von Linux Mint kannst Du lesen, dass die QA-Tests für Linux Mint 21 Beta dieses Wochenende begonnen haben. Bereits in der kommenden Woche soll eine Beta-Version der auf Ubuntu 22.04 LTS basierenden Distribution erscheinen. Ein paar Informationen zu Linux Mint 21 Vanessa Wie bereits erwähnt, basiert Linux Mint 21 auf der derzeitigen LTS-Version von Ubuntu, also Jammy Jellyfish. Nach negativem Feedback zu systemd-oom hat das Entwickler-Team beschlossen, es nicht in dre Distribution aufzunehmen. Erfreulich finde ich, dass die […]

Der Beitrag Linux Mint 21 Beta ist fast fertig – soll diese Woche erscheinen ist von bitblokes.de.

Gestern — 02. Juli 2022Blogs

Mozilla veröffentlicht Firefox 102 für Android

02. Juli 2022 um 23:02

Mozilla hat Firefox 102 für Android veröffentlicht. Dieser Artikel beschreibt die Neuerungen von Firefox 102 für Android.

Download Firefox für Android im Google Play Store

Die Neuerungen von Firefox 102 für Android

Bei Firefox 102 (die exakte Versionsnummer lautet Firefox 102.1.1) handelt es sich um ein vergleichsweise kleines Update: Neben dem obligatorischen Update der Rendering-Engine auf GeckoView 102 bringt das Update neben geschlossenen Sicherheitslücken ausschließlich Fehlerbehebungen und Verbesserungen unter der Haube. Unter anderem funktioniert jetzt auch das automatische Ausfüllen von Passwörtern, wenn der Passwort-Manager Bitwarden genutzt wird und dieser gesperrt und nicht aktiv ist.

Der Beitrag Mozilla veröffentlicht Firefox 102 für Android erschien zuerst auf soeren-hentzschel.at.

Ältere BeiträgeBlogs

Programmiersprache: Rust 1.62 steht bereit

01. Juli 2022 um 23:01

Kurz notiert: Rust ist eine Programmiersprache, in der auch die Rendering-Engine Servo geschrieben wird, aus welcher Firefox-Innovationen wie Quantum CSS und WebRender stammen. Mittlerweile steht Rust 1.62 bereit.

Die Programmiersprache Rust wurde planmäßig in Version 1.62 veröffentlicht. Wer sich für alle Highlights der neuen Version interessiert, findet wie immer in der offiziellen Release-Ankündigung weitere Informationen.

Der Beitrag Programmiersprache: Rust 1.62 steht bereit erschien zuerst auf soeren-hentzschel.at.

Erster Gameplay Trailer für Return to Monkey Island ist da

01. Juli 2022 um 09:52
Von: jdo

Mit Return to Monkey Island wird derzeit eine Fortsetzung der Geschichte von The Secret of Monkey Island und Monkey Island 2: LeChuck’s Revenge entwickelt. Hab ich diese Spiele geliebt, wobei ich das Ende etwas unbefriedigend fand. Gerade deswegen freue ich mich irre auf den nächsten Teil. Der Schöpfer der Serie, Ron Gilbert, ist mit von der Partie und deswegen habe ich große Hoffnungen, dass Return to Monkey Island richtig gut wird. Auf jeden Fall erlauben die Entwickler einen Blick hinter […]

Der Beitrag Erster Gameplay Trailer für Return to Monkey Island ist da ist von bitblokes.de.

MagPi 119 (kostenlos) – Raspberry Pi Pico W (Wireless) vorgestellt

01. Juli 2022 um 07:29
Von: jdo

Der Raspberry Pi Pico W ist die drahtlose Variante des Winzlings und das Unternehmen stellt das Gerät im MagPi 119 vor (ab Seite 34), das gerade eben erschienen ist. Im aktuellen Magazin der Raspberry Pi Foundation geht das Unternehmen auf die Spezifikationen und das Design des Pico W ein. Außerdem gibt es Einblicke in die Entwicklung der leistungsfähigen und kleinen Entwicklungs-Plattform. Du findest auch ein Interview mit den Hardware- und Softwareentwicklern, die beim Pico W beteiligt waren. Natürlich ist der […]

Der Beitrag MagPi 119 (kostenlos) – Raspberry Pi Pico W (Wireless) vorgestellt ist von bitblokes.de.

Mozilla veröffentlicht Firefox 102 für Apple iOS

30. Juni 2022 um 23:14

Mozilla hat Firefox 102 für Apple iOS veröffentlicht. Die neue Version des Browsers für das iPhone, iPad und iPod touch bringt mehrere Verbesserungen

Die Neuerungen von Firefox 102 für iOS

Mozilla hat Firefox 102 für das iPhone, iPad sowie iPod touch veröffentlicht. Die neue Version steht im Apple App Store zum Download bereit.

Per langem Druck auf einen Chronik-Eintrag auf dem Startbildschirm und anschließendem Tippen auf das Entfernen-Symbol lassen sich Seiten nun aus der Chronik entfernen.

Seit Firefox 99 gibt es in der Tab-Übersicht einen Bereich für inaktive Tabs, in welchen automatisch Tabs verschoben werden, welche seit zwei Wochen inaktiv sind. Diese Feature war bisher für einen Teil der Nutzer aktiv und ist nun für alle Nutzer aktiv.

Als neues Experiment für einen Teil der Nutzer erscheinen bei Eingabe in die Adressleiste nach Suchvorschlägen, Tabs und Lesezeichen bis zu drei Chronik-Highlights, welche zur Suchanfrage passend sind.

In der Liste der synchronisierten Tabs sind die einzelnen Geräte nun einklappbar. Außerdem werden hier jetzt auch die Favicons der jeweiligen Website angezeigt.

Ansonsten gab es natürlich noch einige weitere Bugfixes und Verbesserungen unter der Haube.

Der Beitrag Mozilla veröffentlicht Firefox 102 für Apple iOS erschien zuerst auf soeren-hentzschel.at.

Vim 9 erschienen

30. Juni 2022 um 23:00

Kurz notiert: Vim hat diese Woche die Veröffentlichung eines neuen Major-Releases angekündigt. Die größte Änderung ist die Einführung von Vim 9 Script.

Bei Vim 9 Script handelt es sich um eine neue Skriptsprache für den bekannten textbaiserten Editor. Als Motivation geben die Entwickler zwei große Ziele an:

  • Performance: Die Sprache wird kompiliert in Befehle, die effizient ausgeführt werden können und eine 10- bis 100-fach verkürzte Ausführungszeit ermöglichen.
  • Syntax: Vim 9 Script orientiert sich syntaktisch an aktuellen, weit verbreiteten Programmiersprachen wie JavaScript, TypeScript und Java.

Insbesondere die Performanceziele haben den Weg für die Abwärtskompatibilität versperrt. Dabei wurde der Kompromiss gefunden, einerseits Vim 9 Script und andererseits „Legacy-Script“ (sprich: <= Vim 8) parallel zu unterstützen.

Weitere Hinweise zu Vim 9 Script sind unter :help vim9 verfügbar. Darüber hinaus wurden zahlreiche Bugs und Sicherheitslücken gefixt sowie die interne Testabdeckung erhöht. Letzteres soll zur Qualitätssicherung beitragen und die Robustheit erhöhen. Weitere Hinweise zu Neuerungen sind unter :help new-9 zu finden.

Mozilla veröffentlicht Firefox 102

28. Juni 2022 um 22:03

Mozilla hat Firefox 102 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Weitere Download-Verbesserungen

Mit Firefox 98 hatte Mozilla grundlegende Veränderungen am Download-Verhalten durchgeführt. Basierend auf dem Feedback der Nutzer kam in Firefox 101 eine einfache Möglichkeit via Option zurück, vor jedem Download gefragt zu werden. Mit Firefox 102 folgt die Umsetzung von weiterem Feedback.

So kann über about:config der neue Schalter browser.download.start_downloads_in_tmp_dir per Doppelklick auf true geschaltet werden, damit Firefox wieder das temporäre Download-Verzeichnis nutzt, in welchem diese (auf Nicht-macOS-Plattformen) automatisch gelöscht werden.

Das automatische Öffnen des Download-Panels, immer wenn ein neuer Download startet, kann über eine Rechtsklick-Option auf einen Download-Eintrag in eben jenem Panel abgeschaltet werden. Dies war bereits abschaltbar, bislang jedoch ausschließlich via about:config und nicht über eine sichtbare Option.

Untertitel für Bild-im-Bild-Videos auf weiteren Streaming-Plattformen

Auf Websites, welche den WebVTT-Standard unterstützen, sowie auf den populären Video- und Streaming-Plattformen YouTube, Amazon Prime Video und Netflix, welche stattdessen eine eigene Lösung verwenden, kann Firefox seit Version 100 die Untertitel von Videos auch im Bild-im-Bild-Modus anzeigen.

Firefox 102 bringt eine zusätzliche Untertitel-Unterstützung für HBO Max, Funimation, Dailymotion, Tubi, Disney+ Hotstar sowie SonyLIV.

Mehr Sicherheit für Firefox-Nutzer

Auch in Firefox 102 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 102 daher für alle Nutzer dringend empfohlen.

Das Audio-Dekoding findet nun in einem separaten Prozess mit strengeren Sandboxing-Regeln statt.

Außerdem werden SHA1-Signaturen in Zertifikaten standardmäßig nicht länger unterstützt.

Sonstige Neuerungen von Firefox 102

Firefox 102 entfernt beim Navigieren auf Websites automatisch bestimmte Tracking-Parameter bei Verwendung der strengen Einstellung für den Schutz vor Aktivitätenverfolgung.

Das Panel zum Speichern von Seiten im Mozilla-Dienst Pocket wurde neu gestaltet.

Pocket Firefox 102

In der Drucken-Vorschau gibt es jetzt auch bei PDF-Dateien die Option, die Kopf- und Fußzeilen nicht zu drucken.

Die Leseansicht unterstützt nun auch Markdown-Dateien auf GitHub.

Das Logo der Suchmaschine Ecosia wurde an das neue Design angepasst.

Im Stileditor der Entwicklerwerkzeuge lassen sich sich die geladenen Stylesheets jetzt filtern.

Auch für Entwickler von Websites und Firefox-Erweiterungen gab es wieder Neuerungen, welche in den MDN Web Docs dokumentiert sind.

Neue Basis für Firefox ESR

Firefox 102 löst Firefox 91 als Basis für Firefox ESR, die Unternehmensversion von Firefox mit Langzeitunterstützung, ab. Die Unterschiede zwischen Firefox 102 und Firefox ESR 102 sowie Wissenswertes für System-Administratoren werden in einem gesonderten Artikel behandelt.

Der Beitrag Mozilla veröffentlicht Firefox 102 erschien zuerst auf soeren-hentzschel.at.

Alles Wissenswerte zu Firefox ESR 102 inklusive Unterschiede zu Firefox 102

28. Juni 2022 um 20:14

Mozilla hat Firefox 102 veröffentlicht. Firefox 102 ist gleichzeitig die neue Basis für Firefox ESR, die Firefox-Version mit Langzeitunterstützung. Während Firefox 102 und Firefox ESR 102 grundsätzlich identisch sind, gibt es doch ein paar Unterschiede zwischen beiden Versionen. Auch sonst gibt es einiges Wissenswertes für System-Administratoren.

Mozilla hat Firefox 102 und Firefox ESR 102 veröffentlicht. Nutzer von Firefox ESR 91 haben noch zwölf Wochen Zeit, ehe sie mit Erscheinen von Firefox 105 und Firefox ESR 102.3 am 20. September 2022 automatisch auf Firefox ESR 102 migriert werden. Wie schon Firefox ESR 91 unterscheidet sich auch Firefox ESR 102 in ein paar wenigen Details von seinem Mainstream-Pendant.

Download Mozilla Firefox ESR 102

Nur in Firefox ESR 102: Deaktivierbare Signaturpflicht für Add-ons

Zum Schutz seiner Nutzer hat Mozilla eine Signaturpflicht für Add-ons in Firefox eingeführt, welche seit Firefox 43 standardmäßig aktiviert ist. Diese kann nur in Nightly-Builds sowie in der Developer Edition von Firefox deaktiviert werden, nicht in Beta- oder finalen Versionen. Die ESR-Version von Firefox 102 erlaubt auch in der finalen Ausführung die Deaktivierung der Signaturpflicht.

Zur Deaktivierung muss der folgende Schalter über about:config auf false geschaltet werden:

xpinstall.signatures.required

Achtung: Es ist aus Sicherheitsgründen nicht empfohlen, die Signaturpflicht für Erweiterungen zu deaktivieren. Wer seine Erweiterungen ausschließlich über addons.mozilla.org bezieht, findet außerdem in der Regel sowieso ausschließlich signierte Erweiterungen vor.

Nur in Firefox ESR 102: Zusätzliche Unternehmensrichtlinie

Seit Firefox 60 liefert Mozilla die Unterstütztung von Unternehmensrichtlinien aus. Damit ist es für Systemadministratoren möglich, Firefox für die Verteilung im Unternehmen vorzukonfigurieren, wofür bis einschließlich Firefox ESR 52 gerne der sogenannte CCK2 Wizard benutzt worden ist, der allerdings mit Firefox 57 und höher nicht kompatibel ist.

Die SearchEngines-Richtlinie zum Konfigurieren der Suchmaschinen funktioniert ausschließlich in Firefox ESR.

Alle Neuerungen zwischen Firefox ESR 91 und Firefox ESR 102

Natürlich gab es zwischen Firefox ESR 91 und Firefox ESR 102 auch wieder zahlreiche Neuerungen, darunter auch Neuerungen, welche für Unternehmen relevant sein könnten, wie beispielsweise neue Sicherheits- und Datenschutz-Verbesserungen. Für einen Überblick über alle wichtigen Neuerungen zwischen Firefox ESR 91 und Firefox ESR 102 empfiehlt sich die Lektüre der Artikel über die Neuerungen der entsprechenden Major-Releases:

Sonstiges Wissenswertes für Unternehmens-Administratoren

Unternehmensrichtlinien

Firefox lässt sich mittels zahlreicher Unternehmensrichtlinien konfigurieren. Dabei gibt es verschiedene Wege: Plattformübergreifend auf Windows, Apple macOS sowie Linux über eine Datei policies.json, via GPO oder Intune auf Windows oder via .plist-Datei auf Apple macOS.

MSI-Installer für Windows

Um System-Administratoren im Unternehmen das Anpassen und Verteilen von Firefox einfacher zu machen, bietet Mozilla anpassbare MSI-Installer für Firefox ESR auf Windows 7 und höher an.

MSI-Installer erlauben die Anpassung über eine MST-Datei und können über die auf Windows üblichen Deployment-Tools wie Active Directory oder Microsoft System Center Configuration Manager verteilt werden. Mozilla hat eine Dokumentation zu den MSI-Installern veröffentlicht.

Download MSI-Installer von Firefox ESR 102

pkg-Installer für Apple macOS

Ähnlich zu den MSI-Installern für Windows gibt es pkg-Installer für Apple macOS.

Download pkg-Installer von Firefox ESR 102

Dedizierte Profile pro Installation abschalten

Lesezeichen, Chronik, Erweiterungen, Passwörter, Einstellungen – diese und noch weitere Dinge werden in einem sogenannten Profil gespeichert. Verschiedene Firefox-Installationen nutzen bisher standardmäßig immer das gleiche Profil.

Seit Firefox 67 nutzt der Mozilla-Browser dedizierte Profile pro Installation. Das heißt, dass wenn ein Nutzer mehrere Firefox-Installation hat, jede dieser Installationen ein eigenes Profil verwendet und damit standardmäßig nicht länger in allen Installationen automatisch die gleichen Lesezeichen, die gleiche Chronik etc. zur Verfügung stehen.

Gerade im Unternehmensumfeld kann dies unerwartet sein. Über eine Umgebungsvariable mit beliebigem Wert kann dieses Feature abgeschaltet werden:

MOZ_LEGACY_PROFILES

Wie Umgebungsvariablen angelegt werden, ist der Dokumentation des jeweiligen Betriebssystems zu entnehmen.

Downgrade-Schutz abschalten

Ein anderes Feature seit Firefox 67 ist ein Downgrade-Schutz. Firefox verhindert, dass der Browser mit einem Profil gestartet wird, welches bereits mit einer neueren Firefox-Version genutzt worden ist. Auch dieses Feature kann über eine Umgebungsvariable mit beliebigem Wert abgeschaltet werden:

MOZ_ALLOW_DOWNGRADE

Alternativ dazu kann Firefox mit dem folgenden Kommandozeilen-Argument gestartet werden:

--allow-downgrade

Dokumentation für System-Administratoren

Hier gibt es spezielle Hilfe-Seiten für die Administration von Firefox im Unternehmen.

Der Beitrag Alles Wissenswerte zu Firefox ESR 102 inklusive Unterschiede zu Firefox 102 erschien zuerst auf soeren-hentzschel.at.

NordVPN Meshnet – was ist es und wie funktioniert das Mesh?

28. Juni 2022 um 08:09
Von: jdo

NordVPN bietet eine Funktion an, die sich Meshnet nennt. Diese Funktion ist ziemlich cool. Du kannst damit ein virtuelles privates LAN erstellen und sicher auf andere Geräte im gleichen Meshnet zugreifen. Dabei darfst Du nicht nur zehn eigene Geräte in diesem virtuellen Netzwerk verbinden, sondern auch bis zu 50 Fremdgeräte. NordVPN* macht es damit super einfach, ein virtuelles privates LAN oder vLAN zu erstellen und das mit allen Geräten, für die es einen Client gibt. Teste es einfach selbst, weil […]

Der Beitrag NordVPN Meshnet – was ist es und wie funktioniert das Mesh? ist von bitblokes.de.

Seriöse VPN-Anbieter ziehen sich aus Indien zurück

27. Juni 2022 um 09:38
Von: jdo

Das nächste Land, in dem die Behörden zu neugierig für den Geschmack seriöser VPN-Anbieter sind. Das indische Computer Emergency Response Team (CERT-in) verlangt von VPN-Services, Data Centres, ISPs, Hosting-Providern und andere in Indien tätige Internet-Infrastrukturunternehmen, Kundendaten zu sammeln. Diese Daten müssen dann fünf oder mehr Jahre lang gespeichert werden. Auf Anfrage der Regierung müssen die eben angesprochenen Firmen die Kundendaten übermitteln. Surfshark* bietet zwar weiterhin indische IP-Adressen an, nutzt dafür aber virtuelle Server, auf die die Regierung keinen Zugriff hat. […]

Der Beitrag Seriöse VPN-Anbieter ziehen sich aus Indien zurück ist von bitblokes.de.

LVM: Logical Volumes (LV) in andere Volume Group (VG) verschieben und andere Arbeiten

27. Juni 2022 um 07:00

Der folgende Text dient mir als Dokumentation. Ich halte darin fest, wie ich LVs von einer VG in eine andere VG verschiebe und die Partitionstabelle der Festplatte mit der Quell-VG bearbeite. Der Verschiebe-Vorgang setzt sich dabei aus den zwei Vorgängen Kopieren und Löschen zusammen.

Der Text mag euch unterhalten und ggf. könnt ihr darauf zurückgreifen, wenn ihr ähnliche Arbeiten an euren Linux-Dateisystemen plant. Euch erwartet jedoch kein Tutorial, das in einzelne Themen oder Programme einführt. Falls ihr von hieran weiterlest, wünsche ich euch viel Spaß mit dem Text.

Ausgangslage

Es geht um meinen Desktop-PC. Dieser besitzt neben einer Geschichte auch einige Altlasten. Nun ist mir meine /boot-Partition zu klein. Da der Platz hinter der Partition jedoch von einer LUKS-verschlüsselten Partition mit LVM belegt ist, muss ich hier erst Platz schaffen, um die /boot-Partition vergrößern zu können.

Folgender Code-Block gibt einen Überblick über die Block-Geräte meines PCs, die darauf befindlichen Partitionen sowie deren Einhängepunkte in /etc/fstab und /etc/crypttab. Identifizierende Merkmale wie UUIDs wurden gekürzt, verändert oder Platzhalter an ihrer Stelle verwendet.

$ lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 931,5G  0 disk  
└─sdb_crypt                   253:4    0 931,5G  0 crypt 
  └─tower--pc--vg2-lv--images 253:5    0   360G  0 lvm   /var/lib/libvirt/images
sdb                             8:16   0 238,5G  0 disk  
├─sdb1                          8:17   0   243M  0 part  /boot
├─sdb2                          8:18   0     1K  0 part  
└─sdb5                          8:21   0 238,2G  0 part  
  └─sda5_crypt                253:0    0 238,2G  0 crypt 
    ├─tower--pc--vg-root      253:1    0  27,9G  0 lvm   /
    ├─tower--pc--vg-swap_1    253:2    0     4G  0 lvm   [SWAP]
    └─tower--pc--vg-home      253:3    0 204,3G  0 lvm   /home
sr0

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/tower--pc--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=a3809eb1-fc3d191e2ae9 /boot           ext2    defaults        0       2
/dev/mapper/tower--pc--vg-home /home           ext4    defaults        0       2
/dev/mapper/tower--pc--vg-swap_1 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

# 1 TB SSD SANDisk
/dev/mapper/tower--pc--vg2-lv--images	/var/lib/libvirt/images	ext4	defaults	0	0

$ cat /etc/crypttab 
sda5_crypt UUID=07f0d6c5-257591190166 none luks,discard
sdb_crypt UUID="e605980c-307daf28b717" none luks,discard

$ sudo blkid
/dev/sdb1: UUID="a3809eb1-fc3d191e2ae9" BLOCK_SIZE="1024" TYPE="ext2" PARTUUID="6ee39e6a-01"
/dev/sdb5: UUID="07f0d6c5-257591190166" TYPE="crypto_LUKS" PARTUUID="6ee39e6a-05"
/dev/sda: UUID="e605980c-307daf28b717" TYPE="crypto_LUKS"
/dev/mapper/sda5_crypt: UUID="AZKTuQ-rVeB5S" TYPE="LVM2_member"
/dev/mapper/tower--pc--vg-root: UUID="be0ff8fd-7aee7ce75f3b" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mapper/tower--pc--vg-swap_1: UUID="90823267-b6828aeca9b9" TYPE="swap"
/dev/mapper/tower--pc--vg-home: UUID="d410241d-04214b690522" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mapper/sdb_crypt: UUID="Ff4Lt0-RKJrGd" TYPE="LVM2_member"
/dev/mapper/tower--pc--vg2-lv--images: UUID="3af3b461-cdd7b2bc9710" BLOCK_SIZE="4096" TYPE="ext4"

Ziel

Mein Ziel ist, die /boot-Partition auf 2 GB zu vergrößern, ohne das System neuinstallieren zu müssen oder die Daten in den vorhandenen Partitionen zu verlieren.

Mögliche Vorgehensweisen

Bei meiner Internet-Recherche bin ich auf folgende Lösungsmöglichkeiten gestoßen:

Wenn man diese Diskussionen und den Wiki-Artikel liest, erkennt man, dass es mehrere Wege zum Ziel gibt. Ich habe mich für folgendes Vorgehen entschieden, da es auf mich den Eindruck macht, unkompliziert zu sein und nur ein geringes Risiko für Datenverlust birgt:

  1. Datensicherung
  2. LUKS-Devices umbenennen
  3. LV und Dateisystem der /home-Partition verkleinern
  4. Neue LVs in zweiter VG erstellen
  5. Partitionen mit partclone kopieren
  6. Grub Neukonfigurieren (2x)

Schritt 1: Datensicherung durchführen

Bevor ich irgendwelche Änderungen an der Partitionstabelle von /dev/sdb durchführe, erstelle ich eine Datensicherung. Dazu verwende ich die freie Software Clonezilla, um die Partitionen von /dev/sdb in eine Image-Datei auf einer externen Festplatte zu sichern.

Das Programm ist einfach in der Bedienung und ermöglicht mir im Fehlerfall, die Partitionen der zu bearbeitenden Festplatte wiederherzustellen.

Schritt 2: LUKS-Devices umbenennen

Im IST-Zustand befindet sich das LUKS-Device sdb_crypt auf dem Gerät /dev/sda, während sich sda5_crypt auf dev/sdb5 befindet. Dies ist unschön und lässt sich wie folgt ändern:

root:~# dmsetup rename sda5_crypt sd_temp
root:~# dmsetup rename sdb_crypt sda5_crypt
root:~# dmsetup rename sd_temp sdb_crypt

Nun wird die Datei /etc/crypttab entsprechend angepasst (vgl. mit IST-Zustand):

root:~# cat /etc/crypttab 
sdb_crypt UUID=07f0d6c5-257591190166 none luks,discard
sda5_crypt UUID="e605980c-307daf28b717" none luks,discard

Damit die Partitionen beim Start des Rechners korrekt entschlüsselt und eingebunden werden, wird abschließend initramfs aktualisiert:

root:~# update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-5.10.0-15-amd64
update-initramfs: Generating /boot/initrd.img-5.10.0-13-amd64

Nach einem Neustart ergibt sich das gewünschte Bild:

$ lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 931,5G  0 disk  
└─sda5_crypt                  253:4    0 931,5G  0 crypt 
  └─tower--pc--vg2-lv--images 253:5    0   360G  0 lvm   /var/lib/libvirt/images
sdb                             8:16   0 238,5G  0 disk  
├─sdb1                          8:17   0   243M  0 part  /boot
├─sdb2                          8:18   0     1K  0 part  
└─sdb5                          8:21   0 238,2G  0 part  
  └─sdb_crypt                 253:0    0 238,2G  0 crypt 
    ├─tower--pc--vg-root      253:1    0  27,9G  0 lvm   /
    ├─tower--pc--vg-swap_1    253:2    0     4G  0 lvm   [SWAP]
    └─tower--pc--vg-home      253:3    0 204,3G  0 lvm   /home

Schritt 3: LV und Dateisystem der /home-Partition verkleinern

Meine /home-Partition ist mir mit 204 GB etwas groß geraten. Daher möchte ich sie um 100 GB verkleinern. Um das Dateisystem verkleinern zu können, darf die Partition nicht eingehängt sein. Um die folgenden Schritte durchzuführen, nutze ich diesmal das Linux-System System Rescue. Dabei handelt es sich um ein Live-System, mit jeder Menge Werkzeugen, um einen (beschädigten) Rechner zu bearbeiten.

Der folgende Code-Block zeigt, wie zuerst das verschlüsselte LUKS-Device geöffnet und anschließend das LV der /home-Partition verkleinert wird. Der dabei verwendete Befehl führt die Verkleinerung des Dateisystems und des LV in einem Schritt aus:

# LUKS-Device öffnen
# cryptsetup open <device> <name> --type <device_type> see cryptsetup(8)

root@sysrescue ~]# cryptsetup open /dev/sda5 crypt_disk --type luks2
Enter passphrase for /dev/sda5: 
[root@sysrescue ~]# lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0                        7:0    0 647.7M  1 loop  /run/archiso/sfs/airootfs
sda                          8:0    0 238.5G  0 disk  
├─sda1                       8:1    0   243M  0 part  
├─sda2                       8:2    0     1K  0 part  
└─sda5                       8:5    0 238.2G  0 part  
  └─crypt_disk             254:0    0 238.2G  0 crypt 
    ├─tower--pc--vg-root   254:1    0  27.9G  0 lvm   
    ├─tower--pc--vg-swap_1 254:2    0     4G  0 lvm   
    └─tower--pc--vg-home   254:3    0 204.3G  0 lvm   
sdb                          8:16   0 931.5G  0 disk

# Dateisystem und LV in einem Schritt verkleinern
# Aufgrund der gewählten Größe dauert dieser Vorgang einige Minuten
# lvresize --size [+|-]Size[m|UNIT] --resizefs <lv name> see lvresize(8)

[root@sysrescue ~]# lvresize --size -100G --resizefs /dev/tower-pc-vg/home 
fsck from util-linux 2.38
/dev/mapper/tower--pc--vg-home: Inode 393223 extent tree (at level 1) could be narrower.  IGNORED.
/dev/mapper/tower--pc--vg-home: Inode 12847282 extent tree (at level 1) could be narrower.  IGNORED.
/dev/mapper/tower--pc--vg-home: 20959/13393920 files (1.2% non-contiguous), 14367863/53551104 blocks
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/mapper/tower--pc--vg-home to 27336704 (4k) blocks.
The filesystem on /dev/mapper/tower--pc--vg-home is now 27336704 (4k) blocks long.

  Size of logical volume tower-pc-vg/home changed from 204.28 GiB (52296 extents) to 104.28 GiB (26696 extents).
  Logical volume tower-pc-vg/home successfully resized.

[root@sysrescue ~]# lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0                        7:0    0 647.7M  1 loop  /run/archiso/sfs/airootfs
sda                          8:0    0 238.5G  0 disk  
├─sda1                       8:1    0   243M  0 part  
├─sda2                       8:2    0     1K  0 part  
└─sda5                       8:5    0 238.2G  0 part  
  └─crypt_disk             254:0    0 238.2G  0 crypt 
    ├─tower--pc--vg-root   254:1    0  27.9G  0 lvm   
    ├─tower--pc--vg-swap_1 254:2    0     4G  0 lvm   
    └─tower--pc--vg-home   254:3    0 104.3G  0 lvm   
sdb                          8:16   0 931.5G  0 disk

Zur Sicherheit führe ich noch eine Dateisystemüberprüfung aus:

[root@sysrescue ~]# fsck -t ext4 /dev/mapper/tower--pc--vg-home
fsck from util-linux 2.38
e2fsck 1.46.5 (30-Dec-2021)
/dev/mapper/tower--pc--vg-home: clean, 20959/6840320 files, 13956503/27336704 blocks

Da alles in Ordnung ist, fahre ich mit dem nächsten Schritt fort. Dazu nutze ich weiterhin die System Rescue Umgebung.

Schritt 4: LVs in zweiter VG erstellen

Da ich für die folgenden Vorgänge Zugriff auf die zweite VG benötige, öffne ich zuerst das LUKS-Device, in dem sich diese befindet:

[root@sysrescue ~]# cryptsetup open /dev/sdb crypt_disk2 --type luks2

Nun erstelle ich drei neue LVs, welche den Inhalt der existierenden LVs root, swap_1 und home aufnehmen sollen. Die Ziel-LVs müssen dazu mindestens gleich groß oder größer als die Quell-LVs sein. Um die erforderliche Größe zu ermitteln, lasse ich mir die Größe der Quell-LVs in Byte anzeigen. Ich wähle bewusst die Einheit Byte, da die Ausgabe bei größeren Einheiten auf zwei Nachkommastellen gerundet wird und ich mir keine Probleme durch die Rundung einhandeln möchte.

# Es werden nur die relevanten Informationen wiedergegeben
root:~# lvdisplay --unit b
LV Path                /dev/tower-pc-vg/root
LV Name                root
VG Name                tower-pc-vg
...
LV Size                29997662208 B
-----
LV Path                /dev/tower-pc-vg/swap_1
LV Name                swap_1
VG Name                tower-pc-vg
...
LV Size                4290772992 B
-----
LV Path                /dev/tower-pc-vg/home
LV Name                home
VG Name                tower-pc-vg
...
LV Size                111971139584 B

Mit diesen Informationen erstelle ich die neuen LVs in der zweiten VG:

:~# lvcreate --size 29997662208B /dev/tower-pc-vg2 --name root
  Logical volume "root" created.
:~# lvcreate --size 4290772992B /dev/tower-pc-vg2 --name swap_1
  Logical volume "swap_1" created.
:~# lvcreate --size 111971139584B /dev/tower-pc-vg2 --name home
  Logical volume "home" created.

Schritt 5: Partitionen mit partclone kopieren

Für diesen Schritt nutze ich die freie Anwendung Partclone. Da meine LVs weiterhin ausgehängt sind, muss ich mir um Schreib-Zugriffe anderer Prozesse während des Kopiervorgangs keine Sorgen machen:

# Manpage partclone(8)
# partclone.<fs_type> --dev-to-dev --source <Quelle> --output <Ziel>

[root@sysrescue ~]# partclone.ext4 --dev-to-dev --source /dev/tower-pc-vg/root --output /dev/tower-pc-vg2/root 
Partclone v0.3.20 http://partclone.org
Starting to back up device(/dev/tower-pc-vg/root) to device(/dev/tower-pc-vg2/root)
Elapsed: 00:00:01, Remaining: 00:00:00, Completed: 100.00%                      
Total Time: 00:00:01, 100.00% completed!
done!
File system:  EXTFS
Device size:   30.0 GB = 7323648 Blocks
Space in use:  20.8 GB = 5078551 Blocks
Free Space:     9.2 GB = 2245097 Blocks
Block size:   4096 Byte
Elapsed: 00:03:16, Remaining: 00:00:00, Completed: 100.00%, Rate:   6.37GB/min, 
current block:    7323648, total block:    7323648, Complete: 100.00%           
Total Time: 00:03:16, Ave. Rate:    6.4GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/tower-pc-vg/root) to the device (/dev/tower-pc-vg2/root)
Cloned successfully.

[root@sysrescue ~]# partclone.ext4 --dev-to-dev --source /dev/tower-pc-vg/home --output /dev/tower-pc-vg2/home 
Partclone v0.3.20 http://partclone.org
Starting to back up device(/dev/tower-pc-vg/home) to device(/dev/tower-pc-vg2/home)
Elapsed: 00:00:01, Remaining: 00:00:00, Completed: 100.00%                      
Total Time: 00:00:01, 100.00% completed!
done!
File system:  EXTFS
Device size:  112.0 GB = 27336704 Blocks
Space in use:  57.2 GB = 13956503 Blocks
Free Space:    54.8 GB = 13380201 Blocks
Block size:   4096 Byte
Elapsed: 00:12:22, Remaining: 00:00:00, Completed: 100.00%, Rate:   4.62GB/min, 
current block:   27336704, total block:   27336704, Complete: 100.00%           
Total Time: 00:12:22, Ave. Rate:    4.6GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/tower-pc-vg/home) to the device (/dev/tower-pc-vg2/home)
Cloned successfully.

Die SWAP-Partition enthält keine Daten, die kopiert werden müssen. Hier formatiere ich das neue LV einfach als SWAP-Partition:

[root@sysrescue ~]# mkswap /dev/tower-pc-vg2/swap_1
Setting up swapspace version 1, size = 4 GiB (4290768896 bytes)
no label, UUID=f9181521-a06da5b8ade5

Schritt 6: Grub neukonfigurieren (2x)

An diesem Punkt habe ich meinen Rechner normal gestartet, um zu überprüfen, dass er wie gewohnt hochfährt. Die gute Nachricht lautet: „Er ist wie gewohnt gestartet.“

Nun verfüge ich über ein Clonezilla-Image der ersten Festplatte, dessen Wiederherstellbarkeit ich noch nicht durch Restore validiert habe und über die Kopien meiner Partitionen in der zweiten VG. Starten tut mein Rechner jedoch immer noch von den altbekannten Partitionen, da ich der Grub-Konfiguration noch nicht mitgeteilt habe, dass ein Wurzeldateisystem aus einer anderen Partition zu verwenden ist.

Leider habe ich es versäumt, mir während der Nutzung der System-Rescue-Umgebung Notizen zu machen. Daher kann ich die verwendeten Befehle an dieser Stelle nur unvollständig wiedergeben. Es ist mir jedoch gelungen, vom Wurzeldateisystem in /dev/tower-pc-vg2/root zu starten. Dies sieht man z.B. in der Ausgabe von lsblk:

:~$ lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 931,5G  0 disk  
└─sda5_crypt                  253:0    0 931,5G  0 crypt 
  ├─tower--pc--vg2-lv--images 253:1    0   360G  0 lvm   /var/lib/libvirt/images
  ├─tower--pc--vg2-root       253:2    0  27,9G  0 lvm   /
  ├─tower--pc--vg2-swap_1     253:3    0     4G  0 lvm   [SWAP]
  └─tower--pc--vg2-home       253:4    0 104,3G  0 lvm   /home
sdb                             8:16   0 238,5G  0 disk  
├─sdb1                          8:17   0     2G  0 part  /boot
├─sdb2                          8:18   0     1K  0 part  
└─sdb5                          8:21   0 234,2G  0 part  
  └─sdb_crypt                 253:5    0 234,2G  0 crypt 
    ├─tower--pc--vg-root      253:6    0  27,9G  0 lvm   
    ├─tower--pc--vg-swap_1    253:7    0     4G  0 lvm   
    └─tower--pc--vg-home      253:8    0 104,3G  0 lvm   
sr0

Wer den Code-Block genau studiert hat, wird festgestellt haben, dass meine /boot-Partition gegenüber dem Eingangs erwähnten IST-Zustand auf 2 GB angewachsen ist. Ich habe die Partitionstabelle zwischenzeitlich mit GParted bearbeitet, welches in der System-Rescue-Umgebung enthalten ist.

Damit habe ich mein Ziel erreicht. Der Artikel könnte an dieser Stelle enden. Ich möchte jedoch zukünftig wieder die Partitionen von /dev/sdb verwenden. Dazu muss ich nochmals Grub neukonfigurieren, welches ich diesmal in folgendem Code-Block zeige:

root@tower-pc:~# mount /dev/tower-pc-vg/root /mnt

# Die separate /boot-Partition muss ebenfalls mit eingehängt werden
root@tower-pc:~# mount /dev/sdb1 /mnt/boot

root@tower-pc:~# for DEVICE in /dev /dev/pts /proc /sys; do mount --bind $DEVICE /mnt$DEVICE; done
root@tower-pc:~# mount /dev/tower-pc-vg2/lv-images /mnt/var/lib/libvirt/images

# ID der Partition mit dem Wurzeldateisystem ermitteln
root@tower-pc:~# ls -l /dev/tower-pc-vg/root 
lrwxrwxrwx 1 root root 7 18. Jun 20:13 /dev/tower-pc-vg/root -> ../dm-6
root@tower-pc:~# ls -l /dev/disk/by-id/ | grep dm-6
lrwxrwxrwx 1 root root 10 18. Jun 20:13 dm-name-tower--pc--vg-root -> ../../dm-6

# In eine chroot-Umgebung wechseln
root@tower-pc:~# chroot /mnt
root@tower-pc:/# pwd
/

In der chroot-Umgebung wird die Datei /etc/default/grub mit einem Editor geöffnet und die Zeile GRUB_CMDLINE_LINUX_DEFAULT= bearbeitet. Dort trage ich die ID der Partition meines Wurzeldateisystems ein. Die Zeile sieht anschließend wie folgt aus:

GRUB_CMDLINE_LINUX_DEFAULT="root=/dev/disk/by-id/dm-name-tower--pc--vg-root iommu='soft' quiet"

Der folgende Code-Block stellt die Befehle dar, mit denen Grub neukonfiguriert und installiert sowie initramfs aktualisiert wird.

root@tower-pc:/# grub-mkconfig -o /boot/grub/grub.cfg 
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-5.10.0-15-amd64
Found initrd image: /boot/initrd.img-5.10.0-15-amd64
Found linux image: /boot/vmlinuz-5.10.0-13-amd64
Found initrd image: /boot/initrd.img-5.10.0-13-amd64
Found Debian GNU/Linux 11 (bullseye) on /dev/mapper/tower--pc--vg2-root
done

root@tower-pc:/# update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-5.10.0-15-amd64
update-initramfs: Generating /boot/initrd.img-5.10.0-13-amd64
root@tower-pc:/# exit
exit
root@tower-pc:~# reboot NOW

Nach dem Neustart habe ich noch überprüft, dass der Rechner wirklich die ursprünglichen Partitionen eingehängt hat:

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
└─sda5_crypt 253:4 0 931,5G 0 crypt
├─tower--pc--vg2-lv--images 253:5 0 360G 0 lvm /var/lib/libvirt/images
├─tower--pc--vg2-root 253:6 0 27,9G 0 lvm
├─tower--pc--vg2-swap_1 253:7 0 4G 0 lvm
└─tower--pc--vg2-home 253:8 0 104,3G 0 lvm
sdb 8:16 0 238,5G 0 disk
├─sdb1 8:17 0 2G 0 part /boot
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 234,2G 0 part
└─sdb_crypt 253:0 0 234,2G 0 crypt
├─tower--pc--vg-root 253:1 0 27,9G 0 lvm /
├─tower--pc--vg-swap_1 253:2 0 4G 0 lvm [SWAP]
└─tower--pc--vg-home 253:3 0 104,3G 0 lvm /home
sr0 11:0 1 1024M 0 rom

Ende gut alles gut

Operation gelungen. Patient rechnet noch.

Mein Ziel habe ich erreicht und als Bonus Grub so konfiguriert, dass wieder meine ursprünglichen Partitionen verwendet werden. Die LVs in VG2 behalte ich vorerst. Sie stören nicht und ich kann die dortige Installation ebenfalls booten. Diese kann ich evtl. noch für zukünftige Experimente hernehmen.

Mir gefällt, dass ich frei verfügbare Informationen und Werkzeuge benutzen konnte, um alle notwendigen Aufgaben zu erledigen. So habe ich wieder einiges dazugelernt. Dies ist einer der Gründe, weshalb mir Freie Software und Open Source so gut gefallen.

Nun werde ich diesen Text noch verschlagworten, damit ich ihn in einer fernen Zukunft auch wiederfinde.

VirtuaVerse – Point&Click Adventure – kurzfristig gratis!

25. Juni 2022 um 13:26
Von: jdo

Gog.com hat derzeit die Spendierhosen an und verschenkt schon wieder ein Spiel. Diesmal handelt es sich um das Point&Click Adventure VirtuaVerse. Wie üblich besuchst Du die Website und scrollst dann, bis Du das kostenlose Angebot findest. Das Spiel läuft nativ unter Windows, macOS und auch Linux. Worum geht es bei VirtuaVerse? Eine KI hat in einer näheren Zukunft die Kontrolle über andere künstliche Intelligenzen und ihre Regierungen errungen. Die Gesellschaft lebt nun in einer permanenten integrierten Realität, die mit einem […]

Der Beitrag VirtuaVerse – Point&Click Adventure – kurzfristig gratis! ist von bitblokes.de.

Tails 5.1.1 mit wichtigen Sicherheits-Updates

25. Juni 2022 um 08:09
Von: jdo

Du kannst ab sofort auf Tails 5.1.1 aktualisieren. Laut eigenen Angaben gibt es ein wichtiges Sicherheits-Update für eine Lücke in Tor, die sich auf die Leistung auswirkt und möglicherweise auf die Anonymität. Außerdem haben die Entwickler diverse Software-Updates implementiert. Hier eine kurze Liste: tor 0.4.7.8. Thunderbird 91.10. Linux-Kernel 5.10.120 – wichtige Fixes für Sicherheitslücken. Update auf Tails 5.1.1 Ein automatisches Update von Tails 5.x ist problemlos möglich. Ich habe gerade eben meinen Tails-USB-Stick* auf den neuesten Stand gebracht. Hat alles problemlos […]

Der Beitrag Tails 5.1.1 mit wichtigen Sicherheits-Updates ist von bitblokes.de.

Spotify startet im Vollbildmodus, keine Fensterrahmen mehr – Lösung

24. Juni 2022 um 10:22
Von: jdo

Hie ein schneller Tipp aus der eigenen Erfahrung – mir ist das gerade eben passiert. Ich habe unter Linux Mint wie immer Spotify gestartet und aus welchen Gründen auch immer, öffnete sich das Programm im Vollbildmodus. Fensterrahmen gab es keine mehr. Ich konnte Spotify also weder verkleiner noch schließen. Also schließen funktioniert schon. Dazu musste ich einfach mit Alt + Tab aus dem Fenster wechseln und konnte das Programm dann über die rechte Maustaste schließen. Natürlich ging auch der Weg […]

Der Beitrag Spotify startet im Vollbildmodus, keine Fensterrahmen mehr – Lösung ist von bitblokes.de.

Update: dnsforge.de bekommt DNS-over-QUIC Support

22. Juni 2022 um 07:49
Von: dominion

dnsforge.de ist einer von vielen adminForge Services und löst ab sofort auch über das QUIC-Protokoll DNS-Anfragen auf. DNS over QUIC soll die Vorteile von DoT und DoH kombinieren. DoQ soll gute Privatsphäre und Sicherheit...

by adminForge.

Nextcloud 24.0.2, 23.0.6 und 22.2.9 verfügbar – Wartungsversionen

21. Juni 2022 um 11:23
Von: jdo

Hier eine kurze und schmerzlose News – es gibt Wartungsversionen für Nextcloud. Genauer gesagt stehen ab sofort Nextcloud 24.0.2, 23.0.6 und 22.2.9 zur Verfügung. Bei kleinen Versionssprüngen sind die Updates normalerweise problemlos. Ich habe auf jeden Fall gerade das Update eingespielt und es ist ohne Probleme durchgelaufen. Die Zweige 22, 23 und 24 werden derzeit offiziell unterstützt. Die Changelogs für die entsprechenden Varianten findest Du auf der Projektseite.

Der Beitrag Nextcloud 24.0.2, 23.0.6 und 22.2.9 verfügbar – Wartungsversionen ist von bitblokes.de.

Gedanken zum Thema Software-Verteilung

20. Juni 2022 um 07:00

Ein Freund bat mich kürzlich um meine Meinung zum Thema Software-Verteilung und Dokumentation des Installations- bzw. Bereitstellungsprozesses. Die Gedanken, die ich mir dazu gemacht habe, möchte ich an dieser Stelle mit euch teilen. Dabei schreibe ich aus dem Blickwinkel eines Systemintegrators, der von Dritten erstellte Software integrieren und betreiben muss.

Den Anwendungsentwicklern, Software-Architekten und Produkt-Managern unter euch soll dieser Text als Information dienen, was ich und ggf. weitere Personen meiner Zunft von einer Dokumentation erwarten bzw. wie wir uns Software-Verteilungsprozesse vorstellen.

Als Leser seid ihr alle eingeladen, eure Gedanken ebenfalls zu teilen und eine Diskussion zu diesem Thema zu führen.

Das Szenario

Ich habe bei meinen Gedanken ein Szenario im Kopf, in dem ein Anwendungsentwickler eine Anwendung in einer Sprache seiner Wahl schreibt. Diese Anwendung soll später über ein Web-Frontend erreichbar und nutzbar sein. Die Anwendung benötigt eine Datenbank, um Informationen darin abzulegen. Binärdateien werden ggf. außerhalb der Datenbank in einem Dateisystem gespeichert.

Die Anwendungsentwickler freuen sich, wenn ihre Software einen hohen Verbreitungsgrad erreicht. Dazu muss die dazugehörige Dokumentation folgende Informationen bieten.

Werkzeuge zum Erstellen und Ausführen der Anwendung

  • Welcher Compiler ab welcher Version wird benötigt?
  • Welche Bibliotheken werden ab welcher Version benötigt?
  • Sind abweichende Versionen möglich oder funktioniert nur genau eine?
  • Welche Laufzeitumgebung wird benötigt?
  • Was ist in welcher Reihenfolge zu tun, um vom Quelltext zu einem ausführbaren Programm zu kommen?

Voraussetzungen zur Integration der Anwendung

  • Wird eine Datenbank benötigt?
  • Welche Datenbank-Management-Systeme werden unterstützt?
  • Ab welcher Version?
  • Über welche Rechte muss ein DB-User mindestens verfügen, damit der Anwendungs-Installer die notwendigen Tabellen, Views, etc. erstellen kann?
  • Welche Webserver werden unterstützt?
  • Welche Protokolle, Parameter bzw. Optionen sind für die Kommunikation mit der Anwendung notwendig?

Ich bin immer enttäuscht, wenn hier auf ein einziges System eingeschränkt wird. Dies limitiert unnötig den Nutzerkreis.

  • Wird ein Snakeoil-Zertifikat mitgeliefert oder hat der Systemintegrator dieses beizustellen? Eigene Zertifikate auf Wunsch verwenden zu können ist obligatorisch.

Die bis jetzt genannten Informationen müssen so umfassend sein, dass Paketbetreuer bzw. Software-Paketierer daraus Debian-, Flatpak-, RPM-, Snap-Pakete, Container-Images und Windows-Installer bauen können.

Nehmen die Anwendungsentwickler in Personalunion die Rolle von Software-Paketierern wahr, scheint es dennoch unrealistisch, dass sie allein alle Formate unterstützen können. Sie sollten sich für einige wenige Formate entscheiden, die auf möglichst vielen Plattformen lauffähig sind. In dem von mir gedachten Szenario sind dies OCI-kompatible Container-Images.

Bei einer GUI-Anwendung würde ich mich vermutlich für Flatpak entscheiden. Die Paketierung als DEB oder RPM würde ich auf jeden Fall den Paketbetreuern der jeweiligen Distributionen überlassen.

Systemintegration

Für den Systemintegrator, welcher den Webserver, die Anwendung und die Datenbank zusammenbringt (integriert), muss klar beschrieben werden:

  • Gibt es ein fertiges Container-Image? Wo bekommt man es her?
  • Optional: Wie erstellt man das Container-Image selbst?
  • Welche (Umgebungs-)Variablen gehören zum Image? Welche Werte können diese annehmen?
  • Ein Kommunikationsdiagramm, damit der Sysadmin weiß, was wann mit wem spricht und welche Firewall-Regeln evtl. benötigt werden.

Referenzimplementierungen sind ebenfalls schön. Diese sollten für Docker, Docker-Compose, Kube-YAML (K8s) und Podman bereitstehen. Die Doku zum Container-Image muss jedoch so ausgestaltet sein, dass auch ohne Referenzimplementierung die Instanziierung mit den verschiedenen Engines und Orchestrierern gelingen kann.

Was Sysadmins (wie ich) nicht mögen

Ich mag es nicht, wenn in den Abhängigkeiten ein Webserver (Apache, NGINX, lighttpd) oder ein Datenbank-Management-System unnötig hart verdrahtet ist. Gleiches gilt für die Festlegung der zu verwendenden Container-Registries. Ich will dem Installer sagen können, wo er die Images findet und nicht auf den Dockerhub festgelegt werden.

Und ja, mir ist bewusst, dass eine gute Dokumentation genauso viel Aufwand und Pflege bedeutet wie der Quelltext einer Anwendung selbst. Aber ist es eine Alternative, wenn Systemintegratoren die Anwendung nach dem ersten Installationsversuch hassen?

Eure Meinung ist willkommen

Wie steht ihr als Entwickler zum Thema Dokumentation? Was erwartet ihr als Sysadmin und User von ihr?

Stimmt ihr mit mir überein oder habt ihr ganz andere Ansichten dazu? Nutzt gern die Kommentarfunktion und lasst es mich wissen.

Barrier statt Synergy - Maus & Tastatur zwischen zwei Computern teilen

18. Juni 2022 um 16:03
Von: hoergen

Um eine Tastatur und Maus für zwei Computer zu verwenden habe ich früher Synergy verwendet. Dann wurde das kommerzialisiert und ich habe mir Synergy gekauft, weil ich damals eine Brücke zwischen Windows und Linux brauchte.

 

Jetzt brauche ich gerade wieder so eine Verbindung. Allerdings zwischen zwei Linux Rechnern - genauer gesagt zwischen zwei Kubuntu Rechnern. Bei der Recherche bin ich dann auf Barrier gestoßen, das ein Fork des früheren Synergys ist.
Barrier teilt Maus, Tastatur und die Zwischenablage.

 

Barrier ist in sehr vielen Linux Distributionen vorhanden und falls nicht, gibt es das noch als Flatpack. Daher geht die Installation auf beiden Rechnern schnell von der Hand mit einem

sudo apt install barrier

oder entsprechend mit der Flatpack Variante über Discover (Ubuntu).

 

Beim Start auf dem Rechner mit der Maus und der Tastatur (Server) öffnet sich das Barrier Konfigurationsfenster mit der Aufforderung eine Sprache auszuwählen.
Danach kommt man in die eigentliche Konfiguration.

  1. Server - im oberen (Serverbereich) “interaktiv konfigurieren” anklicken
  2. Server - “Server konfigurieren” klicken
  3. Server - Von der rechten oberen Seite das Monitor Symbol in das Feld auf die Seite ziehen, wo Maus und Tastatur auf den anderen Rechner wechseln sollen
  4. Server - Doppelklick auf den neuen “Monitor” und einen Anzeigenamen vergeben


Wechsel zum “Client”

  1. Client - Barrier starten
  2. Client - Auswahl “Client (Maus und Tastatur eines anderen Rechner benutzen)” auswählen
  3. Client - IP Adresse des Server eintragen (diese wird im Barrier Fenster des Servers angezeigt)
  4. Client - Barrier starten (oder neu laden, falls schon gestartet)
  5. Client - Es kommt eine Schüsselgenerierungsanzeige. Diese bestätigen

Barrier sollte jetzt mit der Maus und Tastatur funktionieren.

 

Barrier läuft unter Linux, FreeBSD, OpenBSD, Windows und macOS (hier bitte die Entwicklerseite wegen bekannten Problemen lesen!!)

 

Die Entwickler Webseite https://github.com/debauchee/barrier

 

 

BEAUTIFUL DESOLATION kostenlos – nativ für Linux

18. Juni 2022 um 12:11
Von: jdo

Bis ungefähr Montagmittag hast Du noch Zeit, Dir BEAUTIFUL DESOLATION zu holen und zwar kostenlos. Gog.com verschenkt wieder ein Spiel, das auch noch nativ unter Linux läuft – Windows sowieso, ist aber auch für macOS verfügbar. BEAUTIFUL DESOLATION ist isometrisches 2D-Adventure. In einer fernen Zukunft löst Du in einer postapokalyptischen Landschaft Rätsel, triffst neue Freunde, aber auch auf mächtige Gegner. Du musst Dich mit Konflikten plagen und Deine eigene Haut retten. Natürlich gibt es jede Menge Geheimnisse, die Du entdecken […]

Der Beitrag BEAUTIFUL DESOLATION kostenlos – nativ für Linux ist von bitblokes.de.

❌