Die Installation von Linux kann am Anfang schwierig sein, daher möchte ich mit dieser Anleitung etwas Hilfestellung geben, um eine Desktop-Umgebung zum Laufen zu bringen.
Diese richtet sich hauptsächlich an Entwickler oder Personen mit ein wenig technischem Verständnis / Hintergrund.
Distribution und Desktop-Umgebung auswählen
Es gibt viele Linux-Distributionen in freier Wildbahn und jede hat ihre eigenen Vor- und Nachteile. Ich habe von einer Analogie gehört, die besagt, dass die Distributionen der Marke eines Autos entsprechen und die Desktop-Umgebungen (im Folgenden mit DE für Desktop Environment abgekürzt) das Modell sind.
Das bedeutet, dass sich manche Personen mit einem Audi TT wesentlich wohler fühlen, und andere wiederum mit einem Renault Traffic.
Es gibt sogar Linux-Distributionen, welche mit Gabelstaplern vergleichbar sind – perfekt für den Einsatzzweck, jedoch würde niemand im Alltag damit herum fahren (ich blicke mal unauffällig rüber zu Kali).
Um also eine zu finden, die zu deinen Bedürfnissen passt, solltest du überlegen, was genau du damit machen willst.
Einsteigerfreundliche Distribution auswählen
Unabhängig davon gibt es einfachere und schwierigere Linux-Distributionen. Einsteigerfreundlich sind meines Erachtens folgende:
- Linux Mint (am besten für den Umstieg von Windows – die DE namens Cinnamon sieht aus wie Windows 7 und fühlt sich auch so an) – Installation der Software erfolgt über APT
- Linux MX – Installation der Software erfolgt über APT
- Ubuntu – mit einem ihrer vielen DEs – Installation der Software erfolgt über APT
- Manjaro (etwas mehr Bastelei als bei den vorher genannten erforderlich, daher würde ich es fortgeschrittenen Benutzern empfehlen bzw. User die ein wenig Zeit zum Recherchieren mitbringen) – Die Installation der Software erfolgt über pacman oder AUR
Bei den DEs ist es ähnlich wie bei der Suche nach der richtigen Linux-Distribution, wichtig für mich persönlich ist, dass es irgendwie vertraut aussieht (=ähnlich wie Windows), und dass es schnell ist und wenig Ressourcen verbraucht – es muss nicht schick sein, für mich ist es ganz klar ein Arbeitstier.
Daher verwende ich in der Regel eine von diesen:
- Cinnamon (den höchsten Ressourcenverbrauch von den hier genannten, am meisten konfigurierbar, habe ich lange verwendet)
- MATE (liegt irgendwo zwischen Cinnamon und XFCE, habe ich nur kurz verwendet)
- XFCE (am schlanksten und mit den wenigsten Ressourcen) – nutze ich aktuell
- KDE Plasma (habe es selbst nicht benutzt, aber viel Gutes darüber gehört)
Alle sind stabil, gut konfigurierbar bzw. personalisierbar und daher eine gute Wahl für meine Bedürfnisse.
Installation des Systems
Ich empfehle als grundsächliches Vorgehen folgendes:
- Erstelle einen bootfähigen USB-Stick (es gibt viele Anleitungen für Windows im Internet)
- Boote ins Live-System (oder den Installer)
- Teste wie sich das Linux Live-System auf deinem Rechner verhält bzw. “anfühlt”, ob du es intuitiv findest (z. B. wie ändere ich die Maus-/Touchpad-Einstellungen, wie füge ich Dinge im Hauptmenü hinzu,…)
- Installiere es mit dem Installationsprogramm – wenn du die Festplattenverschlüsselung verwenden möchtest (empfehle ich!), solltest du vorab etwas googeln, ob es irgendwelche Probleme mit der von Ihnen gewählten Distribution gibt. (z.B. musste ich Manjaro 4-5 mal neu installieren, weil es viel schwieriger ist, das Setup so performant wie in Mint zu gestalten)
USB Stick unter Linux erstellen
Hier gibt es verschiedene Herangehensweisen.
Mit DD / Out Of the Box
Zunächst wird der USB Stick mit FAT 32 formattiert (zB mit dem graphischen Tool gparted).
Wichtig ist, dass man sich ansieht & merkt, welches Device der zu beschreibende USB Stick ist (zB /dev/sdc)
Danach wechselt man in das Terminal und gibt folgenden Befehl ein:
sudo dd if=$DOWNLOAD_ISO of=$DEVICE bs=4M && sync
wobei $DOWNLOAD_ISO mit der heruntergeladenen ISO Datei ersetzt werden muss und $DEVICE mit dem zuvor herausgefundenen Devicenamen des USB Sticks.
Usb Stick mit Balena Etcher erstellen (Windows, Linux, Mac OS)
Ich verwende eigentlich nur noch diesen Weg, weil das Programm Balena Etcher super simpel und intuitiv ist. Lade es herunter, starte es, wähle die ISO Datei und das Ziel und es geht auch schon los.
Linux Mint Installation
Lade die Live-CD mit der DE-Variante herunter, die dir am besten gefällt (Cinnamon, MATE oder XFCE werden zum Zeitpunkt der Erstellung dieses Artikels offiziell unterstützt) und installiere sie einfach über die Schaltfläche “Installieren” auf dem Desktop. Es ist ganz einfach – auch die vollständige Festplattenverschlüsselung (die ich der Verschlüsselung des Home-Ordners vorziehen würde) ist nur eine Checkbox und Mint erledigt alles “automagisch” (auf eine positive Art und Weise).
Manjaro Linux Installation
Beim Booten des Live-Systems gibt es auf dem Desktop eine Schaltfläche für den GUI-Installer namens Calamares. Den sollte man nutzen, die Fallstricke, auf die ich gestoßen bin, sind folgende:
Partitionierung
Ich war nicht in der Lage, zuvor erstellte und verschlüsselte Partitionen wiederzuverwenden – mein Vorschlag ist, ein Backup der Daten zu erstellen und mit einer neuen Partitionstabelle zu beginnen (basierend auf GPT, nicht MBR)
Außerdem konnte ich die Boot-Flags nicht richtig setzen, ich habe das nach der Installation mit GParted geändert (direkt in der Live-USB-Sitzung)
Die Verschlüsselung braucht auch eine spezielle Einstellung, sonst ist sie sehr sehr langsam.
Als erste Partition eine 512 MiB FAT32 Partition anlegen und den Mountpunkt /boot/efi
Als zweite Partition eine 1024 MiB große FAT32-Partition anlegen und den Mount-Punkt /boot
(Optional) Als dritte Partition erstelle eine Swap-Partition in der Größe, die Sie benötigen (es gibt auch genügend Anleitungen dafür)
Als letzte Partition erstelle eine ext4 (oder ein anderes Format, wenn du genau weißt, was du tust) und aktiviere das Kontrollkästchen verschlüsselt – gib ein Passwort ein, das du dir unbedingt merken solltest!
Dies führt zu einem sicheren und sehr performanten Bootvorgang.
Festplattenverschlüsselung – Wichtige Befehle, die ich verwendet habe
Um die verschlüsselte Partition zu überprüfen, kannst du die Verschlüsselungs-Header auslesen
sudo cryptsetup luksDump /dev/$YOUR_ENCRYPTED_PARTITION
Danach kannst du überprüfen, wie lange die Entschlüsselung dauert mit folgendem Befehl
sudo cryptsetup luksOpen --test-passphrase -v /dev/$YOUR_ENCRYPTED_PARTITION
Wenn dies zu lange dauert (bei mir mehr als etwa 5 Sekunden), schaue nach, wie viele Iterationen du mit deinem Schlüssel hast (ich hatte etwa 2 223 914, was ziemlich hoch war). Mit folgendem Befehl kannst du es mit reduzieren (die letzte Zahl ist die Anzahl der Iterationen – höher bedeutet sicherer & längere Bootzeit)
sudo cryptsetup luksChangeKey /dev/$YOUR_ENCRYPTED_PARTITION -S 0 --pbkdf-force-iterations 1000000
und gib deinen Schlüssel ein, damit dieser mit den neuen Iterationen verschlüsselt gespeichert wird.
Falls es Probleme gibt, folge diesen Schritten, oder lies hier weiter:
Schlüssel ändern, wenn luksChangeKey nicht funktioniert
Überprüfe den Schlüssel und merke dir die Position:
sudo cryptsetup luksDump /dev/$YOUR_ENCRYPTED_PARTITION
SEHR WICHTIG: Füge temporär einen einfachen, kurzen (und damit natürlich unsicheren) Schlüssel (wie 123) mit hinzu:
sudo cryptsetup luksAddKey --pbkdf-force-iterations 10000 /dev/$YOUR_ENCRYPTED_PARTITION
und gib 123 ein, wenn das System dazu auffordert. Wenn du das nicht tust und deinen letzten bekannten Schlüssel entfernst, kann die Partition gar nicht mehr entschlüsselt werden und die darin enthaltenen Daten sind für immer verloren (außer es existieren Backups).
Dann entferne den Schlüssel mit
sudo cryptsetup luksRemoveKey /dev/$YOUR_ENCRYPTED_PARTITION
und gib den neuen gewünschten Schlüssel ein (nicht die 123).
Überprüfe die Schlüssel und vergleiche sie mit dem ersten Dump
sudo cryptsetup luksDump /dev/$YOUR_ENCRYPTED_PARTITION
Wenn Slot 0 noch in Gebrauch ist (muss er sein, sonst hätte luksChangeKey funktioniert), müssen Sie
cryptsetup -v luksKillSlot /dev/$YOUR_ENCRYPTED_PARTITION 0
Jetzt kannst du einen neuen Schlüssel in Slot 0 hinzufügen
sudo cryptsetup luksAddKey /dev/$YOUR_ENCRYPTED_PARTITION -S 0 --pbkdf-force-iterations 1000000
und gib den gewünschten Schlüssel ein, wenn du dazu aufgefordert wirst.
Zum Bereinigen entferne den unsicheren Schlüssel mit
sudo cryptsetup luksRemoveKey /dev/$YOUR_ENCRYPTED_PARTITION
und gib 123 ein, wenn du zur Eingabe des zu löschenden Schlüssels aufgefordert werden.
ssh-Schlüssel beziehen & einsetzen
Voraussetzungen
- Überlege, wie du deine ssh-Schlüssel (sicher) auf den neuen Rechner übertragen kannst oder erstelle einen neuen Schlüssel. Du musst im Nachgang dann den alten public key gegen den Neuen auf allen Servern tauschen.
- Übertragen kannst du den Key mit send.tresorit.com oder mittels usb stick
Erforderliche Software installieren
Aktualisiere erst mal alle installierten Pakete
sudo pacman -Syu
Installiere Hilfsprogramme wie Passwort-Safe, Dropbox, etc.
sudo pacman -S keepass
sudo pacman -S dropbox
sudo pacman -S redshift
Installiere Entwicklungswerkzeuge wie VS Code, Docker,…
sudo pacman -S vscode
sudo pacman -S docker
sudo pacman -S chromium
sudo pacman -S traceroute
sudo pacman -S sshfs
AUR-Helfer installieren
sudo pacman -S yay
sudo pacman -S base-devel
Gegebenenfalls den Franz Messenger installieren
yay -Sy franz
Eclipse (oder eine andere IDE für Java) herunterladen und entpacken.
Tastaturbindungen unter Manajro Linux
In Manjaro gibt es eine Einstellung namens Tastatur, in der du konfigurieren kannst, dass Anwendungen über Tastenkombinationen gestartet werden. Außerdem gibt es den Fenstermanager, in dem du bestehende Tastenkombinationen bearbeiten kannst.
Ich habe Super + E für Thunar in Keyboard hinzugefügt und von Ctrl + Alt + D zu Super + D für Show Desktop in Windown Manager -> Keyboard geändert.
Weiters habe ich Ctrl + Alt + T vom dropdown terminal entfernt und einen neuen Eintrag für /usr/bin/xfce4-terminal mit dieser Tastenkombination erstellt.
Terminal-Helfer
Ich habe ein Projekt für ein paar kleine Terminal-Helfer erstellt. Mein Vorschlag ist, sich das Projekt anzuschauen und es via git zu klonen, wie es in der im GIT Repository beschrieben ist.
Andere nützliche Einstellungen
Bash History
Ignorieren von Befehlen, die mit einem Leerzeichen in der Bash-History beginnen.
Lock Screen
Das Programm `LightDM GTK+ Greeter Setting` öffnen und dort das Bild auswählen – Tipp: Das Bild muss scheinbar im Pfad `/usr/share/backgrounds/` oder in einem Subpfad davon liegen. Siehe hier.
Lock User on wrong Password
Nachdem die Sperrung des Nutzeraccounts recht schnell von Statten geht (3 mal falsches Passwort), und lange dauert (10 Minuten), hier eine kurze Anleitung um etwas angenehmere Einstellungen vorzunehmen.
Führe folgenden Befehl aus:
sudo vim /etc/security/faillock.conf
Danach füge am Ende der Datei folgende Zeilen ein:
deny = 5
fail_interval = 450
unlock_time = 300
Geschafft, nun haben wir 5 Versuche, und der Sperrungs-Zeitraum ist deutlich kürzer.
(Grafik)-Probleme
Ich hatte eine Zeit lang das Problem, dass das oberste 1/4 des internen Displays nicht regelmäßig refresht wurde bzw. unter anderen Distributionen das Display mit jeder Mausbewegung furchtbar geflackert hat.
Die Lösung brachte die Deaktivierung vom Panel Self Refresh feature.
Auf einem anderen Rechner hatte ich unter Manjaro das Problem, dass er einfach immer wieder mal restartet hat, auch das wurde so behoben.
Daher würde ich bei eigenartigen, sonst nicht zuordenbaren Fehlern, dies als Lösungsversuch einfach mal empfehlen. Es ist auch einfach wieder zu revidieren, und außer leicht erhöhtem Stromverbrauch sollte es keine weiteren Auswirkungen haben.
PSR deaktivieren
1. GRUB Datei editieren
sudo nano /etc/default/grub
2. Das PSR (Panel Self Refresh) deaktiveren, in dem wir GRUB_CMDLINE_LINUX_DEFAULT anpassen:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0"
3. GRUB aktualisieren
sudo update-grub
Entnommen habe ich das von hier.
Quellen
Verschlüsselung / Langsamer Boot
Unbekannte LUKS Schlüssel entfernen
Keybinding für Thunar (Win+E) festlegen
Keybinding für Desktop-anzeigen festlegen