ubuntuusers.de

Neueste Artikel

gestern

GNU/Linux.ch 29. Juni 2022 14:00

Orchid Linux

Mi, 29. Juni 2022, Lioh Möller

Wem die Installation und Konfiguration von Gentoo zu aufwändig oder zu kompliziert ist, der kann einen Blick auf Orchid Linux werfen. Das aus Frankreich stammende Projekt hat sich zum Ziel gesetzt, Gentoo für eine grössere Nutzergruppe zur Verfügung zu stellen. Dennoch richtet sich auch diese Distribution nicht an Einsteiger.

Dabei wird versucht, dem Geiste Gentoos treu zu bleiben und möglichst wenige Modifikationen durchzuführen. Lediglich die Installation wird durch vorcompilierte Paketgruppen beschleunigt, welche beispielsweise als KDE Plasma, Xfce, GNOME oder eine Variante mit dwm angeboten werden.

Darüber hinaus werden Tools bereitgestellt, welche die Arbeit mit dem System vereinfachen sollen und zum Beispiel Systemaktualisierungen ermöglichen.

Die Installation selbst ähnelt hingegen aktuell eher einem klassischen Gentoo Installationsvorgang. Es wird weder ein grafisches noch ein textbasiertes Installationsprogramm angeboten und die erforderlichen Schritte müssen manuell durchgeführt werden. Englischkenntnisse werden dazu zwingend vorausgesetzt. Sofern das System einmal auf die Festplatte gebannt wurde, kann es auf Wunsch mit dem sogenannten Tkg-Kernel ausgestattet werden, der Optimierungen insbesondere für das Gaming- und die Desktop-Nutzung enthält. Mithilfe des Kommandos orchid-nvidia lässt sich bei Bedarf auf einfache Weise NVIDIA Treiber installieren.

Viele der enthaltenen Tools sind lediglich Wrapper in Gentoo enthaltene Standardwerzeuge wie emerge oder eix-sync. Ob es sinnvoller wäre, sich direkt mit der Mutterdistribution auseinanderzusetzen und deren Befehle zu erlernen, oder ob man von den Vereinfachungen des Orchid Linux Projektes profitieren möchte, bleibt letztendlich die Entscheidung des interessierten Anwenders. Mittels orchid-transform lässt sich alternativ auch ein bereits installiertes Gentoo in ein Orchid Linux verwandeln.

Quelle: https://orchid-linux.org/en/index.html

28. Juni 2022

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 strikten 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.

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.

27. Juni 2022

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.

24. Juni 2022

Fr, 24. Juni 2022, Lioh Möller

In Fedora Silverblue ist die Aktualisierung mittels rpm-ostree bereits in GNOME Software integriert. Das KDE Projekt arbeitet ebenfalls seit einer Zeit an einer Integration in Discover, welche allerdings noch nicht abgeschlossen wurde.

Nutzer von Alternativen wie Vauxite bleibt bisher nur ein Griff zur Kommandozeile. Abhilfe schafft das in Python geschriebene Programm RPM OSTree GUI.

Die Installation kann mittels pip3 im Benutzerkontext erfolgen:

pip3 install rpm-ostree-gui

Daraufhin lässt sich die Anwendung über den entsprechenden Eintrag im Startmenü aufrufen.

Aktuell ist es mit dessen Hilfe möglich, zusätzliche Pakete zu installieren, sofern der Paketname bekannt ist. Eine Deinstallation kann ebenfalls ausgelöst werden, sowie eine Suche über die installierten Overlays.

Nützlich ist die integrierte Aktualisierungsfunktion sowie die Möglichkeit, die bisher experimentelle 'Apply live' Funktion aufzurufen, welche eine Aktivierung von neuen Overlays unter bestimmten Umständen ohne Neustart durchführen kann.

Quelle: https://github.com/epiccakeking/rpm-ostree-gui

21. Juni 2022

Vor etlichen Jahren hatte ich mit qrencode ein Werkzeug vorgestellt, um QR-Codes auf der Kommandozeile zu generieren. Neben normalen QR-Code können mit dem Werkzeug auch andere Codes wie EPC-QR-Codes erstellt werden. Dazu muss im ersten Schritt eine Textdatei erzeugt und entsprechend befüllt werden:

BCD
001
1
SCT
BIC12345678
Ada Lovelace
DE07123412341234123412
EUR3.14


Verwendungszweck

Der Wert in der ersten Zeile ist der Service Tag, welcher immer BCD ist und in der nächsten Zeile von einer Versionsnummer ergänzt wird. Anschließend folgt die Zeichenkodierung, in diesem Fall ist es UTF-8. Daraufhin folgt die Identifikation für den SEPA Credit Transfer, anschließend die BIC und der Name des Zahlungsempfängers. Mit dem Zahlungsbeitrag folgen die optionalen Werte, welche bei Bedarf ausgelassen werden dürfen, indem eine Leerzeile genutzt wird.

Der generierte EPC-QR-Code

Anschließend kann aus der Datei der entsprechende QR-Code erstellt werden:

cat epc.txt | qrencode -o epc.png -l M -s 24

Gedacht sind diese Codes, um Überweisung auf mobilen Endgeräten schnell vorzunehmen, indem die entsprechenden Daten über den QR-Code eingelesen werden.

20. Juni 2022

Mo, 20. Juni 2022, Stefan

... Android riecht auch ohne Playstore sehr nach Google und iOS kommt sowieso nicht infrage? Glücklicherweise gibt es Menschen, die ähnlich denken und diesen Gedanken Taten folgen lassen. Daraus entstanden sind nicht nur (weitgehend) Google freie Android-Distributionen, sondern auch Systeme, welche unabhängig von den grossen Konzernen und deren veröffentlichten Quelltexten entwickelt werden.

Neben Entwicklungen wie UBports, welche versuchen ein eigenes Software-Ökosystem auf die Beine zu stellen, gibt es auch Projekte, welche darauf abzielen, bereits bestehende Systeme für Mobiltelefone nutzbar zu machen.

Letztere haben mit der Veröffentlichung des PinePhones gewaltige Fortschritte gemacht. Zum Teil ist dies wohl der Tatsache zu verdanken, dass der Hersteller die Hardware bewusst so gestaltet hat, dass es einfach ist, das Gerät neu aufzusetzen ist. Erreicht wurde dies, indem es standardmässig von der SD-Karte startet, sofern diese ein bootfähiges System enthält.

Zum Anderen verkaufte das Unternehmen über einen gewissen Zeitraum hinweg sogenannte 'Community Editions'. Diese Geräte waren mit dem Logo eines Softwareprojekts bedruckt und es ging ein Teil der Einnahmen an letzteres. So erhielten diese nicht nur finanzielle Unterstützung, sondern auch einiges an Aufmerksamkeit. Zudem stellt der Hersteller kein eigenes System zur Verfügung, sondern unterstützt unabhängige Entwickler, so gut es ihm möglich ist.

Wie bei Linux am Desktop, ist es auch hier so, dass die Desktopumgebung sozusagen das Gewand darstellt und die Wahl der Distribution erst am zweiten Blick für Unterschiede sorgt. Weshalb wir einen Blick auf die Mobilen Desktopumgebungen werfen wollen, bevor wir die Distributionen betrachten.

Im Moment scheinen drei Windowmanager für Linux am Mobilgerät populär zu sein. sxmo ist ein auf Minimaleismus getrimmter Vertreter. Plasma Mobile ist als für Mobilgeräte optimierte Variante des KDE Plasma Desktops interessant und wird standardmässig mit dem PinePhone als Teil einer Manjaro ARM Installation ausgeliefert. Wer es etwas schlichter mag, aber dann doch nicht auf sxmo setzen will, für den könnte Phosh die richtige Wahl sein.

Phosh wurde von Purism, einem Hardwarehersteller aus den USA für deren Mobiltelefon dem Librem5 entwickelt. Ich verwende auf meinem Mobiltelefon Phosh als Teil einer Mobian Installation. Erwähnenswert ist auch, dass Phosh auf gtk basiert, und auf Komponenten der Gnome-Shell aufbaut. Seit einiger Zeit hat darüber hinaus das GNOME-Projekt selbst damit begonnen, die GNOME-Shell für Mobilgeräte nutzbar zu machen.

