Leserartikel [How-To] Arch Linux installieren (verschlüsselt, gehärtet, spieletauglich, modular)

Also ich geb jetzt erstmal auf. Habe über about:support den FF bereinigen lassen und dann auch nochmal in meinem ursprünglichen Profil mit deiner letzten user-overrides.js (2025-01) probiert, ohne Erfolg. Das vor allem Ersteres nix gebracht hat, lässt mich etwas ratlos zurück.
 

Changelog​

  • doas > Update: Installation & Allow members of group wheel "doas" access
  • Update: Rename pkg iptables-nft to iptables
  • New: Network Security > DNS
    … with systemd-resolved.
    • DNS caching & conditional forwarding
      … for example, to be able to use the VPN's DNS server
    • Multicast DNS
      … "that resolves hostnames to IP addresses within small networks"
    • DNSSEC (authentication & integrity) and DNS over TLS (encryption)
      … if your router does not implement these
    • For more information, see: https://dnsprivacy.org/

Funktioniert bei euch eigentlich Captive portal? Denn arkenfox' user.js blockt dies womöglich, da es sich um DNS hijacking handelt. Es gibt nun übrigens eine aktualisierte user.js.
 
Zuerst einmal vielen Dank! Ganz toller Thread. Großartige Arbeit für andere.

Es gäbe noch so ein paar quality of life Features, welche mich ein wenig davon abzuhalten, meine drei Systeme auf Linux umzustellen.

Ggfls. Hast du die als optionale Steps schon integriert (bist einfach mega fleißig und ich komme zum Teil gar nicht mehr mit zu lesen).

Folgende Features wären das:
  • HDR10, VRR, ALLM Support, 120 Hz aufwärts (AMD GPUs only, da Valve dafür die Grundlage für gesetzt hat?). Nur via Wayland möglich und KDE oder auch via Gnome? Nur möglich via DisplayPort zu HDMI Adapter oder auch nativ via HDMI (2.1 aufwärts)?
  • Dolby Atmos Support
  • Blu Ray Disc Ripper Software (inkl. Kopierschutz entfernen)?
  • Video / Audio Player Alternative wie bei Windows der PotPlayer mit allen Codecs (inkl. HW UHD Acceleration Video, Audio Dolby True HD etc.) Welche kommen da in Frage mit 1:1 Funktionalität zum PotPlayer? SMPlayer, MPV Player, QMPlay2, Haruna?
  • IR Sensor / Face Sensor für integrierte Kameras von x86 Notebooks / Tablets (wohl nur via manueller Kompilierung und sehr Herstellerspezifisch, denke das wird eher schwierig)
  • Tablet Touchscreen Support mit Gnome und Pens / kleiner Guide / Infos
  • C States Support je CPU Hersteller?
  • BIOS Firmware Updater Tools
  • Allgemeiner Guide für Lüftersteuerung
  • Allgemeiner Guide UV Tools (GPUs)
  • Allgemeiner Guide OSD Software
  • Allgemeiner Guide für alle Gaming Softwares (mit allen Komponenten, Tools)
  • Streaming Software
  • Monitoring Tools wie HWInfo
  • Gamepads inkl. Firmware Flash (Xbox Controller)
  • Allgemeiner Guide Racing Wheels Software
  • Alternative für stable as rock mit Debian Linux? (natürlich mit der Einschränkung, dass u. a. Treiber, Software Pakete 2 Jahre alt sind, aber ggfls. mit Workaround sources unstable / backports)
 
Zuletzt bearbeitet:
@agon
Die aktualisierte Arkenfox user.js müsste doch dem Nebenbranch entsprechen, den du mal geteilt hattest. Bilde mir ein, das war auch schon Version 144.

Im Guide ist ldns falsch verlinkt.

Das DNS Thema muss ich mir von der KI erst noch erklären lassen für eine Meinung :D
Bei dem Test habe ich jedoch schon mal nicht das ad Flag, wird aber vermutlich an Pihole liegen, was hier in meinem LAN als DNS propagiert wird.
 
  • Gefällt mir
Reaktionen: agon
Noch ein Punkt:
firejail scheint im Standard den Zugriff auf den SSH Agenten Socket zu blockieren. Hatte den Agenten automatisch starten lassen und KeepassXC entsprechend konfiguriert einen Key in den Agenten zu laden beim Öffnen der DB. Das hatte auch immer geklappt, nur wurde ich dennoch immer nach dem Passwort zu dem Key gefragt.
Ich brauchte dafür noch eine ssh.local mit whitelist ${RUNUSER}/ssh-agent.socket (${XDG_RUNTIME_DIR} kennt firejail nicht).
 
  • Gefällt mir
