zur Startseite

Druckausgabe von https://privat.albicker.org
Iveco Daily 4x4, Hunde und multithematisches Blog

Linux: Der Zufallsgenerator Calamares Installer

veröffentlicht am 09.10.2019 mit 943 Worten - Lesezeit: 5 Minute(n)

Während ein bekannter Buchautor in seiner Beschreibung zum neu erschienenen debian 10 (Buster) bezüglich des Installers von “einer attraktiven Alternative: Der auch von anderen Distributionen eingesetzte Calamares Installer erlaubt eine unkomplizierte Installation eines Debian-Grundsystems.” spricht, kann ich mich mit diesem Teil überhaupt nicht anfreunden …

Der Anlaß

In meiner dreiteiligen Serie zur Installation von Siduction - bzw. den gescheiterten Versuchen - habe ich schon dargestellt, daß für mich das Hauptproblem des Calamares-Installers darin besteht, bei vorhandenen Daten auf dem Rechner im Nutzerverzeichnis die Berechtigungen dieser Dateien komplett zu überschreiben, weil offenbar nicht vorhersagbar ist, welche Benutzer- bzw. Gruppenzugehörigkeit für die eingerichteten Benutzer beim Installationsprozeß “rausfallen”.

Das Symptom

Mein in Ablösung befindliches Linux Mint 18 gibt vor, was all die Jahre mit unterschiedlichsten Distributionen eigentlich Standard war:

~ $ id 
uid=1000(benutzer) gid=1000(benutzer) Gruppen=1000(benutzer), 4(adm), 20(dialout), 21(fax), 24(cdrom), 27(sudo), 30(dip), 46(plugdev), 113(lpadmin), 131(sambashare), 135(vboxusers)

Der erste angemeldete Benutzer hat die User-ID und die Gruppen-ID von jeweils 1000. Ab dort zählen die weiteren Benutzer dann nach oben durch.

Nicht so bei Siduction, wo ich zum ersten Mal den Calamares-Installer kennen lernte. Auf demselben Rechner mit denselben Benutzern kam hier heraus:

~$ id 
uid=1000(benutzer) gid=1005(benutzer) Gruppen=1005(benutzer), 7(lp), 20(dialout), 24(cdrom), 25(floppy), 29(audio), 30(dip), 44(video), 46(plugdev), 100(users), 101(systemd-journal), 108(kvm), 114(lpadmin), 115(bluetooth), 116(netdev), 122(scanner), 1000(fuse), 1001(powerdev), 1002(storage), 1003(vboxusers), 1004(autologin)

Was haben die Gruppenberechtigungen für fuse (Auf Geräte (Speicher) des FUSE zugreifen), powerdev (manchmal auch power: Benutzer in dieser Gruppe dürfen den Rechner ausschalten), storage (Zugriff auf Wechseldatenträger wie USB-Festplatten, Flash/Jump-Laufwerke, MP3-Player; ermöglicht es dem Benutzer, Speichergeräte zu mounten) oder vboxusers (im Zusammenhang mit virtuellen Maschinen) autologin in den Tausendern zu suchen? Diese Gruppen gibt es seit langer Zeit und

Und auch bei einem auf einem zweiten Rechner installierten aktuellen Manjaro-Linux, bei dem dieser Installer ebenso zum Einsatz kommt, konnte ich bei identischer Einrichtung der Benutzer eine weitere Variante des Calamares-Würfelsystems feststellen:

~$ id
uid=1000(benutzer) gid=1001(benutzer) Gruppen=1001(benutzer), 3(sys), 90(network), 96(scanner), 98(power), 986(video), 991(lp), 998(wheel), 1000(autologin)

UID, GID - etwas Hintergrund

Der Systemadministrator (root) hat immer die Benutzerkennung UID = 0. Bei Ubuntu und seinen Ablegern hat der erste angelegte Benutzer dann die UID = 1000.
Jeder Benutzer ist einer Hauptgruppe zugeordnet, kann daneben aber auch Mitglied weiterer Gruppen sein.
Jede Datei ist immer Eigentum genau eines Benutzers. Daneben ist den Dateien aber auch eine Gruppe zugeordnet. Wenn ein Benutzer eine Datei erzeugt, dann wird seine Hauptgruppe als Gruppe bei der erzeugten Datei eingetragen.

Das Betriebssystem ordnet den Gruppen-Nummern dann Bedeutungen zu, im Beispiel oben z. B. 96 für scanner. Welche Gruppen es auf dem Rechner gibt und welche Benutzer diesen Gruppen zugeordnet ist, das läßt sich mit ~ $ cat /etc/group ermitteln.
Nebenwirkungen gibt es dann, wenn Gruppen-IDs, die Dateien und Ordnern zugeordnet sind, fehlinterpretiert werden.