Doch zurück zu den Distributionen. Eine, welche bereits vor der Veröffentlichung des Pinphones beträchtliche Entwicklungsfortschritte aufweisen konnte, ist postmarketOS. Dabei handelt es sich um einen Ableger von Alpine Linux, mit einem Focus auf Mobilgeräte. Neben dem Beitriebsystem selbst, entwickelt das Team auch an Softwarelösungen, um dieses möglichst einfach auf Androidgeräten installieren zu können. Auch das Portieren auf noch nicht unterstützte Hardware, soll durch diese Tools vereinfacht werden.

Wie bereits erwähnt, basiert das Image, mit dem das PinePhone ausgeliefert wird, auf Manjaro Arm. Hier scheint es sich um ein Image zu handeln, bei dem die Paketquellen der Desktopversion zum Einsatz kommen und sich nur die Auswahl der vorinstallierten Pakete unterscheidet.

Einen ähnlichen Weg ist auch Mobian. Das System stellt weniger eine eigenständige Distribution dar, als ein Installationsimage für Debian, welches Repositories mit für Mobilgeräte optimierte Software wie der Phosh Desktopumgebung zur Verfügung stellt.

Auch von anderen Distributionen gibt es Bestrebungen, diese auf dem Mobilgerät sinnvoll einsetzbar zu machen. In dieser kurzen Übersicht fanden nur diejenigen Erwähnung, von denen ich bisher am meisten mitbekommen habe.

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.

18. Juni 2022

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

 

 

17. Juni 2022

Fr, 17. Juni 2022, Lioh Möller

Der Softwareentwickler Jaap Joris Vens pflegt in einem Git-Repository seinen persönlichen Ansatz zur Verwaltung von Debian GNU/Linux Systemen mittels Ansible. Dabei werden unterschiedliche Rollen, beispielsweise zur Einrichtung einer Workstation, eines Laptops, eines Datenbank- oder Webservers angeboten.

In einer ausführlichen Anleitung beschreibt er, wie ein System vorbereitet werden muss, um daraufhin mit Ansible verwaltet werden zu können.

Nach der Einrichtung des SSH-Zugriffs und dem Hinzufügen des Hostnamens des Zielsystems in das inventory, kann das Playbook ausgeführt werden.

Standardmässig wird bei der Nutzung der workstation Rolle ein Desktopsystem mit dem xmonad Tiling-Windowmanager eingerichtet.

Die Lösung kann als Ansatz für interessierte Anwender dienen, welche ihre Systeme ebenfalls auf diese Weise verwalten möchten. Die mitgelieferten Rollendefinitionen sind einfach aufgebaut und können schnell an die persönlichen Bedürfnisse angepasst werden.

Quelle: https://github.com/rtts/debian

16. Juni 2022

Do, 16. Juni 2022, Lioh Möller

Bei Ultramarine Linux handelt es sich um eine Fedora basierte Distribution, die sich als spiritueller Nachfolger von Korora sieht. Im Gegensatz zur Mutterdistribution, enthält Ultramarine einige Erweiterungen, welche insbesondere den Einsatz im Desktop-Umfeld vereinfachen sollen. Dazu gehört die standardmässige Integration des RPM Fusion Repositories, vorinstallierte Multimedia-Codecs, sowie die Verfügbarkeit zusätzlicher Desktopumgebungen.

So wird die als Flagship Edition bezeichnete Hauptvariante mit dem aus dem Solus-Projekt abstammenden Budgie Desktop ausgeliefert. Alternativ steht diese auch auf Basis von ostree (Fedora Silverblue) zur Verfügung.

Darüber hinaus werden Installationsmedien mit GNOME, Pantheon und dem Cutefish Desktop angeboten.

Eine Migration einer bereits bestehenden Fedora Installation ist ebenfalls möglich. Im Wiki des Projektes findet man weiterführende Informationen in englischer Sprache.

Damit eignet sich die Distribution für Einsteiger und erfahrene Anwender, welche sich ein vorkonfiguriertes Desktop-System wünschen, sich allerdings vor der Nutzung von Fedora scheuen.

Fedora hat in aktuellen Versionen allerdings ebenfalls die Integration von 3rd-Party-Repositories vereinfacht, wodurch sich der Mehrwert von Ultramarine Linux relativiert.

Quelle: https://ultramarine-linux.org/

14. Juni 2022

Mozilla aktiviert den sogenannten vollständigen Cookie-Schutz für alle Firefox-Nutzer und verbessert damit den Datenschutz seiner Nutzer.

Ende Mai hatte ich darüber berichtet, dass Mozilla den sogenannten vollständigen Cookie-Schutz für alle Firefox-Nutzer ausrollt, damals noch per Opt-In. Jetzt beginnt Mozilla damit, den vollständigen Cookie-Schutz standardmäßig für alle Nutzer auszurollen.

Vollständiger Cookie-Schutz – was ist das?

Im Februar 2021 hat Mozilla mit der Veröffentlichung von Firefox 86 den sogenannten „vollständigen Cookie-Schutz“ eingeführt. Vereinfacht gesagt bedeutet dies, dass die Cookies jeder Domain in einem separaten Cookie-Container gespeichert werden – seitenübergreifendes Tracking über Cookies soll damit erschwert werden.

Vollständiger Cookie-Schutz in Firefox 86

Mehr Datenschutz für alle Firefox-Nutzer

Aktiviert war diese Datenschutz-Verbesserung bisher nur für Nutzer, welche in den Datenschutz-Einstellungen von Firefox den strengen Schutz vor Aktivitätenverfolgung aktiviert haben, sowie in privaten Fenstern. In Zukunft wird der vollständige Cookie-Schutz also für alle Firefox-Nutzer standardmäßig aktiviert sein, unabhängig von der gewählten Datenschutz-Stufe.

Der Beitrag Firefox: Mozilla aktiviert vollständigen Cookie-Schutz für alle Nutzer erschien zuerst auf soeren-hentzschel.at.

Di, 14. Juni 2022, Lioh Möller

Die nun vorliegende Version 5.25 der KDE Plasma Desktopumgebung stellt einen Meilenstein in der Entwicklung dar. Das Augenmerk lag dabei vorwiegend auf der Verbesserung des Benutzererlebnisses.

So wurde beispielsweise die Übersichtsseite erneuert und neben den aktuell geöffneten Fenstern, werden nun auch virtuelle Arbeitsflächen angezeigt. Ein direktes Ablegen von Fenstern auf Arbeitsflächen ist ebenfalls möglich.

Durch die Integration von krunner können direkt aus der Übersicht weitere Applikationen gestartet werden. Wie bereits zuvor, lässt sich die Übersicht durch eine 4-Finger-Pinch Geste öffnen. Neu ist allerdings auch eine Gestensteuerung auf Touchscreens möglich. So lassen sich beispielsweise mittels 3-Finger-Swipe Geste auf dem Touchpad die virtuellen Arbeitsflächen umschalten.

Auf einem Touchscreen lassen sich die Gesten über eine Wischbewegung von den Bildschirmrändern initiieren. Damit eignet sich die Desktopumgebung ideal für eine Nutzung auf Geräten mit abnehmbaren Touchscreen oder Touchpads. Dabei wird der Moduswechsel automatisch erkannt und der Touchmodus lässt sich bei Bedarf aktivieren.

Die Akzentfarbe lässt sich ähnlich wie bei GNOME bereits seit längerem anpassen, doch KDE Plasma wäre nicht KDE Plasma, wenn es nicht noch weitere Einstellmöglichkeiten bieten würde. So kann die Akzentfarbe so gewählt werden, dass sie sich automatisch an das aktuelle Hintergrundbild anpasst.

Sogenannte Floating Panels ermöglichen ein schwebendes Panel-Layout, bei dem die Taskleiste automatisch am Bildschirmrand platziert wird, sobald ein Fenster maximiert dargestellt wird.

Darüber hinaus wurde die Darstellung der verfügbaren Anwendungen in Discover verbessert und der Anmeldemanager gibt visuelles Feedback, sofern ein Passwort falsch eingetippt wurde.

Die KWin Scripts Einstellungen wurden überarbeitet und erlauben eine einfachere Verwaltung von Windowmanager-Scripten.