Reaktionen: agon
@Spike S. Danke für dein Feedback.
  • Link zur ldns ist gefixt.
  • Das mit dem arkenfox-Update habe ich nur angemerkt, da das ja ein Thema war. Die sollte nicht wirklich vom Branch abweichen. Dein Problem, welches du hast ist eher ein Firefox-Problem.
  • Ich habe das Aktivieren von DNSSEC nun optional markiert, da systemd-resolved diese noch nicht zuverlässig implementiert hat. Btw. hier ist ein interessanter Kommentar zu dem Problem der .de-Domains.
  • Kannst du dein Problem zu dem ssh-agent genauer erläutern? Hast du Probleme in KeePass#SSH_agent, damit KeePassXC danach automatisch SSH-Keys in den Agenten injiziert? Gibt es dazu ein Issue?
 
Gut zu wissen, dann hab ich keine Eile DNS umzustellen^^

Bzgl. ssh-agent: Lasse ihn wie in deinem Guide beschrieben (12.9.4.1.1) automatisch starten und KeepassXC injiziert erfolgreich meinen privaten Key. Den sehe ich dann per ssh-add -l. Das Problem ist jetzt nur, wenn ich eine ssh Verbindung starte mit diesem Key, werde ich nach dem Passwort gefragt, was ja nicht sein sollte, wenn der Key in den Agenten geladen wurde. Wie sich herausstellte, sieht ssh den Key im Agenten einfach nicht, weil firejail das blockiert. Mit firejail --noprofile ssh ... ging es dann ohne Passworteingabe, wie erwartet. Deshalb hab ich mir eine ssh.local erstellt, die den Socket whitelisted, das fehlt bei dir. Habe dazu auf die Schnelle nicht viel im Netz gefunden, daher weiß ich nicht ob das Absicht ist oder im firejail Standard Profil für ssh einfach etwas fehlt.
 

Changelog​


@Spike S. Ich hatte Probleme mit dem SSH-Agenten, welches wahrscheinlich am Parameter "-O verify-required" liegt.
Ich müsste also meinen SSH Key neu generieren, um das mit firejail zu testen. Ich habe vorsichtshalber deine ssh.local erstellt.
Hast du den Key auch mit verify-required generiert?
 
Achso, hatte ich gar nicht dazugeschrieben. Nein, nutze SSH nur dateibasiert, ohne Hardwarekey.
Mit dem Autostart wie in deinem Guide, KeepassXC und der ssh.local funktioniert das jetzt auch wie gewünscht.
 

Changelog​

  • Update:Steam
    • New: Add infos about Proton & notable compatibility tools
    • New: Add infos

Q: Does CachyOS or the Arch Wiki list any settings or apps that you'd like to have on your system?
Examples:
 
Zuletzt bearbeitet:
Ich habe mir den Guide zu einem guten Teil wieder durchgelesen, weil mir mit der Zeit ein paar Sachen in den Sinn gekommen sind. (Eigentlich hatte ich schon das meiste geschrieben, aber dann war es weg ... wie auch immer.)

2.7.4.3.1
Die Ausgabe von nvme sieht bei mir anders aus, als im Guide vermerkt ist. Vielleicht wurde es mit der Zeit geändert. Bei mir sieht die Ausgabe so aus:
Bash:
sudo nvme id-ns -H /dev/nvme0n1 | grep "Relative Performance"
[sudo] Passwort für deinorius:       
LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0 Best (in use)
LBA Format  1 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0 Best

2.8
Ich weiß, dass mittlerweile immer 1 GiB (oder gar 2 GiB) ESP empfohlen wird, aber selbst mit 2 Kernel verbraucht mein ESP nur 405 MiB. Vielleicht kann man das zusätzlich notieren, wenn man weiß, dass man es nicht übertreiben wird.

4.7.1
Als zusätzliche Notiz könnte man hinzufügen, dass für den Ruhezustand nur etwas mehr als der üblicherweise genutzte RAM vonnöten ist. Zumindest habe ich mit meinem 10 GB swap (32 GB + zram) keine Probleme damit.

4.7.3
Ich würde für swappiness zumindest ab 16 GB RAM gleich 1 nehmen, oder dies als Alternative schreiben.

4.9.2.3
Ein direkter Hinweis für Laptop-Nutzer, dass ASPM für eine bessere Effizienz aktiv bleiben sollte, wäre empfehlenswert.