Das Problem

Welche Nebenwirkungen ergeben sich daraus jetzt? Das läßt sich am Besten anhand einer Dateiliste darstellen, die ich nach einer Siduction-Installation mit eben diesem Calamares-Installer durchgeführt habe:

$ ls -Al
insgesamt 366336
drwxrwxr-x 49 benutzer fuse          4096 Dez  9  2018 Daten
-rw-rw-r--  1 benutzer fuse          1508 Jun  4  2018 Verzeichnisgrößen.txt
drwxr-xr-x  2 benutzer benutzer      4096 Aug 18 19:57 Desktop
drwxr-xr-x 11 benutzer fuse         24576 Aug 18 19:20 Dokumente
drwxr-xr-x 29 benutzer fuse         12288 Aug 15 19:05 Downloads
drwxrwxr-x  2 benutzer fuse          4096 Aug  4 06:55 Eigene Routen
drwxrwxr-x 17 benutzer fuse          4096 Aug  4 06:55 Einstellungen
drwxrwxr-x  8 benutzer fuse          4096 Dez  9  2018 Firmware
(...)
drwxr-xr-x  2 benutzer fuse          4096 Aug 15 19:05 Schreibtisch

Wie man sieht, würden alle Benutzer, die der Gruppe fuse zugeordnet sind, auf alle hier gezeigten Dateien und Verzeichnisse zugreifen können, nicht nur der Benutzer bzw. dessen Gruppe. Ebenfalls sieht man hier einen Ordner Desktop, der richtig zugeordnet ist. Offenbar wurde der bei der Installation angelegt, während der Ordner Schreibtisch aus dem Datenbestand der bisherigen Mint-Installation ebenfalls die falsche Zuordnung hat.

Die “Lösung” des Calamares

Anstatt sich an verbreitete Konventionen zu halten und dem Benutzer dieselbe User- und Gruppen-ID zu geben zieht es der Calamares vor, den kompletten Datenbestand zu überschreiben zur “Korrektur” der (gewürfelten?) Berechtigungen. Das kann dauern - in meinem Fall mit über 1,25Mio. Files auf 1,5TB hätte das schon eine Nacht gedauert …

Neuanfang mit einem althergebrachten Debian-Installer

Nach Ausflügen zu Manjaro und Siduction habe ich mir als nächstes eine Live-DVD von debian 10 heruntergeladen und auf einem USB-Stick installiert. Diese zeigte mir nach dem Start gibt es die Möglichkeit, den Text-Installer, den grafischen Installer oder das Live-System zu starten. Im Live-System findet sich wiederum der Calamares-Installer auf dem Desktop - nach den Erfahrungen bisher habe ich darum einen großen Bogen gemacht und den grafischen Installer gestartet.
Einer der folgenden Schritte betrifft die Festplatten-Partitionierung, hier habe ich dieselbe Aufteilung und Zuordnung gewählt wie vorher bei den Versuchen mit Siduction:

Manuelle Partitionierung

=Bildbeschreibung=

Zusammenfassung nach der Zuordnung der Partitionen:

Wie gehabt: 4 Partitionen für den (U)EFI-Boot, das Betriebssystem, den Auslagerungsspeicher swap und das /home-Verzeichnis für die Benutzerdaten: =Bildbeschreibung= Formatiert werden die Betriebssystem-Partiton und der Auslagerungsspeicher: =Bildbeschreibung=

Separater root-Account

Bei den Siduction-Versuchen gab es beide Möglichkeiten, Ubuntu/Mint bieten nur die Variante des Benutzers mit Root-Rechten (sudo) an, hier im “guten alten Ur-Debian” habe ich wieder die Variante: getrennter root account: =Bildbeschreibung=

Ergebnis

Die Installation lief dann ganz normal durch, Rechnerneustart in das neue System und zu guter Letzt die Prüfung der Berechtigungen:

~$ id
uid=1000(benutzer) gid=1000(benutzer) Gruppen=1000(benutzer), 24(cdrom), 25(floppy), 29(audio), 30(dip), 44(video), 46(plugdev), 109(netdev), 112(bluetooth), 117(lpadmin), 118(scanner)

so hätte ich das gerne - wenn ich auf einem Betriebssystem Dateien erstelle, dann möchte ich nach einer Neuinstallation nicht plötzlich alle Berechtigungen anders vergeben sehen … und der “alte” Debian-Installer erfüllt genau diese Vorgabe vorbildlich: User- und Gruppen-ID sind identisch, und die IDs, die es in Mint auch gibt, die sind auch gleich.
Und die ganze Installation war in ‘ner halben Stunde erledigt …