Das KDE-Projekt hat sich nicht nur bei der Verbesserung der Software sehr viel Mühe gegeben, auch die Release-Ankündigung ist eindrücklich. Viele der neuen Funktionen werden in Videos gezeigt und in Hinweisboxen werden die Möglichkeiten zur Einstellung der jeweiligen Optionen genannt.

Release Notes: https://kde.org/announcements/plasma/5/5.25.0/

Changelog: https://kde.org/announcements/changelogs/plasma/5/5.24.5-5.25.0

Promo-Video: https://tube.kockatoo.org/w/e6sZrGQZPcmk2L1T3ZxDga

13. Juni 2022

Die MZLA Technologies Corporation hat heute bekannt gegeben, die bekannte Android-App K-9 Mail zu übernehmen. Aus dieser wird Thunderbird für Android entstehen.

Wie bereits vor wenigen Wochen berichtet, wird es den beliebten E-Mail-Client Thunderbird in Zukunft auch für Android geben. Grundlage hierfür wird mit K-9 Mail die wohl bekannteste Open Source Mail-App für Android werden, wie die Mozilla-Tochter MZLA Technologies Corporation heute bekannt gegeben hat.

Bevor es jedoch einen offiziellen Thunderbird für Android geben wird, wird zunächst einiges an Arbeit in K-9 Mail fließen. Christian Ketterer, Projektleiter von K-9 Mail, arbeitet bereits in Vollzeit für MZLA. Das Thunderbird-Projekt wird sowohl Geld als auch Entwicklungszeit in die Weiterentwicklung von K-9 Mail stecken. Das Ziel ist es, K-9 Mail sowohl funktional als auch optisch in Einklang mit Thunderbird zu bringen, ehe dann K-9 Mail offiziell zu Thunderbird für Android werden wird. Wer die Entwicklung der Android-App unterstützen möchte, kann dies ab sofort auf Mozillas neuer Spenden-Seite für K-9 Mail machen.

Zu den geplanten neuen Thunderbird-Features für K-9 Mail gehören unter anderem eine automatische Konfiguration neuer E-Mail-Accounts, eine verbesserte Ordner-Verwaltung sowie Nachrichten-Filter. Im Sommer 2023 soll es eine Integration mit dem Firefox-Konto geben, um Thunderbird-Accounts mit denen von K-9 synchronisieren zu können.

Konkrete Pläne für einen potentiellen Thunderbird für iOS gibt es noch keine, das Team evaluiert nach eigenen Angaben diese Möglichkeit aktuell aber.

Der Beitrag Aus K-9 Mail wird Thunderbird für Android erschien zuerst auf soeren-hentzschel.at.

Bei Isso handelt es ich um ein auf Python basierendes Kommentarsystem, dass man selbst hosten kann, sodass die Kommentare der Nutzer nicht auf Server Dritter gespeichert werden.

Isso hatte lange Zeit zwei Probleme. Zum einen verlief die Entwicklung teilweise etwas schleppend. Und zum anderen, was das größere Problem war, konnte nur eine Person neue Versionen veröffentlichen. Und diese hatte, und hat vermutlich weiterhin, im echten Leben sehr viel zu tun.

Das hat sich seit Version 0.12.6 geändert. Neue Entwickler beteiligen sich und die nötigen Rechte um neue Versionen zu veröffentlichen sind vorhanden. Daher wurde vor etwas weniger als 24 Stunden die Version 0.13.0 veröffentlicht. Die Änderungen sind ziemlich unfangreich und können unter https://isso-comments.de/news/#isso-version-0-13-0-released nachgelesen werden.

Weiterhin ist Isso nun über https://isso-comments.de erreichbar und soll als Gemeinschaftsprojekt weitergeführt werden.

Ich habe die Isso-Instanz, die ich auf fryboyter.de nutze, bereits auf Version 0.13.0 aktualisiert. Ich musste lediglich nachträglich die CSS-Datei aktualisieren, da diese grundlegend von den Isso-Entwicklern überholt wurde.

Mo, 13. Juni 2022, Lioh Möller

Nur drei Wochen nach der Veröffentlichung von Alpine Linux 3.16 konnten die Entwickler von postmarketOS eine neue, darauf basierende Version bereitstellen.


Der aktuelle Release richtet sich vornehmlich an Entwickler und Enthusiasten und es werden mit dem SHIFT 6mq und dem Samsung Galaxy S III zwei weitere Geräte unterstützt, wodurch sich die Anzahl der unterstützten Devices auf 27 erhöht.

Dank eines nun zur Verfügung stehenden Scripts ist eine Aktualisierung einer Vorgängerversion mit Sxmo, Phosh oder Plasma Mobile möglich. Aktuell muss der Vorgang über die CLI gestartet werden und das entsprechende Paket muss zunächst installiert werden:

apk add postmarketos-release-upgrade
postmarketos-release-upgrade

In Zukunft soll dies auch mittels Hook über die grafischen Paketverwaltungsutilitys GNOME Software und KDE Discover ermöglicht werden. Mit der Version v22.06 wurden auch die folgenden verfügbaren grafischen Oberflächen aktualisiert:

Sxmo 1.9.0 unterstützt Geräteprofile und bringt eine verbesserte Bluetooth-Unterstützung mit. Als Audio-Backend kommt standardmässig Pipewire zum Einsatz. Das Incall-Menü und die Audio-Verwaltung wurden verbessert, ebenso wie superd, welches zur Überwachung von Benutzerdiensten verwendet wird.

Phosh 0.17.0 enthält kleinere Verbesserungen gegenüber der Version 0.15.0, welche seit v21.12 SP2 im Stable-Zweig der Distribution enthalten ist. Die GNOME-Basis wurde auf Version 42 aktualisiert, und eine Vielzahl der enthaltenen GTK-Anwendungen wurden auf GTK4 und libadwaita portiert. Um das Fehlen einer standardmässig installierten Kalenderanwendung auszugleichen, wird aktuell karlender ausgeliefert.

Eine detaillierte Übersicht der in Plasma Mobile Gear 22.04 enthaltenen Verbesserungen, gegenüber der Version Plasma Mobile Gear 21.12, welche mit postmarketOS v21.12 ausgeliefert wurde, ist auf der Homepage des Projektes zu finden.

PinePhone-Benutzer können mittels fwupd ihr Modem jetzt auf die alternative Firmware von Biktor auf v22.06 aktualisieren. Der bisher enthaltene DHCP Server, welcher bei einer Verbindung eines Telefons mit einem PC über USB, automatisch eine IP-Adresse zuweisen kann, um einen Zugriff via SSH zu ermöglichen, wurde auf unudhcpd umgestellt.

Quelle: https://postmarketos.org/blog/2022/06/12/v22.06-release/

12. Juni 2022

Wer Red Hat Enterprise Linux (RHEL) betreiben möchte, benötigte dazu eine sogenannte Subskription, im Folgenden RHEL-Sub genannt. Die Kosten für eine RHEL-Sub ergeben sich aus der Art der RHEL-Sub und dem damit verbundenen Service-Level. Der schon etwas ältere Artikel Support-Subskriptionen von SUSE und Red Hat gibt hierzu einen kleinen Einblick.

Da RHEL-Klone wie AlmaLinux und Rocky Linux kostenlos verfügbar sind, kommt schnell die Frage auf: „Warum soll ich für RHEL soviel Geld bezahlen, wenn ich quasi das gleiche OS unter anderem Namen kostenlos nutzen kann?“

Um bei der Beantwortung dieser Frage zu helfen, stelle ich in diesem Artikel einige potenzielle Mehrwerte vor, die man mit dem Erwerb einer RHEL-Sub erhält.

Aus Gründen der Transparenz weise ich darauf hin, dass ich Mitglied der Red Hat Accelerators Community und System-Administrator diverser RHEL-Server bin. Dieser Text gibt ausschließlich meine persönlichen Ansichten und nicht die von Red Hat oder die meines Arbeitgebers wieder. Zwar können diese in einzelnen Punkten übereinstimmen, müssen es aber nicht.

Kostenlose RHEL-Subs

Nicht alle RHEL-Subs kosten Geld. Es gibt auch zwei Subskriptionen, mit denen sich RHEL und bestimmten Rahmenbedingungen kostenlos betreiben lässt.

Red Hat Developer Subscription for Individuals

