Eine ausführliche Anleitung für Einsteiger und Fortgeschrittene
Stand: 15. Februar 2021
Anleitung als PDF hier herunterladen:
Arch-Linux.Installation.pdf
a. Einleitung
b. Voraussetzungen und Vorgaben
c. Vorbereiten eines Live-ISO Bootsticks
d. Arch Linux Live-Stick booten und erste Vorbereitungen
e. Partitionierung der Festplatte
f. Dateisysteme anlegen
g. Dateisysteme einhängen
h. Installation des Basissystems | fstab | arch-chroot
i. Benutzer einrichten
j. Sprach-Einstellungen
k. Der Paketmanager
l. nützliche Programme, Tools und Dienste
m. Installation von X, Grafiktreiber und Xfce-Desktop
n. Dienste aktivieren
o. Grub Bootloader
p. Neustart
q. Ersteinrichtung
Die Installation von Arch Linux ist kein Hexenwerk. Diese Distribution besitzt keinen graphischen Installer und die Basisausstattung von Arch Linux ist nur einige 100 MB groß. Als sehr hilfreich erweist sich die Seite:
Mit Hilfe der Video-Reihe Total Arch Linux von unicks.eu und der ausführlichen deutschen Anleitung zur Arch Linux Installation https://wiki.archlinux.de/title/Anleitung_für_Einsteiger ist diese angepaßte Schritt-für-Schritt Anleitung entstanden.
Eine sehr ausführliche, englische Video-Anleitung zur Einrichtung von Arch Linux mit verschiedenen Desktop-Umgebungen findet man hier:
Arch Linux: Full Installation Guide - A complete tutorial/walkthrough in one video!
Es gibt im Netz zwar eine Reihe an ausführlichen Anleitungen, um Arch Linux zu installieren, doch oftmals sind sie leider nicht aus "einem Guß". So ist dann dieser Anfänger-Guide zustande gekommen, den ich auch im eigenen Interesse aktuell zu halten versuche. Verbesserungsvorschläge nehme ich natürlich gerne entgegen.
Für einen aktuellen 64bit Desktop PC mit UEFI habe ich mir folgende Hard- und Software-Vorgaben gesetzt:
Eine aktuelles Arch Linux als ISO Datei zieht man sich hier:
https://www.archlinux.de/download/
Das heruntergeladene ISO-Image wird über die Kommandozeile auf einen ausreichend großen USB-Stick kopiert. Eine genauere Anleitung dazu findet man unter: Linux Bootstick erstellen
Der Aufruf lsblk im Terminal zeigt den Laufwerksbuchstaben x des USB-Sticks /dev/sdx und wird zuerst mit umount ausgehängt.
sudo umount /dev/sdx
Mit dem dd Befehl wird dann das Arch Live ISO auf den Stick kopiert:
sudo dd if=/path/to/archlinux.iso of=/dev/sdx bs=4M status=progress oflag=sync
Unter Linux kann man auch das Festplattenverwaltungswerkzeug Gnome-Disk-Utility ("Laufwerke") verwenden, welches in vielen Distributionen bereits vorhanden ist bzw. sich leicht über den Paketmanager installieren läßt. In der oberen Leiste findet sich der Eintrag "Laufwerksabbild wiederherstellen ...", über den sich die ISO Datei leicht auf den USB-Stick aufspielen läßt.
Der soeben erstellte Arch Live Stick bootet mit einem Rechnerneustart in ein Boot-Auswahlmenü und zeigt als ersten Eintrag "Arch Linux install medium (x86_64, UEFI CD)". Mit dieser Auswahl wird der Live Stick in den UEFI-Modus gestartet. Am Ende des Bootvorganges wird folgende Zeile angezeigt, die besagt, dass man nun als als root User angemeldet ist:
root@archiso ~#
Als nächstes stelle ich die Sprache bzw. das Tastaturlayout auf Deutsch um, mit korrekter Ausgabe der Umlaute. Verwende z, um y zu erhalten:
loadkeys de
loadkeys de-latin1
Bei einem großen Monitor (z.B. 34") wie ich ihn verwende, ist die Standard-Schriftausgabe mit 8 Pixeln doch recht klein und nicht allzugut lesbar. Das läßt sich zumindest für diese Session aber leicht ändern, indem ich mit folgendem Aufruf eine hinreichend große und gut lesbare Schrift auf dem Bildschirm zaubere:
setfont ter-132n
Gegebenenfalls noch die NUM-Taste auf dem Ziffernblock aktivieren, um die numerischen Tasten bedienen zu können.
Mit dem Befehl
clear
lösche ich gelegentlich den aktuellen Bildschirminhalt zwecks besserer Übersicht.
Meine für diese Anleitung verwendete 2 TByte große M.2 Samsung SSD 970 EVO Plus wird gelöscht und soll anschließend in eine 512 MByte Boot- sowie in eine 20 GByte Swap-Partition aufgeteilt werden, die von der Größe her in etwa der des Arbeitsspeichers entspricht. Die dritte Partition wird für das Betriebssystem bereitgestellt, auf der Archlinux samt Homeverzeichnis installiert werden soll. Die einzelnen Partitionen sind dabei in nvme0n1p1 .. p2 .. p3 unterteilt.
Mit lsblk verschafft man sich einen Überblick über vorhandene Partitionen und angeschlossene Festplatten. Hier muß man sehr darauf achten, die richtige Festplatte zu "erwischen", ansonsten droht Datenverlust! Nicht benötigte, externe Festplatten sollte man sowieso vorher abklemmen.
Zum Partionieren eines UEFI Systems benutze ich nun das mitgelieferte Partitionierungswerkzeug gdisk. Der Aufruf erfolgt in meinem Beispiel mit
gdisk /dev/nvme0n1
Mit Eingabe von "o" lösche ich alle evtl. vorhandenen Partitionen und mit Eingabe von "n" wird eine neue Partition angelegt. Die möglichen einzelnen Arbeitsschritte sehen in tabellarischer Form folgendermaßen aus:
BOOT-Partition mit /dev/nvme0n1p1 - Kernel, Bootloader | Eingabe 1 | Eingabe 2 |
---|---|---|
neue Partition anlegen mit | n | ENTER |
Partition number | ENTER | |
First sector | ENTER | |
Last sector | +512M | ENTER |
HEX code | ef00 | ENTER |
SWAP-Partition mit /dev/nvme0n1p2 - Auslagerungsspeicher | Eingabe 1 | Eingabe 2 |
---|---|---|
neue Partition anlegen mit | n | ENTER |
Partition number | ENTER | |
First sector | ENTER | |
Last sector | +20G | ENTER |
HEX code | 8200 | ENTER |
ROOT-Partition mit /dev/nvme0n1p3 - Arch Linux Betriebssystem | Eingabe 1 | Eingabe 2 |
---|---|---|
neue Partition anlegen mit | n | ENTER |
Partition number | ENTER | |
First sector | ENTER | |
Last sector | ENTER | |
HEX code | 8300 | ENTER |
Wird bei "Last sector" kein Wert eingetragen, so wird der Rest des Festplattenspeichers an die aktuelle Partition /dev/nvme0n1p3 vergeben. Die Eingabe von "p" zeigt nochmals einen Überblick. Mit Eingabe von "w" und der abschließenden Bestätigung mit "Y" werden die Änderungen in die Partitionstabelle geschrieben. Am Schluß erfolgt die Meldung: "OK, writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully." lsblk zeigt einen abschließenden Überblick.
Mit mkfs (make file system) werden die Dateisysteme angelegt und formatiert.
Boot-Partition
mkfs.fat -F32 -n BOOT /dev/nvme0n1p1
Swap-Partition
mkswap -L SWAP /dev/nvme0n1p2
Root-Partition
mkfs.ext4 -L ROOT /dev/nvme0n1p3
Zuerst wird die System-Partition (ROOT) am Einhängepunkt /mnt eingehängt. Das Device (hier: Root-Partition) /dev/nvme0n1p3 wird eingehängt und unter /mnt per Label -L verfügbar gemacht:
mount -L ROOT /mnt
Die Boot-Partition wird in einem /mnt Unterverzeichnis von ROOT verfügbar gemacht. Zuvor muß jedoch das boot-Verzeichnis angelegt werden:
mkdir /mnt/boot
mount -L BOOT /mnt/boot/
Das Aktivieren bzw. Einschalten der Swap-Partition geht mit dem Aufruf:
swapon -L SWAP
Die Festplatte ist nun für die Arch Linux Installation vorbereitet. Möchte man noch eine weitere interne Festplattenpartition (z.B. sda1) dauerhaft in die fstab einhängen, so muß zuerst das gewünschte Verzeichnis erstellt und dann an passender Stelle eingehängt werden mit einem Überblick per lsblk:
mkdir /mnt/interne_Festplatte
mount /dev/sda1 /mnt/interne_Festplatte
Auf dem Live-System aktualisiert Reflector nach der Verbindung mit dem Internet die Spiegelliste für die zu installierenden Pakete in der Datei "/etc/pacman.d/mirrorlist". Diese Datei wird später per Pacstrap auf das neue System kopiert. Es lohnt sich also, diese Mirrorliste gleich zu Beginn nach eigenen Bedürfnissen anzupassen:
sudo nano /etc/pacman.d/mirrorlist
wobei STRG + K unerwünschte Zeilen löscht bzw. ausgeschnitten und ggf. an passender Stelle wieder eingefügt werden können. Speichern mit STRG + O und beenden mit STRG + X.
Als nächstes wird das Arch Linux Basissystem durch Aufruf von pacstrap installiert:
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano
Die Gruppe "base" lädt Pakete aus dem Repository für ein minimales System, "base-devel" lädt zusätzlich Extra-Tools, die es ermöglichen, weitere Software aus dem AUR zu installieren.
Die Konfigurationsdatei fstab (file system table) liegt im Verzeichnis /etc/fstab und enthält eine Liste aller zu mountender Dateisysteme. Alle angelegten Partitionen sind bereits mit einem Label L (siehe: f. Dateisysteme anlegen) versehen:
genfstab -Lp /mnt > /mnt/etc/fstab
Die Datei fstab wird mit allen eingebundenen, bereits gemounteten (!) Laufwerken erzeugt. Das Programm genfstab nimmt also nur die Geräte in die Datei fstab auf, die bereits gemountet sind. So können auch nachträglich Festplatten oder andere Laufwerke an das System angebunden und anschließend in die Datei fstab aufgenommen werden.
Mit dem cat Aufruf läßt sich fstab nochmals anzeigen:
cat /mnt/etc/fstab
Mit diesem Aufruf wechselt man vom Live ISO in das neue System von /mnt
arch-chroot /mnt
Der Rechnername wird festgelegt (hier: kitty) mit
echo kitty > /etc/hostname
Setzen des Root-Passwortes mit
passwd
Einen Benutzer mit useradd hinzufügen. Der Benutzername darf nur Kleinbuchstaben und Sonderzeichen enthalten. Der Benutzername ist hier wieder mit "kitty" gewählt.
useradd -m -g users -s /bin/bash kitty
Passwortvergabe für den Benutzer "kitty" mit zweifacher Passworteingabe:
passwd kitty
Benutzer kitty zur Gruppe wheel hinzufügen:
gpasswd -a kitty wheel
Damit der Benutzer Rootrechte erhält, muß eine Konfiguration verändert werden:
EDITOR=nano visudo
Bei folgenden Zeilen müssen die Kommentarzeichen # und das Leerzeichen entfernt werden:
# %wheel ALL=(ALL) ALL
Nach dem Abspeichern haben damit alle User der Gruppe wheel Administratorrechte, wenn sie sudo verwenden.
Die Systemsprache wird auf Deutsch eingestellt.
echo LANG=de_DE.UTF-8 > /etc/locale.conf
Die Konfigurationsdatei locale.gen mit dem nano Editor öffnen:
nano /etc/locale.gen
Das Kommentarzeichen "#" am Anfang folgender Zeilen entfernen und dann abspeichern mit STRG+O und ENTER und beenden mit STRG+X:
.#de_DE.UTF-8 UTF-8
.#de_DE ISO-8859-1
.#de_DE@euro ISO-8859-15
.#en_US.UTF-8 UTF-8
Abschließend generieren mit:
locale-gen
Die Tastaturbelegung und Schriftart in vconsole.conf festlegen:
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
Die Zeitzone festlegen:
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Über die "pacman.conf" Datei läßt sich das Aussehen und Verhalten des Paketmanagers Pacman ändern. Mit Nano wird diese Datei geöffnet:
sudo nano /etc/pacman.conf
In den "Misc options" werden durch das Entfernen des #-Zeichen bei "Color" bestimmte Zeichen farbig dargestellt. Durch Einfügen in einer leeren Zeile ILoveCandy wird dem Fortschrittsbalken ein richtiger Pacman hinzugefügt!
Falls man für das 64bit Betriebssystem 32bit Bibliotheken benötigt, muss bei "multilib" das Multilib-Repository aktiviert werden:
[multilib-testing]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
Mit CRTL+O und ENTER abspeichern und mit CRTL+X beenden.
Anschließend muß die Pacman Repository Datenbanken neu geladen werden:
pacman -Sy
pacman -S acpid avahi cups mtools udisks2 git
pacman -S ntfs-3g unrar unzip gvfs efibootmgr dosfstools
pacman -S ttf-dejavu ttf-liberation noto-fonts leafpad
pacman -S alsa-tools alsa-utils pulseaudio-alsa pavucontrol
pacman -S bash-completion networkmanager network-manager-applet
pacman -S doublecmd chromium thunderbird thunderbird-i18n-de
pacman -S libreoffice-fresh libreoffice-fresh-de hunspell-de gimp
pacman -S mpv gnome-disk-utility xfburn asunder clementine
Acpid steht für die Energieverwaltung, avahi für die Netzwerkerkennung und cups für den Drucker. Das UDisks- und das gvfs-Paket enthalten Tools und Bibliotheken für den Zugriff auf von Festplatten und Speichergeräten und dessen Bearbeitung. Das ntfs-3g-Paket ermöglicht den Zugriff auf ntfs-formatierte Festplatten unter Windows-Betriebssystemen.
X ermöglicht die Benutzung einer graphischen Oberfläche unter einem Linux-System. Die Basispakete von Xorg werden installiert mit
pacman -S xorg-server xorg-xinit
Nun wird der Treiber für die Grafikkarte hinzugefügt. Mit
lspci |grep VGA
zeigt die vorhandene Grafikkarte. In meinem Rechner steckt eine NVidia GTX 1070. PC-Spieler mit einer NVidia-Karte wählen vorzugsweise den proprietären NVidia Grafiktreiber:
pacman -S nvidia-utils nvidia
Wem der Open Source Treiber reicht, gibt für seine Grafikkarte den passenden Befehl ein:
Hersteller | Befehlsaufruf des Open Source Pakets |
---|---|
Intel | pacman -S xf86-video-intel |
AMD | pacman -S xf86-video-amdgpu |
Nvidia | pacman -S xf86-video-nouveau |
Ist man sich jedoch weiterhin unsicher, welches Treiber-Paket zu seiner Grafikkarte paßt, so lassen sich auch die gesamten Videotreiber installieren:
pacman -S xorg-drivers
Xfce gehört zu den stabilsten und sparsamsten Bedienungsoberflächen unter Linux. Die Basis Xfce-Installation mit einigen Extras:
pacman -S xfce4 xfce4-goodies arc-gtk-theme
pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
Mittels der Benutzeroberfläche lightdm-gtk-greeter-settings ist es möglich, später das Hintergrundbild auf dem Begrüßungsbildschirm anzupassen. Siehe auch
Um diese Dienste automatisch beim Booten zu starten, werden sie mit folgendem Aufruf aktiviert:
systemctl enable acpid avahi-daemon cups.service
systemctl enable lightdm.service NetworkManager
systemctl enable fstrim.timer systemd-timesyncd.service
Der acpid Dienst sorgt für die Energieverwaltung, avahi für die Netzwerkerkennung und cups ist ein Drucksystem für Linux, worüber sich zahlreiche Drucker nutzen lassen. Bitte auf Großschreibung NetworkManager achten. Beim ersten Start des Systems startet der Display-Manager und nach dem Login läuft der Network-Manager, der automatisch eine IP-Adresse mit einer Internetverbindung erstellt. Wird das System, wie in unserem Falle, auf einer SSD betrieben, die TRIM unterstützt, sollte der fstrim.timer aktiviert werden. Für die automatische Korrektur der Zeit mit der Atomuhr über das Internet sorgt timesyncd.
Die Installation des GRUB Bootloaders erfolgt mit
pacman -S grub
Weitere optionale Abhängigkeiten von GRUB für weitere benötigte Werkzeuge für UEFI werden folgendermaßen eingebunden:
pacman -S dosfstools efibootmgr
Fortsetzung der GRUB Installation für 64bit UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
Abschließend muß noch die Grub Konfiguration generiert werden.
grub-mkconfig -o /boot/grub/grub.cfg
Nachdem alles Benötigte installiert und konfiguriert ist, kann das installierte Arch Linux bzw. die Chroot Umgebung verlassen werden mit dem Aufruf:
exit
umount -R /mnt
Der Rechner-Neustart erfolgt mit:
reboot
siehe auch: Xfce Desktop einrichten unter
Konfiguration | Xfce4-Desktop
Nach dem Neustart in den Arch-Linux Desktop müssen evtl. noch wichtige Anpassungen vorgenommen werden. So kann es durchaus sein, daß trotz aller Einstellungen auf Deutsch das englische Tastaturlayout aktiviert ist und auch bleibt. Das Editieren der entsprechenden Konfigurationsdateien haben in meinem Falle nichts geholfen. Aber es gibt einen Weg über ein Script, daß in den Xfce Autostart gelegt wird. Eine genaue Anleitung dazu gibt es im obigen Link zur Rubrik "Konfiguration | Xfce4-Desktop".
Man kann im Thunar-Dateimanager versteckte Dateien und Ordner (un-)sichtbar machen mit
CRTL+h
Aktualisieren Sie anschließend Ihr System mit:
pacman -Syu