6.2
Ein sehr tolles Feature ist NoExtract. Ich nutze es, um nicht verwendete Sprachen erst gar nicht zu installieren. 300-600 MB mögen bei vielen ein Gähnen verursachen, aber wenn es für den jeweiligen Nutzer völlig sinnlos ist, wieso verschwenden?
Wenn man die Zeilen aus dem Arch Wiki ohne Nachzudenken übernimmt, kann es vorkommen, dass beim nächsten Update die locales nicht generiert werden können. Ich habe es noch nicht vollständig angepasst, aber im Großen und Ganzen passt es so.
Vorwiegend frage ich mich, ob X11/locale in einer wayland session überhaupt noch nötig ist. Ich finde dazu keine eindeutigen Hinweise.

Bash:
# Every locale, exceptions below
NoExtract = usr/share/locale/* usr/share/X11/locale/*/* usr/share/i18n/locales/*

# Exceptions for languages
NoExtract = !usr/share/i18n/locales/de_AT* !usr/share/i18n/locales/en_GB !usr/share/i18n/locales/en_US !usr/share/i18n/locales/ja_JP !usr/share/i18n/locales/ru_RU !usr/share/i18n/locales/de_DE*

# General exceptions for a/my functioning system (input?)
NoExtract = !usr/share/X11/locale/C/* !usr/share/X11/locale/en_US.UTF-8/* !usr/share/X11/locale/ja_JP.UTF-8/* !usr/share/X11/locale/ru_RU.UTF-8/*
NoExtract = !usr/share/X11/locale/compose.dir !usr/share/X11/locale/iso8859-1/*
NoExtract = !*locale*/en*/* !usr/share/*locale*/locale.*
NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso*
NoExtract = usr/share/i18n/charmaps/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/i18n/charmaps/ANSI_X3.4-1968.gz
NoExtract = !usr/share/*locales/trans*
NoExtract = !usr/share/*locales/C !usr/share/*locales/POSIX

# Preventing extraction of man pages
NoExtract = usr/share/man/* !usr/share/man/man*

# Preventing installation of language files in vim-runtime
NoExtract = usr/share/vim/vim*/lang/*

# Preventing extraction for Qt applications
NoExtract = usr/share/*/translations/*.qm !usr/share/*/translations/*en.qm !usr/share/*/translations/*de.qm usr/share/*/nls/*.qm usr/share/qt/phrasebooks/*.qph usr/share/qt/translations/*.pak !*/de.pak !*/en-US.pak !*/en-GB.pak

# Preventing extraction of help files
NoExtract = usr/share/help/* !usr/share/help/C/* !usr/share/help/de/* !usr/share/help/en_GB/*

#Preventing extraction for Chromium/Electron applications
NoExtract = usr/share/*/locales/*.pak opt/*/locales/*.pak usr/lib/*/locales/*.pak !*/de.pak !*/en-US.pak !*/en-GB.pak