Ein jeder kann über das Red Hat Developers Program (engl.) kostenlos eine persönliche RHEL Developer Subscription (engl.) erhalten. Mit dieser Sub erhält der Besitzer das Recht, bis zu 16 Systeme (physisch oder virtuell) zu betreiben; auch in Produktion.

Die Subskription muss jedes Jahr verlängert werden. Die Verlängerung ist ebenfalls kostenlos.

Die Subskription beinhaltet keinen kommerziellen Support. Man hat lediglich Zugriff auf die Wissensdatenbank und die Customer Portal Community. Die SaaS-Dienste Red Hat Insights und Image Builder können auch mit dieser Subskription genutzt werden.

Red Hat Developer Subscription for Teams

Im Unterschied zur oben vorgestellten individuellen Subskription dürfen Systeme mit der RHEL-Sub-for-Teams nicht in Produktion betrieben werden. Sie dient ausschließlich der Entwicklung, dem Test und der Qualitätssicherung. Dafür dürfen mit dieser Sub eine sehr große Anzahl RHEL-Systeme provisioniert werden.

Ich bin mir nicht sicher, ob ich eine genaue Zahl nennen darf. Darum glaubt mir bitte, wenn ich euch sage: „Es sind wirklich eine Menge Berechtigungen für physische und virtuelle Systeme enthalten.“

Diese Subskription erhaltet ihr nur über euer Red Hat Account Management. Falls ihr dieses (noch) nicht kennt, wendet euch im Zweifel an die Firma, wo ihr eure RHEL-Subs kauft.

Mich selbst hat es einige Mühen gekostet, an diese Sub zu kommen. Laut Aussage meines Account-Managers war ich der erste Kunde in Deutschland, der diese Sub kannte und haben wollte. Dank der Red Hat Accelerators und meines Account-Managers, der nicht aufgegeben hat, hat es schlussendlich geklappt. Falls ihr Probleme habt, diese Sub zu bekommen, schreibt mich einfach an. Vielleicht habe ich noch einen Tipp für euch.

Für den Support, Zugriff auf Red Hat Insights und Image Builder gelten die gleichen Bedingungen wie für die RHEL Developer Subscription for Individuals.

Support

Support meint an dieser Stelle nicht die Hilfe und Unterstützung, die man auf Mailinglisten, in Foren oder Chats erhalten kann. Gemeint ist ausschließlich der kommerzielle Support der Firma Red Hat, welchen man per Telefon, E-Mail oder das Customer Portal erreichen kann.

Über den Support hat man Kontakt zu den Menschen, die sich vermutlich am besten mit dem Produkt auskennen. Hier sitzen Menschen, die dafür bezahlt werden, uns Kunden bestmöglich zu unterstützen. Dabei mag es von Fall zu Fall Schwankungen in der Reaktionszeit und/oder der Qualität geben.

Mir persönlich hat der Support schon in etlichen Fragestellungen und bei einigen hartnäckigen Problemen weiterhelfen können. Dabei waren so schöne Dinge wie Kernel Panic bei Zugriff auf eine eingehängte DFS-Ressource, deren Shares in einer HNAS-Speicher-Infrastruktur liegen. Ich glaube, sowas haben die wenigsten Menschen bei sich daheim im Keller stehen. Und die Chance, bei diesem Problem Hilfe in einem Forum oder Chat zu finden, dürfte dementsprechend gering sein. Der Support stellte in diesem Fall Kontakt zu einem Engineer her, der über eine hervorragende Kenntnis der beteiligten Protokolle und Protokollversionen verfügte und beim Debugging unterstützte. Am Ende erhielten wir einen angepassten Kernel, der das Problem löste und den wir nutzen konnten, bis das Problem auch Upstream und im regulären RHEL-Kernel gefixt wurde.

Nicht zuletzt ist kommerzieller Support ein guter Verbündeter, wenn man selbst nicht weiterweiß und sich Druck aufbaut. Nach dem Motto: „Wenn selbst der Hersteller nicht weiter weiß, woher soll ich dann wissen, warum es nicht geht?“ Es ist nie schön, wenn es soweit kommt. Noch hässlicher wird es, wenn man dann nicht auf jemand anderen zeigen kann.

Red Hat Insights

Zu Red Hat Insights (engl.) habe ich in der Vergangenheit bereits eine eigene Serie geschrieben, auf die ich an dieser Stelle verweise:

  1. Einführung in Red Hat Insights
  2. Erkundung von Red Hat Insights — Advisor
  3. Schwachstellen-Management mit Red Hat Insights
  4. Red Hat Insights – Compliance
  5. Red Hat Insights – Patch and Drift
  6. Persönliche Bewertung von Red Hat Insights

Dieser Dienst steht auch mit den kostenlosen Developer-Subs zur Verfügung. Vorausgesetzt, die Nutzung ist unter geltendem Recht möglich, stellt dieser Dienst einen echten Mehrwert dar. Ein vergleichbarer Dienst existiert für AlmaLinux und Rocky Linux nicht.

Image Builder (SaaS)

In größeren Umgebungen (IHMO >2 Systeme) werden Server meist nicht mehr individuell installiert, sondern von sogenannten Images oder Templates provisioniert. Diese sind initial zu erstellen und fortlaufend zu pflegen.

Image Builder ist ein SaaS-Dienst in Red Hat Insights, welcher bei der Erstellung solcher Templates unterstützt. Dabei können Images direkt für die Cloud Anbieter Amazon Web Services, Google Cloud Platform, Microsoft Azure, VMware vSphere, KVM/QEMU (.qcow2) und Bare Metal erstellt werden.

Es handelt sich dabei um einen noch recht jungen Dienst, der einige Einschränkungen hat. So ist das einzige derzeit unterstützte Dateisystem für Images XFS. Ein RFE, um Ext4 als unterstütztes Dateisystem hinzuzufügen, ist gestellt.

Auch lassen sich aktuell über diesen Dienst noch keine User oder SSH-Public-Keys in die Images integrieren. Für diese Funktionalität habe ich ebenfalls bereits RFEs geschrieben.

Ich bin gespannt, wie Red Hat diesen Dienst weiterentwickelt. In meinen Augen hat er das Potenzial, zu einem nützlichen Werkzeug zu reifen.

Diesen Dienst kann man ebenfalls mit den kostenlosen Developer-Subs nutzen, während ein vergleichbarer Dienst meines Wissens für AlmaLinux und Rocky Linux nicht existiert.

Fazit

Ob die genannten Mehrwerte tatsächlich zum Tragen kommen, muss jeder für sich und seine Organisation selbst beurteilen. Sie sollten jedoch vor einer Entscheidung in die Überlegungen mit einbezogen werden.

Die Nutzung von Red Hat Insights ist in unserem Rechtsraum schwierig, bis nahezu unmöglich. Dort wo der Dienst genutzt werden kann, stellt er ein gutes Werkzeug dar, welches dem Admin die tägliche Arbeit erleichtert.

Ich werde ein kleines Heimlabor aus RHEL-Servern aufbauen und diese in Red Hat Insights integrieren. Vielleicht gewinne ich dadurch Erkenntnisse, die sich auch auf den Betrieb im Rechenzentrum übertragen lassen.

Der Image Builder ist als SaaS in seiner jetzigen Form nur von geringem Nutzen für mich. Ich hoffe, dass meine RFEs akzeptiert und umgesetzt werden, um diesen Service und dessen Nutzen weiter auszubauen.

11. Juni 2022

Die FIDO-Allianz (Fast Identify Online) ist vor nunmehr 10 Jahren angetreten, um uns endlich von Passwörtern zu erlösen und eine neue sichere Authentifzierungsmethode zu schaffen. Der große Durchbruch blieb leider bisher aus. Das könnte sich aber hoffentlich in den nächsten Jahren ändern.

Die von der FIDO-Allianz entwickelten Standards kennen sicher viele Anwender, die sich mit Sicherheit ein bisschen mehr beschäftigt haben. U2F als Standard für die Zwei-Faktor-Authentifizierung und etwas weniger bekannt UAF als Netzwerkprotokoll. Zusammengefasst in den FIDO-Standard, der als in Zusammenarbeit von FIDO-Allianz und W3C vor einigen Jahren als kommende Authentifizierungslösung für Internetdienste angekündigt wurde.

