Zur Post-Installation und Konfiguration von Arch habe ich ein interaktives bash-script erstellt.
Dieses ist geeignet für ein Arch Linux mit KDE Plasma Desktop, und ist kompatibel mit Ext4-, Btrfs-, XFS- und F2FS-Dateisystemen.
Arch muss natürlich zuvor installiert worden sein. https://archlinux.org/download/
Was war meine Intention? Ich wollte eine schnell reproduzierbare Konfiguration von Arch. Eine Neuinstallation von Arch Linux inkl. Software und vielen Einstellungen dauert somit keine 30 Minuten mehr (abhängig von der Internetverbindung).
Wer mag kann sich das Skript gerne mal ansehen oder testen.
So installiere ich Arch:
→ → → → → → → → → → → → → → → → → → → → → → → → → →
Nach dem Booten vom Installationsmedium starte ich den Assistenten mit dem Befehl
archinstall
Und lege dann folgende Einstellungen fest:
Archinstall language → German
Lokalisierung → Tastaturlayout → de
→ Lokale Sprache → de_AT.UTF-8
→ Lokale Kodierung → UTF-8
Spiegelserver und Paketrepositorien → Region auswählen → Austria
→ Zusätzliche Repositorien → multilib (32-Bit optional)
Laufwerkskonfiguration → Partitionierung → Empfohlenes Partitionslayout verwenden
→ Hauptdateisystem auswählen → ext4, btrfs, xfs oder f2fs
(ext4 ist meistens eine gute Wahl, wenn man Snaphots nutzen möchten dann btrfs wählen)
nur bei btrfs → Subolumes mit vorgegebener Struktur → ja
nur bei btrfs → Komprimierung verwenden
→ Btrfs snapshots → Snapper oder Timeshift (Ich bevorzuge Sapper)
Swap → unverändert lassen
Bootloader → Grub
Kernel → unverändert lassen
Gerätename/Hostname → archlinux, oder was man halt möchte
Authentifizierung → kein Root-Passwort festlegen
→ Benutzerkonto mit sudo einrichten
Profil → Desktop → KDE Plasma
→ KDE Plasma → plasma-meta
→ Grafiktreiber → All open-source
→ Greeter → sddm
Anwendungen → Bluetooth → brauche ich nicht
→ Audio → "pipewire" auswählen
→ Drucker-Service → installiere ich später
→ Firewall → installiere ich später
Netzwerkkonfiguration → Network Manager verwenden (Standard-Backend)
Pacman → Farbe → True
Zusätzliche Pakete → konsole # Kann auch später nachgeholt werden
Zeitzone → Europe/Vienna
Automatische Zeitsynchronisierung (NTP) → Aktiviert
Installieren
Wenn keine zusätzlichen Pakete ausgewählt wurden:
Nach dem Neustart am Anmeldebildschirm mit Strg + Alt + F3 in die Befehlszeile wechseln.
Dann anmelden und Folgendes installieren:
sudo pacman -S konsole
Zurück zum Anmeldebildschirm (SDDM) wechseln, mit Strg + Alt + F2.
Oder System neu starten:
reboot
→ → → → → → → → → → → → → → → → → → → → → → → → → →
Nach Anmeldung an der grafischen Benutzeroberfläche, Konsole öffnen.
Mit folgender Befehlszeile das Arch-Post-Installations-Skript herunterladen und ausführen:
Stand: 31.08.2026
bash <(curl https://austriahosting.com/downloads/arch.sh)
Bevor die tatsächliche Installation startet, bekommen Sie noch die Möglichkeit sich das Skript anzusehen und den Vorgang abzubrechen.
Skript nur herunterladen ohne es auszuführen:
wget -nd https://austriahosting.com/downloads/arch.sh -P ~/arch
Skript ausführen:
sh arch/arch.shHierbei werden noch weitere Skripte heruntergeladen und im Ordner ~/scripts/ abgelegt.
archinstall.sh, colors.sh, arch-up-gc.sh, arch-check-updates.sh, arch-fix.sh
archinstall.sh erledigt die Post-Installation und Konfiguration von Arch.
colors.sh dient nur zur Verbesserung der Darstellung.
Die andern drei Skripte werden als Aliase in ZSH eingebunden.
Nachdem das Skript arch.sh schon mal ausgeführt, die Installation aber abgebrochen wurde, dieses nicht nochmals starten um die Installation fertigzustellen! Sondern stattdessen fahren Sie fort mit:
./scripts/archinstall.shFür ZSH werden zusätzliche Aliase hinzugefügt.
Hier die wichtigsten zusätzliche Konsolenbefehle welche hinterlegt werden:- check → Zeigt verfügbaren Updates für Flatpaks, AUR-Pakete und Arch-Pakete an.
- update → Installiert Updates für Flatpaks, AUR-Pakete und Arch-Pakete, und hält das System sauber.
- fix → Kann einige Fehler beheben, vor allem bei Updateproblemen.
Durch fix passiert Folgendes:- Paketcache wird vollständig geleert.
- Liste der Spiegelserver wird neu generiert.
- Pacman Repository Index wird aktualisiert.
- Neue gültige Arch-Signaturen werden installiert.
- Eventuell vorhandene Datenbanksperre wird entfernen.
- System-Update wird versucht.
Folgendes wird installiert und konfiguriert: Systempakete: dolphin kate man-db man-pages less dolphin-plugins kio-admin filelight kfind ffmpegthumbs ark kalk acpid python-dbus partitionmanager fastfetch wsdd nss-mdns sddm-kcm pika-backup isoimagewriter pacman-contrib btop eza reflector duf colordiff nano-syntax-highlighting
Yay wird installiert: base-devel git
git clone https://aur.archlinux.org/yay-bin
cd yay-bin
makepkg -si
ZSH inkl. powerlevel10k wird installiert: zsh zsh-completions zsh-autosuggestions zsh-syntax-highlighting
Vom AUR: ttf-meslo-nerd-font-powerlevel10k zsh-theme-powerlevel10k-git
Office-Software: libreoffice-fresh libreoffice-fresh-de ttf-liberation hunspell-de hyphen hyphen-de libmythes mythes-de okular pdfarranger
Internet-Anwendungen: firefox firefox-i18n-de thunderbird thunderbird-i18n-de chromium filezilla
Multimedia-Software: gwenview gimp gimp-help-de elisa vlc vlc-plugins-all libde265 gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly
Via Fatpak: com.xnview.XnViewMP
Fernwartungs-Software:
Via Fatpak: com.anydesk.Anydesk com.rustdesk.RustDesk
Videoschnitt- und Videoaufzeichnungs-Software (Auswahlmöglichkeit: j/N): kdenlive shotcut obs-studio
Via Fatpak: io.github.aandrew_me.ytdn com.github.unrud.VideoDownloader
Drucker-Service (Auswahlmöglichkeit: j/N): cups cups-browsed cups-filters cups-pdf cups-pk-helper ipp-usb system-config-printer gutenprint foomatic-db-gutenprint-ppds foomatic-db-engine foomatic-db foomatic-db-ppds foomatic-db-nonfree foomatic-db-nonfree-ppds
Zusätzlich wird noch die /etc/nsswitch.conf angepasst. Ermöglicht Netzwerkdrucker über dnssd, ipp oder ipps hinzuzufügen.
Scanner-Service (Auswahlmöglichkeit: j/N): sane sane-airscan skanpage
Samba-Service und Samba-Benutzer (Auswahlmöglichkeit: j/N): samba
Hierbei wird auch eine Freigabe erstellt, welche den Ordner "Öffentlich" unter dem Freigabenamen "Freigabe" im Netzwerk freigibt.
Firewall und Aktivierung der Firewall (Auswahlmöglichkeit: j/N): ufw ufw-extras gufw
Wenn Sie im Zuge der Installation die Firewall aktivieren, werden auch Regeln aktiviert welche Zugriff auf Netzwerk-Drucker und Netzwerk-Scanner sowie Samba-Freigaben erlauben. Folgende Regeln werden aktiviert: samba, ws-discovery, wsdapi/tcp, mDNS, lpd, ipp/tcp
Shelly vom AUR (Auswahlmöglichkeit: j/N): shelly-bin
Moderner Arch Paket Manager auch für AUR, Flatpak und AppImage.
ZSH wird konfiguriert. Dabei wird die Datei ~/.zshrc erstellt und befüllt.
GRUB_TIMEOUT wird auf 2 Sekunden gesetzt.
Dolphin-Menüeintrag "Öffne alle Medien in VLC" wird erstellt.
Syntax-Highlighting für nano wird aktiviert. Dabei wird die Datei ~/.config/nano/nanorc erstellt und befüllt.
KDE-Wallet wird deaktiviert. Dabei wird die Datei ~/.config/kwalletrc erstellt und befüllt.
Die Pac-Man-Figur wird aktiviert. Dabei wird in die Datei /etc/pacman.conf der Eintrag "ILoveCandy" hinzugefügt.
Bei einem Btrfs-Dateisystem mit installiertem Snapper oder Timeshift, würde noch die /etc/fstab automatisch angepasst werden. Dabei würde in den Zeilen wo "btrfs" vorkommt, "relatime" in "noatime" umbenannt werden.
Nach dem Neustart des Systems, noch die Konsole öffnen um die Konfiguration von powerlevel10k für ZSH abzuschließen.
Laufwerk (HDD/SSD) dauerhaft mounten:
Ausführen mit Konsolenbefehl: mnt
Das dafür zuständige Skript ist: ~/scripts/mount-disk.sh
Dabei wird von Ihnen die UUID des Laufwerks (wird angezeigt und kann kopiert werden), das Dateisystem (wird angezeigt) und der Einhängepunkt abgefragt.
Der Einhängepunkt ist ein Ordner (wird automatisch erstellt) im Verzeichnis /mnt, z.B. Daten
Der Eintrag für /etc/fstab wird generiert und eingetragen, und das Laufwerk ist sofort zugriffsbereit.
Der generierte Eintrag sieht dann so ähnlich aus:
UUID=b4ff63bf-31f1-4917-abfa-96f2296145c3 /mnt/Daten ext4 nofail 0 0
Dieses Skript kann mehrfach ausgeführt werden. Jedes Mal wird ein weiteres Laufwerk gemountet.
CIFS-Netzwerkfreigabe dauerhaft mounten:
Ausführen mit Konsolenbefehl: mnt
Das dafür zuständige Skript ist: ~/scripts/mount-share.sh
Dabei wird von Ihnen der Benutzernamen, das Passwort, der Pfad zur Netzwerkfreigabe und der Einhängepunkt abgefragt.
Pfad zur Netzwerkfreigabe kann z.B. so aussehen: //192.168.16.100/Freigabe
Der Einhängepunkt ist ein Ordner (wird automatisch erstellt) im Verzeichnis /mnt, z.B. NAS-Daten
Benutzernamen und Passwort werden in der Datei /etc/samba/.credentials (chmod 600) hinterlegt.
Der Eintrag für /etc/fstab wird generiert und eingetragen, und das Netzlaufwerk ist sofort zugriffsbereit.
Der generierte Eintrag sieht dann so aus:
//192.168.16.100/Freigabe /mnt/NAS-Daten cifs credentials=/etc/samba/.credentials,rw,uid=1000,gid=1000 0 0
Dieses Skript kann nur dann mehrfach ausgeführt werden, wenn die in der Datei /etc/samba/.credentials bereits hinterlegten Zugangsdaten ident sind mit den Zugangsdaten des neu einzubindenden Netzlaufwerks. Ansonst werden die Zugangsdaten für die bereits zuvor eingehängte Netzwerkfreigabe überschrieben. Alternativ können Sie vorher dieses Skript bearbeiten und .credentials in z.B. .credentials2 umbenennen.
Wichtig sind folgende Zeilen wo .credentials vorkommt und geändert werden sollte:
Zeile 35: sudo touch /etc/samba/.credentials
Zeile 36: | sudo tee -a /etc/samba/.credentials
Zeile 37: | sudo tee -a /etc/samba/.credentials
Zeile 38: sudo chmod 600 /etc/samba/.credentials
Zeile 43: $share /mnt/$mp cifs credentials=/etc/samba/.credentials,rw,uid=1000,gid=1000 0 0
Zeile 51: sudo cat /etc/samba/.credentials
Nur für den Fall das folgender Punk bei archinstall.sh übersprungen wurde!
Samba-Service installieren und Samba-Benutzer erstellen: Ausführen mit ./scripts/samba.sh oder sh scripts/samba.sh
Das muss gemacht werden bevor Netzwerkfreigaben erstellt werden!
Netzwerkfreigabe auf einer Disk einrichten:
Ausführen mit Konsolenbefehl: share
Das dafür zuständige Skript ist: ~/scripts/share-disk.sh
Dabei wird von Ihnen der Einhängepunkt, der Freigabeordner und der Freigabename abgefragt.
Der Einhängepunkt (wird angezeigt) lautet z.B. /mnt/Daten
Als Freigabeordner (Ordner wird automatisch erstellt) könnte man nehmen z.B. Arch-Daten
Der Freigabename ist der Name welcher im Netzwerk angezeigt wird (kann auch ident mit Freigabeordner sein).
Der Eintrag für /etc/samba/smb.conf wird generiert und hinzugefügt, und die Freigabe ist sofort erreichbar.
Auf die Netzwerkfreigabe hat ausschließlich der erstellte Samba-Benutzer Zugriff.
Dieses Skript kann mehrfach ausgeführt werden. Jedes Mal wird eine weitere Netzwerkfreigabe erstellt.
Netzwerkfreigabe im Persönlichen Ordner einrichten:
Ausführen mit Konsolenbefehl: share
Das dafür zuständige Skript ist: ~/scripts/share-home.sh
Dabei wird von Ihnen der Freigabeordner und der Freigabename abgefragt.
Der Freigabeordner (wird automatisch erstellt) im Persönlichen Ordner könnte sein, z.B. Öffentlich
Der Freigabename ist der Name welchen andere Geräte im Netzwerk sehen, z.B. Freigabe
Der Eintrag für /etc/samba/smb.conf wird generiert und hinzugefügt, und die Freigabe ist sofort erreichbar.
Auf die Netzwerkfreigabe hat ausschließlich der erstellte Samba-Benutzer Zugriff.
Dieses Skript kann mehrfach ausgeführt werden. Jedes Mal wird eine weitere Netzwerkfreigabe erstellt.
So, ich denke das war's auch schon.
Anmerkungen und/oder Verbesserungsvorschläge gerne an linux@austriahosting.com senden.