# Preventing extraction for LibreOffice
NoExtract = usr/lib/libreoffice/help/en-US/* usr/lib/libreoffice/share/autocorr/* !usr/lib/libreoffice/share/autocorr/*de.dat !usr/lib/libreoffice/share/autocorr/*en-GB.dat !usr/lib/libreoffice/share/autocorr/*en-US.dat !usr/lib/libreoffice/share/autocorr/*ja-JP.dat !usr/lib/libreoffice/share/autocorr/*ru-RU.dat

#Preventing installation of iBus dictionary for emojis
NoExtract = usr/share/ibus/dicts/emoji-*.dict !usr/share/ibus/dicts/emoji-de.dict !usr/share/ibus/dicts/emoji-en.dict

6.2.1
Also ILoveCandy und VerbosePkgLists sind schon Pflicht. :D

6.6
Ich würde definitiv xdg-ninja zusätzlich verlinken, auch wenn es im Arch Wiki vermerkt ist, aber erst weiter unten.
Ein paar weitere Empfehlungen von mir:
QSG_RENDER_LOOP=basic ist vorwiegend für jene hilfreich, welche ihr System Panel verstecken. Vorschlag findet man hier unten, basiert auf diesem Qt bug.
GTK_USE_PORTAL=1 Wenn man einen einheitlichen Filepicker Dialog in KDE Plasma mit GTK Programmen haben will.

In meinem vorigen Entwurf hatte ich noch zwei Schreibfehler entdeckt. Vielleicht finde ich die wieder.
 
  • Gefällt mir
Reaktionen: Spike S. und agon
@Deinorius Danke für dein ausführliches Feedback!

2.7.4.3.1 habe ich angepasst.

2.8 Folgendes wurde ergänzt:
Note: If you don't want to install multiple kernels, 512 MiB would probably be sufficient for the ESP.
Die ESP benötigt man bspw. auch für Firmware Updates, deswegen kann sie ruhig größer ausfallen. Bei mir belegt mein UKI gerade mal ~70 MB. Bei anderen kann das wiederum anders aussehen.

4.7.1 Folgendes wurde ergänzt:
Note – For hibernation: The swap size must be larger than the hibernation image size to hibernate successfully. The image size (default: ~2/5 RAM) is best-effort, not a hard cap.
Example – 32GB RAM: 16-20 GB is reasonable for hibernation.
Eine genauere Empfehlung kann ich da nicht geben.

4.7.3 Gibt es einen messbaren Vorteil von vm.swappiness = 1 ggü. 10?
CachyOS setzt den Wert kurioserweise auf 100.
Professional_audio#Optimizing_system_configuration wurde im Beispiel der Wert 10 genommen.

4.9.2 OPT: performance.conf. Folgendes wurde ergänzt:
Info: Expect slightly higher power consumption which can be undesirable for mobile devices.

6.2 Also bei mir belegen folgende Verzeichnisse:
  • 787 MiB: /usr/share/locale/
  • 13 MiB: /usr/share/i18n/locales/
  • 2 MiB: /usr/share/X11/locale/
  • 11 MiB: /usr/share/vim/vim92/lang/
-> Ich würde nur /usr/share/locale/ angehen. Ich will die Wahrscheinlichkeit von Fehlereingaben der Nutzer reduzieren. Der Nutzer muss immerhin den Inhalt an die eigene Locale anpassen.

6.2.1 ILoveCandy funktioniert nicht.
Ich wüsste nicht, wozu man die extra Informationen von VerbosePkgLists benötigt.

6.6
  • Der Gedanke von xdg-ninja gefällt mir. Das Problem ist nur, dass man die Defaults ändert. Dokumentationen, Chatbots, etc. verwenden den Default-Pfad. Firejail wahrscheinlich auch.
  • QSG_RENDER_LOOP=basic wird nun in "Current bugs & misbehavior" erwähnt.
  • Zu GTK_USE_PORTAL=1 gibt es wohl eine aktuellere Alternative. Bei mir benutzen aber fast alle GTK-Programme schon den KDE File Picker.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Deinorius und Spike S.
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Deinorius und Spike S.
Danke für die Info. Muss ich heute Abend mal prüfen. Habe aber schon länger vermieden AUR zu nutzen, wann immer möglich. Ganz ohne ging es aber nicht.
Habe das auch mal der CB Redaktion gesteckt.
 
agon schrieb:
CachyOS setzt den Wert kurioserweise auf 100.
Kurios ist auch, dass ich sogar 150 gesehen habe. Ich habe das Gefühl, dass das am zram liegen könnte.

agon schrieb:
Gibt es einen messbaren Vorteil von vm.swappiness = 1 ggü. 10?
Ich habe ehrlicherweise nie danach gesucht. Als ich damals recherchiert habe, lief mir der Wert 1 aber oft genug über den Weg.

agon schrieb:
Ich würde nur /usr/share/locale/ angehen. Ich will die Wahrscheinlichkeit von Fehlereingaben der Nutzer reduzieren. Der Nutzer muss immerhin den Inhalt an die eigene Locale anpassen.
Das ist vernünftig.

agon schrieb:
ILoveCandy funktioniert nicht.
Ich wüsste nicht, wozu man die extra Informationen von VerbosePkgLists benötigt.
ILoveCandy gibt die Fortschrittsbalken als c und C aus, quasi als Pacman-Verschnitt.
Es sind nicht nur die zusätzlichen Informationen, die ich mag, es ist auch einfach übersichtlicher. Darüber hinaus sehe ich auch gerne, welche packages entsprechend größer oder kleiner geworden sind.

agon schrieb:
Der Gedanke von xdg-ninja gefällt mir. Das Problem ist nur, dass man die Defaults ändert. Dokumentationen, Chatbots, etc. verwenden den Default-Pfad. Firejail wahrscheinlich auch.
Das verstehe ich jetzt nicht. Welche Defaults werden geändert? xdg-ninja gibt ja nur Hinweise von sich. Ob man den Hinweisen auch folgt, ist einem selber überlassen.
 
Zurück
Oben