Die meisten Anwender werden FIDO praktisch mit Security-Keys wie YubiKey oder NitroKey verbinden. Ich bin selbst Besitzer eines YubiKey und arbeite gerne damit, aber eine wirklich umfangreiche Verbreitung hat der noch nicht gefunden. Ein paar Webseiten bieten das an, aber bei der Mehrheit darf man schon froh sein, wenn es Zwei-Faktor-Authentifizierung per TOTP und App auf dem Smartphone gibt. Selbst Linux bietet erst seit Kurzem die Möglichkeit damit LUKS-Container abzusichern. Damit ist Linux leider nicht alleine, denn Google hat FIDO nie richtig in Android implementiert, sondern nur in den proprietären Google-Bestandteilen. Anwender von Aftermarket-Lösungen schauen damit in die Röhre.

Manche hoffnungsvollen Projekte siechen dann vor sich hin und werden irgendwann eingestellt. Nicht so FIDO. Die großen Anbieter haben damit immer weiter experimentiert und es sukzessive in ihre Betriebssysteme integriert. Denn die Ablösung von Passwörtern als primäre Authentifizierungsmethode ist ein drängendes Problem und FIDO die naheliegendste Lösung.

Einen neuen umfassenden Anlauf kündigen Microsoft, Apple und Google am Welt-Passwort-Tag an. Damit sind die Entwicklerfirmen aller wichtigen Betriebssysteme – Windows, Android, ChromeOS, iOS, macOS – an Bord. Noch ist die Umsetzung nicht ganz klar, denn die aktuellen Methoden sind noch viel zu umständlich für die breite Masse der Anwender. Irgendwie müssen die FIDO-Zugangsdaten (oft als „Passkey“ bezeichnet) also zwischen den Geräten ausgetauscht werden. Für die reaktionären Alles-Hasser natürlich eine Steilvorlage, um wieder alles Mögliche zu unterstellen. Aber dennoch ist klar, dass es eine Weiterentwicklung des Standards braucht, der leichtere Bedienbarkeit mit einem hohen Sicherheitsniveau verbindet. Dazu ist der Bericht von Andreas Proschofsky in DerStandard aus dem Pressegespräch mit dem Google-Verantwortlichen sehr interessant zu lesen.

Das ist alles nicht nur Zukunftsmusik. Vor wenigen Tagen kündigte Apple die nächste Version seiner Betriebssysteme an, die eine entsprechende Funktion beinhaltet. Ich vermute, dies wird vorerst auf das Apple-Universum beschränkt sein, weil Microsoft und Google noch nicht so weit sind, aber der Weg ist vorgezeichnet. Hoffentlich bekommt Linux da dann ebenfalls noch einen Fuß in die Tür.

Der Artikel Apple, Google, Microsoft – Setzt sich FIDO endlich durch? erschien zuerst auf [Mer]Curius

In der Vergangenheit wurde auf ITrig öfters Security Scanner erwähnt, z.B. OpenVAS oder Trivy. Diese Security Scanner sind natürlich nicht die einzigen im Internet. Ein weiterer Kandidat auf Go Basis ist Nuclei. Der vorlagenbasierte Schwachstellen-Scanner ist inzwischen Teil des Kali-Universums (2022.1) und bekommt daher heute einen gesonderten Artikel spendiert.

Nuclei

Das Open-Source-Tool scannt verschiedene Protokolle (TCP, SSH, DNS, HTTP/S, SSL, Websocket, Whois usw.) auf Schwachstellen und mehr. Dazu werden YAML-Vorlagen verwendet. Diese Templates werden zum größten Teil von der Community beigesteuert, können aber auch selbst für die eigenen Bedürfnisse geschrieben werden. So kann für die vor wenigen Tagen veröffentlichte Confluence Lücke CVE-2022-26134 bereits ein Scan Template gefunden werden.

 

nuclei-flow

Neben Nuclei bietet das ProjectDiscovery noch weitere gute Programme für das Security-Umfeld. Beispielsweise subfinder, ein Subdomain Discovery Tool.

Bevor tiefer in Nuclei eingetaucht werden kann, muss der Scanner installiert werden.

Installation Nuclei unter Debian/Ubuntu

Da das Tool auf der Programmiersprache Go basiert, muss diese zunächst installiert werden.

curl -OL https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xvf go1.18.3.linux-amd64.tar.gz
sudo nano ~/.profile
    export PATH=$PATH:/usr/local/go/bin
source ~/.profile

Alternativ

sudo apt install golang-1.16

Nun kann die neueste Nuclei Version gebaut werden.

git clone https://github.com/projectdiscovery/nuclei.git
cd nuclei/v2/cmd/nuclei
go build
sudo mv nuclei /usr/local/bin/
nuclei -version

Nach der Installation sollte die Datenbank aktualisiert werden, damit Templates zur Verfügung stehen.

nuclei -ut
?  nuclei git:(master) nuclei -ut

                     __     _
   ____  __  _______/ /__  (_)
  / __ \/ / / / ___/ / _ \/ /
 / / / / /_/ / /__/ /  __/ /
/_/ /_/\__,_/\___/_/\___/_/   2.7.2

        projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] nuclei-templates are not installed, installing...
[INF] Successfully downloaded nuclei-templates (v9.0.6) to /home/user/nuclei-templates. GoodLuck!

ls -l ~/nuclei-templates/

Nachdem die Template-Datenbank aktualisiert wurde, können einzelne Vorlagen direkt in den Scanbefehl eingebunden werden.

Im Folgenden möchte ich einen kleinen Teil der möglichen Befehle mithilfe von Templates aufzeigen:

Einfacher API Scan

nuclei -u $URL -t ~/nuclei-templates/exposures/apis/

Wordpress Scan

nuclei -u $URL -t ~/nuclei-templates/vulnerabilities/wordpress/

CVE Scan

nuclei -u $URL ~/nuclei-templates/cves/2022/CVE-2022-XXXX.yaml

Token Spray

nuclei -u $URL ~/nuclei-templates/token-spray/ -var token=XXX_TOKEN_XXX

Listen

Der Scanner kann mit Listen umgehen, was beim Scannen mehrerer URLs durchaus helfen kann.

nuclei -u $URL -list http_urls.txt

Filter

Nuclei unterstützt Filter, wie tags, severity, author

nuclei -u $URL -tags cve

Workflows

Nuclei kann Workflows abbilden, d.h. es könnten z.B. Templates in einem Workflow gebündelt werden. Hier ein Beispiel:

id: workflow-example
info:
  name: Test Workflow Template
  author: pdteam

workflows:
  - template: technologies/tech-detect.yaml
    matchers:
      - name: wordpress
        subtemplates:
          - template: cves/CVE-2019-6715.yaml
          - template: cves/CVE-2019-9978.yaml

Auf solche Workflows können wiederum auch Filter angesetzt werden

nuclei -u $URL -w workflows/workflow-example.yaml -severity critical,high -list http_urls.txt

Rate Limits

Um die Anzahl der gleichzeitigen Zugriffe zu regulieren, können Rate Limits gesetzt werden.

  • rate-limit     Control the total number of request to send per seconds
  • bulk-size     Control the number of hosts to process in parallel for each template
  • c     Control the number of templates to process in parallel

Custom Header

Es kann notwendig sein, einen eigenen Header zu setzen. Gerade bei BugBounty Programmen oder um euch als Pentester erkennen zu geben. Dazu kann die "/home/user/.config/nuclei/config.yaml" angepasst werden:

    # Headers to include with each request.
header:
  - 'X-BugBounty-Hacker: h1/geekboy'
  - 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) / nuclei'

Wer dies ad hoc via CLI erledigen möchte, der muss nur "Header" in der Befehlskette verwenden.

nuclei -header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) / nuclei' -list urls.txt -tags cves

Hier endet auch schon der Schnelleinstieg in Nuclei. Ich hoffe, ihr habt einen schnellen Einblick bekommen, was mit dem Scanner möglich ist und warum die vorhandenen Vorlagen und Einstellmöglichkeiten Nuclei momentan zu einem sehr beliebten Tool machen.

Weitere Tipps findet ihr direkt auf Github oder beim Template Guide

Viel Erfolg beim Testen der eigenen Webseite, Apps, Sockets.

 

10. Juni 2022

Fr, 10. Juni 2022, Lioh Möller

Wer Podcasts gerne zum späteren Anhören oder zu Archivierungszwecken herunterladen möchte, kann dies beispielsweise mit gPodder tun. Automatisieren lässt sich dies mit dem Kommandozeilen-Programm castget.


Zur Installation aus den Quellen müssen zunächst die entsprechenden Build-Abhängigkeiten installiert werden. Auf einem Debian GNU/Linux System in der Version 11 (Bullseye) erfolgt dies mit folgendem Befehl:

sudo apt install build-essential libxml2-dev libcurl4-openssl-dev libid3-3.8.3-dev

Nach dem Herunterladen des aktuellen Quellcodes von der Projekthomepage, kann das Archiv entpackt werden und der Compiliervorgang im Verzeichnis des entpackten Archivs gestartet werden.

./configure
make
sudo make install

Die Konfiguration erfolgt in der Datei ~/.castgetrc und sie hat folgenden Aufbau:

[GNU/Linux.ch]
url=https://gnulinux.ch/rss.xml
spool=/home/DEIN_USERNAME/Podcasts/Podcast_Name/

Das angegebene Spool-Verzeichnis muss vorab erstellt werden. Die Konfigurationsdatei kann mehrere Einträge dieser Art enthalten. Globale Einstellungen lassen sich wie folgt setzen:

[*]
id3contenttype=Podcast

Der Download lässt sich daraufhin mit folgendem Befehl starten:

castget -vrp

Als Parameter können die Namen der in der Konfigurationsdatei in eckigen Klammern angegebenen Podcasts angegeben werden, um nur einzelne Podcasts herunterzuladen oder zu aktualisieren.

Die Angabe von -r stellt sicher, dass ein bereits zuvor begonnener Download fortgesetzt wird. -v (verbose) und -p (progress-bar) dienen lediglich der optischen Darstellung und sind bei einer Verwendung beispielsweise über einen cronjob nicht notwendig.





https://castget.johndal.com/

9. Juni 2022

Mozilla hat mit Firefox 101.0.1 ein Update außer der Reihe für seinen Desktop-Browser veröffentlicht.

Download Mozilla Firefox 101.0.1

Mit dem Update auf Firefox 101.0.1 behebt Mozilla ein Problem in Zusammenhang mit der in Firefox 100.0.1 eingeführten verbesserten Prozess-Isolation, welches für einen kleinen Teil der Windows-Nutzer verursachen konnte, dass Firefox nicht mehr funktioniert hat.

Ebenfalls Windows betrifft eine potentielle Absturzursache beim Beenden von Firefox, welche mit dem Update aus der Welt geschafft worden ist.

Auf macOS wurde ein Problem behoben, welches verursachte, dass Firefox den Inhalt der Zwischenablage vergessen hat, wenn Firefox beendet worden ist.

Speziell Linux-Nutzer waren von einem Problem mit dem Bild-im-Bild-Modus für Videos betroffen, wo das Kontextmenü nicht mehr funktionierte.

Behoben wurde außerdem ein Absturz auf Systemen mit Overlay-Scrollbalken bei Verwendung von Firefox in einer Sprache, in der von rechts nach links geschrieben wird, der auftrat, wenn der Info-Dialog einer Website aufgerufen worden ist.

Außerdem gab es noch eine Kompatibilitäts-Anpassung für Microsoft Teams.

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

Docker Desktop ist eine grafische Benutzeroberfläche zu Docker, die manche administrative Aufgaben erleichtert. Ursprünglich stand das Programm nur für Windows und macOS zur Verfügung. Seit Mai 2022 gibt es den Docker Desktop auch für Linux. Für diesen Blog-Artikel habe ich das Programm unter Ubuntu 22.04 kurz ausprobiert. Soviel vorweg: Aufgrund diverser Nachteile gibt es wenig zwingende Gründe, die für den Einsatz sprechen.

Docker Desktop unter Linux

Installation

Ich habe meine Tests unter Ubuntu 22.04 durchgeführt. Auf dem Rechner waren bisher keine Docker-Pakete installiert. Beachten Sie, dass der Docker Desktop keine Erweiterung zu einer vorhandenen Docker-Installation ist. Vielmehr sollten Sie diese vollständig entfernen, bevor Sie mit der Installation beginnen!

Bevor Sie den Docker Desktop installieren können, müssen Sie die Docker-eigene Paketquelle einrichten (Quelle):

sudo apt update

sudo apt install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Absurderweise enthält diese Paketquelle zwar diverse Docker-Pakete, nicht aber den Docker Desktop. Den müssen Sie manuell als DEB-Paket von der folgenden Seite herunterladen. (Der Grund für diese umständliche Vorgehensweise sind vermutlich die abweichenden Lizenzen. Der Docker Desktop steht zwar Privatanwendern kostenlos zur Verfügung. Es handelt sich aber nicht um Open-Source-Code. Für den kommerziellen Einsatz sind je nach Unternehmensgröße Lizenzgebühren erforderlich.)

https://docs.docker.com/desktop/release-notes

Das lokal heruntergeladene Paket samt aller Abhängigkeiten installieren Sie nun so:

sudo apt update

sudo apt install Downloads/docker-desktop-4.9.0-amd64.deb

Zum Ende der Installation wird eine Warnung angezeigt, die Sie aber ignorieren können:

N: Der Download wird als root und nicht Sandbox-geschützt durchgeführt, 
da auf die Datei »/home/kofler/Downloads/docker-desktop-4.9.0-amd64.deb« 
durch den Benutzer »_apt« nicht zugegriffen werden kann. 
pkgAcquire::Run (13: Keine Berechtigung)

Betrieb

Im Startmenü bzw. unter Gnome mittels Aktivitäten führen Sie den Docker Desktop nun aus. Der Startvorgang dauert eine Weile. Anschließend können die Kommandos docker und docker compose wie üblich in einem Terminalfenster ausgeführt werden. Docker wurde so eingerichtet, dass das Kommando ohne sudo funktioniert. Den Containern wird standardmäßig eine Netzwerkverbindung in einem privaten Netzwerk in 172.*.*.* zugewiesen.

docker run -it --rm alpine

<alpine># ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN qlen 1000
    link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
16: eth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

Nachdem die Hürden der Installation einmal überwunden waren, hat Docker ausgezeichnet funktioniert. Im Vergleich zur reinen Verwendung des Kommandos docker hilft der Docker Desktop beim Einstieg in die Container-Welt sowie bei der Verwaltung aller jemals ausgeführten Container, aller heruntergeladenen Images sowie der von den Container genutzten Volumes. Wirklich essentiell ist keine dieser Funktionen, aber natürlich erleichtern sie die ersten Schritte.

Interna

Hinter den Kulissen ist für die Ausführung der Docker-Container eine virtuelle Maschine zuständig, die vom Docker Desktop automatisch gestartet wird. Auf meinem Rechner mit 16 GByte RAM und einer CPU mit 4 Cores hat der Docker Desktop für sich knapp 4 GByte RAM und 2 Cores reserviert. Für das Disk Image der Maschine sind 64 GByte vorgesehen. (Anfänglich ist die Datei aber zum Glück wesentlich kleiner.) QEMU-Experten können sich in der Prozessliste die Optionen ansehen, die für die Ausführung der virtuellen Maschine verwendet werden.

ps axu | grep qemu

kofler     40338  3.5 26.0 6470936 4223024 ?     Sl   13:13   0:54 qemu-system-x86_64 -accel kvm -cpu host -machine q35 -m 3962 -smp 2 -kernel /opt/docker-desktop/linuxkit/kernel -append page_poison=1 vsyscall=emulate panic=1 nospec_store_bypass_disable noibrs noibpb no_stf_barrier mitigations=off linuxkit.unified_cgroup_hierarchy=1 vpnkit.connect=tcp+bootstrap+client://gateway.docker.internal:42021/974498b84e0cf777fec14624fda4ca7bb07343ae3bbed05f397d28bbf707b784 vpnkit.disable=osxfs-data console=ttyS0 -initrd /opt/docker-desktop/linuxkit/initrd.img -serial pipe:/tmp/qemu-console1100778794/fifo -drive if=none,file=/home/kofler/.docker/desktop/vms/0/data/Docker.raw,format=raw,id=hd0 -device virtio-blk-pci,drive=hd0,serial=dummyserial -netdev user,id=net0,ipv6=off,net=192.168.65.0/24,dhcpstart=192.168.65.9 -device virtio-net-pci,netdev=net0 -vga none -nographic -monitor none -object memory-backend-memfd,id=mem,size=3962M,share=on -numa node,memdev=mem -chardev socket,id=char0,path=/home/kofler/.docker/desktop/virtiofs.sock0 -device vhost-user-fs-pci,queue-size=1024,chardev=char0,tag=virtiofs0

Der Docker Desktop samt seiner virtuellen Maschine läuft ohne root-Rechte als Prozess des lokalen Benutzers.

systemctl --user status docker-desktop

  docker-desktop.service - Docker Desktop
     Loaded: loaded (/usr/lib/systemd/user/docker-desktop.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-06-09 13:13:50 CEST; 9min ago
   Main PID: 40088 (com.docker.back)
      Tasks: 157 (limit: 18937)
     Memory: 5.8G


docker version

Client: Docker Engine - Community
 Cloud integration: v1.0.25
 Version:           20.10.17
 API version:       1.41
 ...
 Context:           desktop-linux
 Experimental:      true

Server: Docker Desktop 4.9.0 (80466)
 Engine:
  Version:          20.10.16
  API version:      1.41 (minimum version 1.12)
  ...
 containerd:
  Version:          1.6.4
  GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
 runc:
  Version:          1.1.1
  GitCommit:        v1.1.1-0-g52de29d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Die Eckdaten der virtuellen Maschine können in der Oberfläche des Docker Desktops verändert werden.

Einstellungen für die virtuelle Maschine, in der die Docker-Container ausgeführt werden

Zukunftsvisionen: »Development Environments« versus »Development Containers«

Spannend ist eine neue Funktion, die aktuell aber erst im Preview-Stadium vorliegt: Development Environments (Link zur Dokumentation) sollen es im Zusammenspiel mit git noch einfacher machen, Testversionen bzw. Entwicklungszweige (git-Branches) im Team auszuprobieren — und das, ohne jedesmal alle möglichen Voraussetzungen manuell einzurichten. Möglicherweise führt das die Idee von gewöhnlichen Containern noch einen Schritt weiter.

Das VSCode-Plugin Remote Containers verfolgt mit Development Containern eine ganz ähnliche Idee (Link). Ob sich eines dieser Konzepte durchsetzen kann, ist aktuell noch nicht absehbar.

Fazit

Die grafische Oberfläche des Docker Desktops bietet Linux-Anwendern den gleichen Komfort wie Entwicklern, die Docker unter macOS oder Windows ausführen. Das ist an sich sehr erfreulich.

Der Docker Desktop enthält allerdings keine wirklich relevanten Funktionen, die nicht schon bisher auf Kommandoebene zur Verfügung standen. Gegen den Einsatz von Docker Desktop sprechen diverse Gründe:

  • Die Installation ist verblüffend umständlich. (Die Docker-Installation war schon immer relativ umständlich, weil nur wenige Distributionen aktuelle Docker-Pakete zur Verfügung stellen. Aber dass Docker Desktop die Sache noch komplizierter macht, ist absurd.)

  • Docker Desktop ist ein Komplettpaket inklusive aller Docker-Tools. Es ersetzt die bisherigen Pakete. Eine Installation des Docker Desktop parallel zu einem schon vorhandenen Docker-Setup ist nicht möglich.

  • Der Docker Desktop verwendet eine virtuelle Maschine zur Ausführung von Containern. Dadurch ergibt sich eine bessere Trennung zwischen dem Host-Rechner und den Docker-Container. Allerdings geht ein wesentlicher Vorteil von Docker unter Linux verloren, nämlich die nahtlose Integration von Docker-Containern in die Prozess- und Speicherverwaltung des Hosts. Der für die virtuelle Maschine reservierte Speicher wird zur Gänze Docker zugeteilt, ganz egal, wie viele oder wenige Container gerade ausgeführt werden. Auf Entwicklungsrechnern mag dieser Ansatz eine gewisse Berechtigung haben. Für das Deployment am Server ist der Docker Desktop definitiv ungeeignet (und auch gar nicht vorgesehen).

  • Weil der Docker Desktop eine virtuelle Maschine benötigt, kann der Docker Desktop nur bei nativen Linux-Installationen genutzt werden — nicht aber, wenn Linux selbst in einer virtuellen Maschine läuft. Vermutlich ist das ein Grund, warum bisher so wenig Testberichte zum Docker Desktop erschienen sind …

  • Der Docker Desktop steht Privatanwendern zwar kostenlos zur Verfügung, es handelt sich aber nicht um ein ein Open-Source-Programm. Der kommerziellen Einsatz ist in großen Unternehmen (>250 Mitarbeiter oder >10 Millionen $ Jahresumsatz) kostenpflichtig.

Quellen/Links

8. Juni 2022

Der Einsatz von Kali Linux auf einem »alten« Apple-Rechner ist einfach: Sie installieren zuerst VirtualBox und dann in einer virtuellen Maschine die x86-Version von Kali Linux. Die Vorgehensweise ist im Internet vielfach dokumentiert.

Schon etwas komplizierter wird die Sache, wenn Sie einen M1- oder demnächst einen M2-Mac besitzen. VirtualBox steht für diese CPU-Architektur nicht zur Verfügung. Sie haben die Wahl zwischen den beiden kommerziellen und relativ teuren Virtualisierungssystemen Parallels und VMware Fusion sowie dem Programm UTM, das auf der unter Linux beliebten Virtualisierungs-Software QEMU basiert. Dieser Blog-Beitrag zeigt, wie Sie die ARM-Variante von Kali Linux unter UTM installieren.

Die ARM-Variante von Kali Linux läuft in einem Fenster unter macOS (getestet auf einem Mac Mini M1)

UTM

Sie können UTM wahlweise für nur 10 € im Apple Store kaufen und so die Entwickler ein wenig unterstützen oder die App kostenlos von der folgenden Seite herunterladen:

https://mac.getutm.app

UTM ist eine einfache, aber funktionelle Oberfläche für das unter Linux etablierte Programm QEMU. Sie können damit Linux-Distributionen installieren, die als ARM64-Image vorliegen.

Die Virtualisierungsoberfläche »UTM« unter macOS, hier mit zwei virtuellen Maschinen, Ubuntu und Kali Linux

Kali-Installation

Als Basis für die Kali-Installation wählen Sie auf der Kali-Download-Seite die Variante Bare Metal / Apple M1 / Installer aus. Die ISO-Datei ist ca. 2,5 GByte groß:

https://www.kali.org/get-kali/#kali-bare-metal

Nun richten Sie in UTM eine neue virtuelle Maschine ein. Im ersten Dialog des Assistenten wählen Sie die Option Virtualize, im zweiten Dialog geben Sie an, dass Sie eine Linux-Distribution ausführen möchten. Im dritten Dialog wählen Sie mit Browse das zuvor heruntergeladene Kali-Installations-Image aus. Die Optionen Use Apple Virtualization und Boot from kernel image bleiben deaktiviert.

In den nächsten zwei Dialogen geht es um die Hardware-Ausstattung der virtuellen Maschine. Je nachdem, wie üppig Ihr Mac ausgestattet ist, sollten Sie der virtuellen Maschine 2 bis 4 GByte RAM sowie zwei CPU-Cores zuweisen. Kali benötigt einen virtuellen Datenträger von zumindet 15 GByte. Mit 20 bis 25 GByte haben Sie ein wenig Platzreserve.

Im folgenden Dialog Shared Directory können Sie ein macOS-Verzeichnis zum Datenaustausch mit Kali Linux auswählen. Da die Nutzung dieses geteilten Verzeichnisses unter Kali Linux nicht vorgesehen ist, können Sie diesen Punkt überspringen.

Im abschließenden Dialog Summary sollten Sie die Option Open VM Settings aktivieren. Das gibt Ihnen in der Folge die Möglichkeit, zwischen mehreren Netzwerkmodi zu wählen. Für den Einsatz von Kali Linux ist zumeist Bridged empfehlenswert: Damit erhält Kali Linux eine IP-Adresse im lokalen Netzwerk und kann mit diesem kommunizieren. (Diese Einstellung können Sie aber auch nachträglich vornehmen. Dazu stoppen Sie die virtuelle Maschine und öffnen dann im UTM-Hauptfenster den Konfigurationsdialog der virtuellen Maschine.)

Bridged Networking integriert die virtuelle Maschine in das lokale Netzwerk

Nach dem Start der virtuellen Maschine gelangen Sie in das Kali-Boot-Menü. Bei meinen Tests erwies sich das Kommando Graphical Install als nicht zielführend: Das UTM-Fenster wird dann nach wenigen Sekunden vollständig schwarz und verhindert so die Bedienung des Installationsprogramms. (Das Problem ist anscheinend relativ neu. Es gibt hier einen Fehlerbericht.)

Entscheiden Sie sich daher mit Install für eine Installation im Textmodus. Der Ablauf ist exakt gleich wie bei einer Installation im Grafikmodus, die Dialoge sehen nur weniger schön aus; zur Navigation zwischen den Eingabefeldern verwenden Sie die Tabulatortaste.

Beim Kali-Bootmenü müssen Sie »Install« auswählen. »Graphical Install« führt nach wenigen Sekunden in ein schwarzes, nicht mehr bedienbares Fenster.
Software-Auswahl während der Installation

Erster Start und Betrieb

Nach dem Abschluss der Installation wird die virtuelle Maschine neu gestartet. Statt des frisch installierten Systems erscheint allerdings wieder das Installationsprogramm. Das liegt daran, dass die virtuelle Maschine noch immer das ISO-Image als Boot-Medium verwendet. Stoppen Sie die virtuelle Maschine mit dem Button Shut down, klicken Sie dann in der auf das CD/DVD-Symbol rechts in der Fenstertitelleiste und führen Sie CD/DVD (ISO) Image / Eject aus. Beim nächsten Neustart bootet Kali Linux von der virtuellen Disk und läuft dann erfreulicherweise auch im Grafikmodus. Die gewünschte Desktop-Auflösung (und damit auch die Fenstergröße) legen Sie innerhalb von Kali Linux mit Einstellungen / Anzeige fest.

Bei meinen Tests hat Kali Linux innerhalb von UTM ausgezeichnet funktioniert. Allerdings kommt es bei der Bildschirmdarstellung aufgrund der automatisch durchgeführten Skalierung zwischen dem Grafiksystem der virtuellen Maschine und dem Monitor des Macs zu unschönen Farbverschiebungen, vor allem bei der Darstellung von Texten.

Quellen/Links

6. Juni 2022

LUKS ist ein tolles, sicheres und variantenreiches Werkzeug für Verschlüsselung unter Linux. Lediglich für verschlüsselte Container war bisher einiges an Handarbeit notwendig. Abhilfe schafft hier luckyLuks

LUKS ist eine sicheres und sehr vielseitiges Werkzeug für Verschlüsselung unter Linux, beispielsweise um das Betriebssystem vollständig zu verschlüsseln oder externe Speichermedien zu schützen. Nicht ganz so flexibel war es bisher, wenn es darum ging, nur einen verschlüsselten Container anzulegen. Ein Vorgehen, das viele von TrueCrypt bzw. VeraCrypt kennen und schätzen. Das war bisher zwar nicht unmöglich aber doch recht aufwendig und nichts für Einsteiger.

Ein sehr mächtiges Werkzeug für diesen Bereich ist zuluCrypt, das durch seine vielfältigen Optionen und zahlreichen möglichen Backends aber auch manchen Einsteiger überfordern kann.

Für diese Lücke gibt es nun luckyLUKS. Eine relativ simple Qt-Oberfläche mit der sich verschlüsselte Container erzeugen und benutzen lassen. Neben LUKS unterstützt luckyLUKS auch TrueCrypt- und VeraCrypt-Container. Das ist sehr praktisch, da VeraCrypt (TrueCrypt sollte man wirklich nicht mehr nutzen!) bei keiner Distribution in den Paketquellen enthalten und die Installation deshalb immer ein bisschen nervig ist. Die Unterstützung für TrueCrypt bzw. VeraCrypt ist keine Eigenentwicklung, sondern basiert auf dem bewährten tc-play.

luckyLUKS ist bei Ubuntu 22.04 „Jammy Jellyfish“ in den Paketquellen enthalten und auch bei Debian Testing. In anderen Distributionen ist es noch nicht gelandet, diese müssen mit dem auf GitHub zu findenden Python-Download vorliebnehmen.

$ sudo apt install luckyluks

Die Erzeugung neuer Container erfolgt im Reiter Create New Container. Bei der Erstellung kann der Anwender im Abschnitt „Advanced“ zusätzlich wählen, ob er LUKS oder TrueCrypt im Hintergrund nutzen möchte. Ebenso kann das Dateisystem gewählt werden. Zur Wahl stehen ext2/4 oder NTFS. Hierbei ist zu beachten, dass alle verwendeten Betriebssysteme das Dateisystem unterstützen müssen. Arbeitet man nur mit Linux-Systemen ist ext4 eine gute Wahl. Soll der Container auch für Windows-Anwender nutzbar sein, wäre NTFS vermutlich klüger.

Anstelle eines Passworts kann auch eine Schlüsseldatei genutzt werden. Diese Methode bietet sich vor allem an, wenn man den Container in der Cloud ablegt (die Schlüsseldatei natürlich nicht!) und hier ein wenig mehr Sicherheit als bei normalen Passwörtern haben will. Wenn Container und Schlüsseldatei auf dem gleichen System verbleiben, erzeugt dieses Vorgehen kaum Mehrwert.

Die eigentliche Erstellung eines Containers ist dann recht einfach gehalten. Notwendig ist nur ein Dateiname und eine definierte Größe. Die Schlüsseldatei kann man leer lassen und das Passwort wird erst im nächsten Schritt festgelegt. Die UX der Oberfläche ist hier nicht ganz intuitiv.

Nach der Betätigung des Buttons Create fragt luckyLUKS das Kennwort ab. Hier gilt wie immer zu beachten, dass die Qualität des Kennworts über die Sicherheit der verschlüsselten Daten entscheidet.

Die verschlüsselten Container können über den Reiter Unlock Container eingebunden werden. Der Container wird als Laufwerk unter /media/<benutzer>/ eingehängt und kann dort wie ein normales Laufwerk verwendet werden.

Ein paar kleinere Bugs gibt es noch und die Oberfläche ist nicht ganz selbsterklärend, aber luckyLUKS schließt eine Lücke im Umgang mit LUKS- bzw. TrueCrypt-Containern unter Linux.

Der Artikel luckyLUKS für LUKS und TrueCrypt Container erschien zuerst auf [Mer]Curius

Ein Befehl zum Sortieren fehlt im KDE Texteditor Kate. Das ist insofern ungeschickt, weil so eine Funktion einfach integriert doch oft weiter hilft. Allerdings kann diese Funktion auf einem Linux System recht einfach durchgeführt werden, indem das Kommandozeilen Programm “sort” benutzt wird. Dazu muss lediglich die Tastenkombination Strg+AltGr+\ oder im Menü “Extras - Filtern durch Befehl (Strg+\)” aufgerufen werden.

 

Markiert man vorher einen Bereich, z.B. mehrere Zeilen mit einer Nummerierung, dann werden nur diese Zeilen dem aufgerufenen Programm übergeben.

 

So werden Zeilen dann einfach mit Strg+\ und der Eingabe “sort” in die richtige Reihenfolge gebracht. WENN denn die Zahlen am Anfang für sich alleine stehen

 

Sort hat einige Parameter und vermutlich wird meist der Parameter “-V” natural sort of (version) numbers within text” gesucht, da dieser Parameter das so sortiert, wie wir das meist manuell machen würden.

 

sort -V
sort
1
2
3
20
30
1
2
20
3
30


Mit “sort -V” werden zum Beispiel auch Nummer1, Nummer2, Nummer3, Nummer30 ordentlich sortiert.

 

Wer noch mehr Sortier-Parameter von sort erfahren möchte, gibt einfach “man sort” auf der Kommandozeile ein.

Viel Spaß beim Sortieren.

PS: Kate gibt es übrigens auch als Windows und als Mac Version hier zum Runterladen