Anleitung für Einsteiger

Aus wiki.archlinux.de

Vorwort

Willkommen bei Arch!

Dieses Dokument soll dich durch den Installationsprozess und die Konfiguration von Arch-Linux führen. Es richtet sich in erster Linie an neue Arch-Linux-Nutzer und stellt gleichzeitig eine gute Informationsquelle für bestehende Anwender dar. Obwohl man mit dieser Anleitung ein nahezu vollständig konfiguriertes Arch-Linux-System mit grafischer Benutzeroberfläche und gängigen Anwendungen erhält, können hier niemals alle Möglichkeiten aufgezeigt werden. Diese Dokumentation beschränkt sich daher auf die wichtigsten Schritte der Grundinstallation, von denen sich das System weiter ausbauen lässt. Zusätzliche Hilfe findet man im englischen Arch Linux-Wiki, im englischen Arch Linux-Forum, aber auch auf der deutschen Seite, die auch ein deutschsprachiges Forum bereitstellt. Häufig gestellte Fragen werden in der FAQ gesammelt und beantwortet. Vielleicht ist man auch an den Grundprinzipien der Arch Linux-Distribution interessiert, die im englischem Wiki im Artikel The Arch Way erklärt werden.

Dieser Artikel ist in Teile gegliedert:

Dem Anwender sollte bewusst sein, dass sich, im Gegensatz zu anderen Linux-Distributionen, die Installation von Arch-Linux deutlich unterscheidet: Das Arch-Linux-System wird im besonderen Maße vom Benutzer geformt. Die Installation liefert ein Grundsystem mit einer Kommandozeilen-Eingabe (bash-Konsole) und grundlegenden Systemprogrammen. Über die Kommandozeilen-Eingabe werden Pakete (Programme und Bibliotheken) unter Zuhilfenahme des Arch-Linux eigenen Paketmanagers pacman von den Arch-Linux-Servern heruntergeladen und installiert, bis das System nach den Bedürfnissen des Benutzers eingerichtet ist. Dies erlaubt maximale Flexibilität, Entscheidungsfreiheit und Kontrolle der Systemressourcen. Dadurch, dass der Anwender an vielen Stellen Konfigurationsschritte durchführen muss, wird er mit dem System vertraut und wird es von Grund auf kennenlernen. Diese Vorgehensweise richtet sich einerseits an kompetente GNU/Linux Benutzer, sowie Anwender, die ihr System grundlegend erforschen wollen.

Die Entwicklungs-Prinzipien hinter Arch-Linux liegen darin, die Dinge einfach zu halten.

Bedenke, dass 'einfach' in diesem Zusammenhang nicht 'benutzerfreundlich' bedeutet, sondern eher 'ohne unnötige Zusätze, Änderungen oder Komplikationen'. Kurz gesagt: ein eleganter, minimalistischer Ansatz. (http://de.wikipedia.org/wiki/KISS-Prinzip)

Falls Du denkst, dass etwas Wichtiges fehlt oder nicht funktioniert, schick mir eine Mitteilung an <freigeist [at] elfenbeinturm.cc>. Oder füge die Verbesserung, oder was auch immer Du anfangs gebraucht hast, ein (was die Hauptidee eines Wikis ist :)). Es gibt auch ein englisches Arch Forum-Eintrag, der Anfängern gewidmet ist. Oder gehe zum deutschen Arch Forum.

  • Falls Du zu diesem Wiki beitragen möchtest, füge bitte das 'Weshalb' und das 'Wie' ein, wenn es passend ist. Die beste Dokumentation lehrt uns das Wie sowie das Warum!

Das neueste ISO-Abbild beziehen

Hinweis: Arch Linux kann auch von einem bereits installierten Arch Linux-System installiert werden. Hierzu werden die benötigten tools mittels pacman -S arch-install-scripts installiert. Danach kann die Installation mit dem Kapitel Partitionieren des Datenträgers fortgesetzt werden.


Das neueste ISO-Abbild kann von www.archlinux.org/download/ heruntergeladen werden.

Das ISO-Abbild beinhaltet nur die nötigen Programme, um ein minimales GNU/Linux Grundsystem zu installieren. Beachte, dass ein minimales Grundsystem keine grafische Oberfläche enthält. Der Rest des Arch-Linux-Systems - einschließlich grafischer Oberfläche - wird von der Kommandozeile aus eingerichtet. Dieser Prozess wird detailliert weiter unten besprochen.

ISO-Abbild prüfen

Beim Download mittels Torrent oder Magnet Link wird die ISO-Datei automatisch nach dem Download auf Übereinstimmung mit dem Original überprüft. Wird das ISO-Abbild per HTTPS heruntergeladen, sollte eine Prüfung mit der MD5- oder SHA1-Summe stattfinden. Soll eine CD oder DVD erstellt werden, ist es besser die Prüfung auf Übereinstimmung erst nach dem Brennvorgang zu tätigen.

md5sum archlinux-*-x86_64.iso

oder

sha1sum archlinux-*-x86_64.iso

( * ist mit dem Datum der Arch.iso Datei zu ersetzen.)
Die so ermittelte Zeichenkette sollte mit den Angaben auf der Webseite übereinstimmen.

ISO-Abbild auf CD oder DVD brennen

Generell ist es ratsam, mit einer Geschwindigkeit von maximal 12x zu brennen, um verlässliche CDs bzw. DVDs zu erhalten. Von einem Linux System, kann dies mit Anwendungen wie k3b und Brasero oder per Kommandozeile durchgeführt werden:

wodim dev=/dev/sr0 speed=12 -dao -eject -v archlinux-*-x86_64.iso

oder mit

cdrecord dev=/dev/sr0 speed=12 -dao -eject -v archlinux-*-x86_64.iso

oder mit

cdrskin dev=/dev/sr0 speed=12 -dao -eject -v archlinux-*-x86_64.iso

Nach dem Brennen sollte die MD5-Prüfsumme oder die SHA1-Prüfsumme der CD/DVD mit den Angaben auf www.archlinux.org/download/ verglichen werden.

md5sum /dev/sr0

für MD5-Prüfsumme und

sha1sum /dev/sr0

für SHA1-Prüfsumme, wobei der Pfad des Laufwerks (sr0) abweichen kann.

Stimmt eine der Prüfsummen mit der Angabe auf www.archlinux.org/download/ überein, ist das gebrannte Medium fehlerfrei.

Wenn die CD mit Windows gebrannt werden soll, kann das mit dem kostenlosen Programmen CDBurnerXP oder cdrtfe durchgeführt werden.

ISO-Abbild auf USB-Stick übertragen

Der USB-Stick darf nicht gemountet sein darf. Zunächst sollte mit folgendem Befehl die Partitionsbezeichnung des USB-Stick ermittelt werden:

# fdisk -l

Danach kann die ISO-Datei auf den Stick übertragen werden.

# dd bs=4M if=/pfad/archlinux-*-x86_64.iso of=/dev/sdX status=progress oflag=sync

Dabei ist sdX der erkannte USB-Stick. (X ist durch den entsprechenden Buchstaben zu ersetzen.) Beachte: Alle Daten auf dem USB-Stick werden gelöscht!

USB-Stick mit ISO-Abbild auf Windows erstellen

Umbenennen der Endung des Arch-ISO-Images von .iso nach .img .
Herunterladen des Programms von http://sourceforge.net/projects/win32diskimager/ . Entpacken und starten.
Auswählen des Arch .img Images und des USB-Sticks. Klicken auf write.
Ab jetzt kann vom USB-Stick neu gebootet und von dort aus Arch-Linux installiert werden.

Teil 1: Installation des Grundsystems

Die Hardware-Uhr auf UTC einstellen

Die Hardware-Uhr (real time clock) im Bios des PC's sollte auf UTC eingestellt sein. Die Umrechnnung auf die zeitzonenspezifische Lokalzeit wird standardmäßig durch das jeweilige Betriebssystem nach den Einstellungen des Benutzers vorgenommen. Um UTC zu erhalten, muss man von unserer aktuellen Lokalzeit in Deutschland im Winter 1h und im Sommer 2h abziehen.

Starten mit dem Arch Linux ISO

Es kann jetzt per CD oder USB-Stick gestartet werden. Es kann sein, dass die Startreihenfolge der Laufwerke des Computers im BIOS geändert oder eine Taste (normalerweise F11 oder F12) während der BIOS-Phase gedrückt werden muss. Es ist bei UEFI-Rechnern empfehlenswert, „Secure Boot“ im BIOS zu deaktivieren. Falls der PC später einmal mit „Secure Boot“ starten soll, so ist nach der Grundinstallation hier nachzuschlagen: UEFI_Installation#Secure_Boot.

Arch Linux unterstützt standardmäßig nur 64-Bit-Rechner (x86_64). Ein 32-Bit-System (i686) kann nur über das Community-Projekt Arch Linux 32 installiert werden. Wenn man nicht weiß, ob der Rechner bzw. der Prozessor 64-Bit-tauglich ist, so kann man unter „Hardware Information (HDT)“ → „Processor“ → „Main Processor“ die Information erhalten. – Wird dort „X86_64 Yes“ angezeigt, ist der Rechner 64-Bit-tauglich. (Zurücknavigieren kann man mit den Cursor-Tasten.)

Es kann jetzt „Boot Arch-Linux x86_64“ ausgewählt werden.

Mit der Taste Tab ↹ können einige nützliche Startoptionen eingegeben werden:

  • ide-legacy falls Probleme mit IDE-Laufwerken bestehen.
  • noapic acpi=off pci=routeirq nosmp wenn sich das System beim Starten aufhängt.
  • lowmem ist für ältere Maschinen nützlich. Dies braucht nur 96 MB Arbeitsspeicher entgegen 256 MB bei normaler Installation.

Anstatt Arch Linux zu booten, können noch folgende Funktionen ausgeführt werden:

  • memtest86+, um den Arbeitsspeicher auf Fehler zu prüfen.
  • Hardware-Informationen anzeigen lassen.
  • Neu starten.
  • Herunterfahren und ausschalten.

Information: Der Installationsprozess kann jederzeit abgebrochen werden mit den Befehlen:

reboot

oder:

poweroff

Der Befehl reboot startet den Computer neu, poweroff fährt ihn herunter. – Der Computer wird dabei also nicht einfach ausgeschaltet/„stromlos gemacht“, wie der Name des Befehls eventuell vermuten lässt.

Ändern der 'Tastaturbelegung'

Hinweis: Da zu diesem Zeitpunkt noch das US-englische Tastaturlayout eingestellt ist, muss man die Taste Z drücken, um das Zeichen y (Ypsilon) zu erhalten und ß für - (Minus).


Zum deutschsprachigen Tastaturlayout kann wir folgt gewechselt werden:

loadkeys de

Für die Schweiz:

loadkeys de_CH-latin1

Installiert man auf einem System mit einer anderen Tastaturbelegung, bspw. einem Laptop, kann man unter /usr/share/kbd/keymaps/ die gewünschte Keymap suchen und anschließend bspw. mit

loadkeys /usr/share/kbd/keymaps/i386/qwertz/de-mobii.map.gz

laden.

Partitionieren des Datenträgers

Hinweis: Vor dem Partitionieren sollte man sich mit dem Befehl fdisk -l oder lsblk über die angeschlossenen Festplatten und deren Partitionen einen Überblick verschaffen.

Die Art der Partitionierung richtet sich nach der verwendeten Hardware, dem gewünschten Bootloader , der Verwendung von Swapspeicher, Verschlüsselung und nicht zuletzt auch von persönlichen Präferenzen.
Die große Felexibilität hierbei, ist eine der Stärken von Arch Linux. Dabei ist folgendes zu berücksichtigen:

BIOS-Systeme

  • Bei Systemen die mittels verbautem BIOS booten, können die Datenträger bis zu einer Größe von 2TiB mit fdisk unter Verwendung einer Dos-Partitionstabelle partitioniert werden.
    Im Wiki-Artikel fdisk werden hierzu konkrete Beispiele aufgezeigt.
  • Wird zur Partitionierung gdisk eingesetzt, dass mit der modernen GUID-Partitionstabelle arbeitet, verlangt der Bootmanager Grub eine zusätzliche Partition mit der Größe 1MiB vom Partitionstyp ef02.

UEFI-Systeme

  • Systeme die mit UEFI booten, werden immer mit gdisk partitioniert und benötigen auch immer eine zusätzliche Bootpartition von der Größe 512MiB (empfohlen) mit dem Partitionstyp ef00. Im Wiki-Artikel gdisk werden hierzu konkrete Beispiele aufgezeigt.

Swap-Speicher

  • Möchte man die Möglichkeit haben den Suspend-to-disk-Modus zu nutzen, sollte die anzulegende Swap-Partition mindestens die Größe des RAM-Speichers besitzen.
    Alternativ kann auch später noch eine Swap-Datei angelegt werden. Bei verschlüsselten Systemen wird der Auslagerungsspeicher (swap) innerhalb des LVM Volumes angelegt.

Verschlüsselte Dateisysteme

BtrFS (Dateisystem)

Anlegen der Dateisysteme (Formatieren)

Hinweis: Das x von xY steht für den Laufwerksbuchstaben, das Y für die Nummer der betreffenden Partition. Diese Angaben müssen jeweils mit dem konkreten Fall abgeglichen werden.


Die Partitionen welche, zuvor angelegt wurden, werden je nach ihrem Partitionstyp mit den folgenden Befehlen formatiert:
(Die konkrete Label Bezeichnung ist nur für das Installationsbeispiel dieser Anleitung von Belang)

  • mkfs.fat -F 32 -n EFIBOOT /dev/sdxY - Für die ef00 Partition (/boot) - FAT32 Dateisystem, Label "EFIBOOT".
  • mkfs.fat -F 32 -n ef02 /dev/sdxY - Für die ef02 Partition - FAT32 Dateisystem, Label "ef02".
  • mkfs.ext4 -L p_arch /dev/sdxY - Für die 83 bzw, 8300 Partition root (/) - ext4 Dateisystem, Label "p_arch".
  • mkfs.ext4 -L p_home /dev/sdxY - Für die 83 bzw, 8300 Partition (/home) - ext4 Dateisystem, Label "p_home".
  • mkswap -L p_swap /dev/sdxY - Für die 82 bzw. 8200 Partition - swap Dateisystem, Label "p_swap".


Einbinden der Partitionen (Mounten)

Bevor, wie weiter unten im Kapitel Das Basissystem installieren beschrieben, Arch Linux auf den Datenträger aufgespielt werden kann, müssen die entsprechenden Partitionen in das laufende System eingebunden werden. Zuerst wird die Rootpartition nach /mnt gemountet.

mount -L p_arch /mnt

Für die Partition "EFIBOOT" die bei UEFI-Systemen nötig ist, wird das Verzeichnis /mnt/boot angelegt und dort eingebunden:

mkdir /mnt/boot
mount -L EFIBOOT /mnt/boot

Wurde eine separate p_home als "Home-Partition" angelegt, kann damit analog verfahren werden:

mkdir /mnt/home
mount -L p_home /mnt/home

Einschalten der Swappartition

per Label:

swapon -L p_swap

oder per Devicename:

swapon /dev/sdaY

Internetverbindung prüfen

Eine Internetverbindung wird an dieser Stelle der Installation nur dann benötigt, wenn hier schon Pakete installiert werden sollen, die nicht auf dem Installationsmedium verfügbar sind. Man kann diesen Schritt auch jederzeit später noch durchführen.

Das Bestehen einer Internetverbindung kann wie folgt geprüft werden:

ping -c3 www.archlinux.de
PING www.archlinux.de (144.76.107.12) 56(84) bytes of data.
64 bytes from allison.archlinux.de (144.76.107.12): icmp_seq=1 ttl=50 time=19.6 ms
64 bytes from allison.archlinux.de (144.76.107.12): icmp_seq=2 ttl=50 time=19.5 ms
64 bytes from allison.archlinux.de (144.76.107.12): icmp_seq=3 ttl=50 time=30.6 ms
--- www.archlinux.de ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 19.555/23.312/30.687/5.216 ms

Wenn hier ping unknown host .. angezeigt wird, konnte keine Netzwerkverbindung hergestellt werden.


Um eine Verbindung herzustellen sollten zunächst die Namen der vorhandenen Netzwerkadapter ermittelt werden:

ip link
1: lo: <LOOPBACK.....
2: enp4s0: <BROADCAST...
.
.
3: wlp0s1:  <BROADCAST...

Die Netzwerkkarte heißt in diesem Beispiel enp4s0.
Der Wlanadapter heißt hier wlp0s1.

Internetverbindung herstellen über:

- LAN und Router

Mit dem folgenden Befehl wird die kabelgebundene Netzwerkverbindung (LAN) mit einem Router aufgebaut.

dhcpcd enp4s0


- DSL-Modem

Mit Strg+Alt+F2 auf die TTY Nr. 2 wechseln und als root anmelden:

archiso login:root 

Alles weitere wie hier beschrieben: PPPoE mit rp-pppoe

Ist die Verbindung hergestellt, kehrt man wieder zurück zur Konsole 1 mit Strg+Alt+F1.


- WLAN mit Dreizeiler

SSID ist der Name des Netzwerkes, Passwort ist das Passwort des WLANs. wlp0s1 ist in unserem Beispiel der Name des WLAN-Adapters.

wpa_passphrase  SSID  Passwort  > /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant -i wlp0s1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -B
dhcpcd wlp0s1

Sollte es sich um ein WLAN handeln, das "hidden" ist, muss in der erzeugten Datei /etc/wpa_supplicant/wpa_supplicant.conf noch der Parameter scan_ssid=1 gesetzt werden.


- WLAN mit netctl

Netctl stellt Beispielprofile für die WLAN-Konfiguration bereit.
Wechseln auf eine zweite Konsole mit Strg+Alt+F2 und Anmelden als root.
Die Profile erreicht man unter:

 cd /etc/netctl/examples
 ls

Für ein einfaches Heim-WLAN mit WPA reicht zumeist die Datei wireless-wpa:

 cp wireless-wpa /etc/netctl/
 cd ..
 nano wireless-wpa

In das Feld ESSID den Namen des Netzwerkes, in das Passwort-Feld das WLAN-Passwort eintragen. Speichern der Datei. Starten des WLAN-Netzwerkes

 netctl start wireless-wpa

Ist die Verbindung hergestellt, kehrt man wieder zurück zur Konsole 1 mit Strg+Alt+F1.


- Konfiguration eines Proxyservers

Soll die Installation per 'FTP' und über einen Proxyserver mit dem Internet verbunden werden, so kann das mit folgender Kommandozeile eingegeben werden:

export http_proxy="http://<servername>:<port>"
export ftp_proxy="ftp://<servername>:<port>"

Wobei <servername> entweder der Hostname oder die IP-Adresse des Proxyservers ist und <port> die Portnummer (meistens 8080 oder 3128).


Das Basissystem installieren

Im Folgenden werden die grundlegenden Softwarekomponenten installiert.

pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano
  • base: Metapaket für ein minimales System.
  • base-devel: Gruppe für Pakete zum Paketbau (empfohlen).
  • linux-firmware: Firmware für verschiedene Hardware.
  • dhcpcd: Aufbau einer Internetverbindung
  • nano: Als Texteditor. Dieser wird in diesem Wiki vorausgesetzt.


Installation zusätzlicher Pakete

Je nach System kann es nützlich sein die folgenden Pakete schon jetzt zu installiert:

  • intel-ucode: Intel-CPUs
  • amd-ucode: AMD-CPUs
  • wpa_supplicant: Herstellen eine Wlan-Verbindung
  • netctl und dialog: WLAN-Einrichtung mit wifi-menu
  • lvm2: Einbinden einer LVM-Partition
  • bash-completion: Autovervollständigung von bash Befehlen mittels Tab-Taste

Hierzu kann auch der folgende Befehl genutzt werden:

pacman --root /mnt -S <paket-name>

fstab erzeugen

Die fstab (file system table) ist eine Datei, in der festgelegt wird, welche Laufwerke wo in den Verzeichnisbaum eingehängt werden.

Zur Erzeugung einer fstab mit UUIDs (empfohlen):

genfstab -Up /mnt > /mnt/etc/fstab

Oder zur Erzeugung einer fstab mit Dateisystem-Labels. Hierbei müssen zuvor die Dateisysteme mit eindeutigen Labels versehen sein. Wurden mehrere Dateisysteme mit dem gleichen Label bezeichnet kann es zu Problemen kommen.

genfstab -Lp /mnt > /mnt/etc/fstab

Die fstab-Datei wird mit allen eingebundenen Laufwerken erzeugt. Zur Kontrolle kann man die Datei noch einmal ansehen.

cat /mnt/etc/fstab

Sie sollte dann so aussehen:

Mit UUIDs:

UUID=3eb2e7eb-1ef2-464f-8783-f888d4f630f2	/	ext4	rw,relatime,data=ordered	0	1
UUID=67bed99b-1f51-42a5-8e32-35046df4f66e	none	swap	defaults	0	0

Mit Labels:

LABEL=p_arch	/	ext4	rw,relatime,data=ordered	0	1
LABEL=p_swap	none	swap	defaults	0	0

Systemkonfiguration

Zum Konfigurieren des Systems wird in eine chroot-Umgebung (Change root) gewechselt.

arch-chroot /mnt/
 root@archiso /#


Konfigurationsdateien (/etc/....)

Es wird in dieser Anleitung von einer deutschen Standardinstallation ausgegangen. Folgende Konfigurationsdateien werden hierzu bearbeitet.

/etc/hostname

Den Rechnernamen festlegen, im Beispiel myhost:

echo myhost > /etc/hostname

/etc/locale.conf

Die Spracheinstellung (Locale) auf Deutsch festlegen:

echo LANG=de_DE.UTF-8 > /etc/locale.conf

Hinweis: de_DE bedeutet Deutsch wie in Deutschland gesprochen. de_CH ist Schwyzerdütsch, de_AT ist das Deutsche in Östereich. Mit dem Konsolenbefehl 'cat /etc/locale.gen' kann man sich die übrigen, hier möglichen Werte anzeigen lassen.

/etc/locale.gen

Konfiguration von /etc/locale.gen

nano /etc/locale.gen

Suchen und das # am Anfang folgender Zeilen entfernen:

#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15

Hinweis: Suchen im Editor nano: Strg+WSUCHBEGRIFF↵ Enter Weitersuchen mit gleichem Suchbegriff erneut: Alt+W oder F16

Anschließend Speichern. Hinweis: Es ist zu empfehlen, en_US.UTF-8 ebenfalls zu installieren, da u. a. Fehlermeldungen bzw. Hinweismeldungen diverser Programme vermieden werden können.

Locale generieren:

locale-gen
 Generating locales...
  de_DE.UTF-8... done
  de_DE.ISO-8859-1... done
  de_DE.ISO-8859-15@euro... done
 Generation complete.

/etc/vconsole.conf

Die Tastaturbelegung und Schriftart festlegen:

echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf

/etc/localtime

Die Zeitzone durch einen symbolischen Link festlegen:

ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

/etc/hosts

Konfiguration von /etc/hosts

cat /etc/hosts
#<ip-address>	<hostname.domain.org>	<hostname>
127.0.0.1	localhost.localdomain	localhost
::1		localhost.localdomain	localhost

/etc/resolv.conf

Konfiguration von /etc/resolv.conf

Diese Datei muss nur verändert werden, wenn das Netzwerk über statische Adressvergabe eingestellt wird:

cat /etc/resolv.conf
nameserver DNS-Server des Providers

Module zusätzlich laden

In der Datei /etc/modules-load.d/meinemodule.conf werden Kernel-Module angegeben, welche zusätzlich geladen werden müssen. Pro Zeile nur ein Kernel-Modul eintragen:

nano /etc/modules-load.d/meinemodule.conf
modul_1
modul_2

/etc/pacman.conf

Konfiguration /etc/pacman.conf

Dort wird im Normalfall nichts geändert. Für den Fall, dass 32bit-Bibliotheken gebraucht werden, ist das [multilib]-Repository zu aktivieren. Hierzu ist das Kommentarzeichen in den betreffenden Zeilen zu entfernen.

[multilib]
SigLevel = PackageRequired TrustedOnly
Include = /etc/pacman.d/mirrorlist

Anschließend muss die pacman Datenbank neu geladen werden.

pacman -Sy

Initramfs erzeugen

Bevor die Initramfs erzeugt wird, sollte die Datei /etc/mkinitcpio.conf geprüft werden, ob zusätzliche Module geladen werden müssen. Sofern z.B. das Root Filesystem auf einem logical Volume liegt, muss in der Zeile "HOOKS" das lvm2 Modul ergänzt werden. Mit LVM2 sieht die Zeile dann so aus:

HOOKS=(base udev autodetect modconf block lvm2 filesystems keyboard fsck)

lvm2 muss zwischen "block" und "filesystems" stehen.

Danach kann die initramfs Datei mit

mkinitcpio -p linux

erzeugt werden.

Root Password

Setzen des Root-Passworts. Man vergewissere sich, dass man es nicht vergisst.

passwd
Enter new UNIX password: geheim
Retype new UNIX password: geheim

Installation eines Bootloaders

Installation des GRUB Bootloaders

Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: Microcode.
Falls bei einen BIOS-Boot-System von einem Datenträger mit GPT-Partitionstabelle gebootet werden soll, benötigt Grub eine zusätzliche Partition von der Größe von 1MiB und dem Partitionstyp ef02. Siehe Grub.

Installation des Pakets:

pacman -S grub

Booten per BIOS

grub-install /dev/sda

Booten per UEFI

Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):

pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name>

Alternativ kann man

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name> --recheck --debug

verwenden, um zusätzliche Informationen zu bekommen, falls es zu einem Fehler kommt.
Wenn man einen etwas längeren Namen mit Leerzeichen für Grub geben möchte, muss man einfach 2 Anführungszeichen anbringen:

--bootloader-id="Ein sehr langer Name für den Grub Bootloader, der auch so im UEFI angezeigt wird :D"

Weitere Konfiguration nach BIOS oder UEFI grub-install:

Es kann jetzt die Grub Konfiguration generiert werden.

grub-mkconfig -o /boot/grub/grub.cfg

Sollte grub-mkconfig dabei eine Fehlermeldung wie

 ...
 error: out of memory.
 error: syntax error.
 error: Incorrect command.
 error: syntax error.
 Syntax error at line 164
 ...

liefern (siehe auch: "FS#38041 - grub 1:2.00.1282.g5ae5c54-1 will not generate grub.cfg file syntax errors", sollte das Anhängen folgender Zeile an /etc/default/grub:

 # fix broken grub.cfg gen
 GRUB_DISABLE_SUBMENU=y

und ein erneuter Aufruf von grub-mkconfig Abhilfe schaffen.

Installation des Syslinux Bootloader

Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.

Zur Beachtung, der Syslinux Bootloader funktioniert nicht bei allen 64bit Dateisystemen wie z.B. ext4. Es muß dann ein anderer Bootloader gewählt werden wie z.B. Grub. Dieser Fehler macht sich erst nach dem Reboot mit folgender Meldung bemerkbar: Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.

Syslinux kann jetzt installiert werden.
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.

pacman -S gptfdisk
pacman -S syslinux

Mit einem Editor (nano) die Konfigurationsdatei anpassen:

nano /boot/syslinux/syslinux.cfg

Die Zeilen APPEND root=/dev/sda3 ro ändern in

APPEND root=/dev/sda1 rw

oder wenn man die LABEL-Partitionsbezeichnung bevorzugt:

APPEND root=LABEL=p_arch rw

Anschließend syslinux auf den Bootsektor installieren

syslinux-install_update -iam
Manuelle Installation von syslinux

Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.

Dazu wird mit dem Programm fdisk das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.
Beispiel, um für /dev/sda1 das Bootflag zu setzen:

fdisk /dev/sda
x
a 
p
r
w

Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.

mount /dev/sda1 /boot
mkdir /boot/syslinux
extlinux --install /boot/syslinux

Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.

cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda

Arch Linux neu booten

Zum Schluss das installierte Arch-Linux verlassen und wieder in das Installationsmedium zurückkehren:

exit
umount /dev/sda1

und neu starten.

reboot

Hinweis: Man sollte im BIOS die Startreihenfolge zurückstellen, z.B. Starten von Festplatte vor CD-Rom oder USB-Stick.

Wenn alles einwandfrei verlaufen ist, wird das Arch Linux-System nun starten und mit einer Login-Eingabe enden.

myhost login: root
password: geheim
[root@myhost ~]# _

Herzlichen Glückwunsch und Willkommen zu Deinem Arch Linux-Basissystem.

Netzwerk erneut herstellen

Das Netzwerk kann jetzt, wie oben im Kapitel Netzwerkverbindung herstellen, mit dem richtigen Gerätenamen eingerichtet oder wieder mit dhcpcd enp4s0 gestartet werden.

Anmerkung: Sollte die Netzwerk-Verbindung via "netctl -u wireless-wpa" gestartet worden sein, funktioniert dies nach der Installation nicht mehr, da "wpa" nicht mit installiert wird. Dies kann man wie folgt abändern: Erneutes Starten mit der boot-CD, mounten der root-Partition mit "mount /dev/sda1 /mnt". Dann erneutes verbinden mit dem Netzwerk und installieren des Paketes wpa_supplicant ins root-Verzeichnis: "pacstrap /mnt wpa_supplicant". Nach einem Neustart kann sich nun auch die Festplatteninstallation via wpa mit dem Netzwerk verbinden!

Regelmäßiges Aktualisieren

Arch Linux gehört zu den Distributionen, welche sehr schnell aktuelle Softwarepakete zur Verfügung stellen. Darum sollte man ein installiertes Arch Linux mittels pacman aktualisieren und sich angewöhnen, dies regelmäßig zu tun. Es ist sehr hilfreich, vorher auf Arch Linux - Aktuelle Neuigkeiten nachzusehen, ob sich etwas Wichtiges am Gesamtsystem oder an einzelnen Komponenten geändert hat. Es werden erforderliche Lösungsvorschläge und Anleitungen beschrieben.

Der Paketmanager pacman

Pacman ist der package manager von Arch Linux. Er verwaltet das gesamte Paketsystem, also die Installation, das Löschen, das Downgraden von Paketen u.v.m.; er ist auch zuständig für die Verwaltung selbst kompilierter Programme, das automatische Lösen von Paket-Abhängigkeiten sowie das entfernte und lokale Suchen nach Paketen.

Konfiguration von pacman
  • /etc/pacman.conf

pacman wird über die Datei /etc/pacman.conf konfiguriert. Siehe weitere Infos unter pacman.

  • /etc/pacman.d/mirrorlist

pacman benötigt die Datei /etc/pacman.d/mirrorlist, welche die Serveradressen für den Download von Paketen enthält. Siehe weitere Infos unter pacman. Eine Optimierung der Liste der Spiegelserver kann mittels reflector erfolgen.

Die Schönheit des Rolling Release

Arch Linux ist eine Rolling Release Distribution, was bedeutet, dass es im Vergleich zu anderen Linux-Distributionen keine Versionsnummern oder -namen gibt. Diese Form der Verwaltung verzichtet darauf, das ganze System neu installieren zu müssen, um es aktuell und damit auch sicher zu halten – man hat es nun selbst in der Hand, jederzeit upzudaten. Die Benutzung eines Rolling-Release setzt auch ein gewisses Maß an Eigenverantwortung voraus. So ist man z.B. gut beraten, sich vor einer Systemaktualisierung über aktuelle Änderungen oder Schwierigkeiten, die dabei auftreten könnten, zu informieren. Aktuelle Informationen findet man hier, hier,hier und hier. Außerdem ist es empfehlenswert, die Arch-Announce Mailingliste zu abonnieren, um stets auf dem neuesten Wissenstand etwaige Änderungen betreffend zu sein.

Achtung bei Systemupdates mit neuem Kernel

Falls der Kernel ein größeres Update erfährt, werden Module, wie zum Beispiel nvidia und madwifi (wird später installiert, falls nötig), unbenutzbar, da die neuen, aktualisierten Paketversionen solcher Module gegen den neueren Kernel gebaut wurden, aber das System derzeit einen älteren verwendet. Ein Neustart wird nötig sein.

Ebenso könnte nach einer langen Pause ohne Aktualisierung bzw. bei der Aktualisierung eines frischen Systems der Fall eintreten, dass gleichzeitig mit dem neuen Kernel andere Programmpakete oder neue Versionen von bereits vorhandenen mitinstalliert werden, die wichtige Neuerungen beinhalten, auf die der neue Kernel angewiesen ist. Dann ist es wahrscheinlich, dass der Kernel zwar aktualisiert wird, aber mkinitcpio Fehler beim Durchlaufen der Hooks meldet (wie etwa fehlende Udev-Regeln beim Hook "filesystems"). Das würde dazu führen, dass das System dann nicht mehr startet und etwa von einem anderen Linux-System oder der Live-CD repariert werden muss! Um dergleichen zu vermeiden, genügt es nach so einem Update i.d.R., das Initramfs noch einmal neu zu generieren, und zwar folgendermaßen:

mkinitcpio -p linux

Einen Benutzer hinzufügen und Gruppen wählen

Tägliche Arbeiten sollten nicht mit dem Root-Account gemacht werden, da dieser für administrative Aufgaben vorgesehen ist und ein Arbeiten damit gefährlich sein kann. Deshalb wird nun ein normaler Benutzer hinzugefügt. Beachte, dass Benutzernamen nur Kleinbuchstaben und Sonderzeichen enthalten dürfen:

In diesem Beispiel heißt der Benutzer duda

useradd -m -g users -s /bin/bash duda
passwd duda
Geben Sie ein neues UNIX-Passwort ein:geheim
Geben Sie das neue UNIX-Passwort erneut ein:geheim
passwd: Passwort erfolgreich geändert


Falls der Benutzer wieder entfernt werden soll, so kann das mit

userdel -r duda

gemacht werden.

Ein weiteres wichtiges Werkzeug könnte noch installiert werden, um ein Kommando mit Root-Rechten ausführen zu können.

pacman -S sudo

Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von:

EDITOR=nano visudo

oder

nano /etc/sudoers

Suchen der folgenden Zeile (steht unterhalb von "## Uncomment to allow members of group wheel to execute any command"):

 # %wheel ALL=(ALL) ALL

und entfernen des Kommentatorzeichens und des Leerzeichens.

%wheel ALL=(ALL) ALL

Den Benutzer zu der Gruppe wheel hinzufügen

gpasswd -a duda wheel

Um dem Nutzer noch Rechte für Audio etc. zu geben, kann er noch in die Gruppen audio, video, games, power hinzugefügt werden.

Weitere nützliche Dienste

Sollte das System auf einer SSD betrieben werden, welche TRIM unterstützt, sollte der fstrim.timer aktiviert werden:

# systemctl enable --now fstrim.timer

Jetzt, das heißt bevor wir uns der grafischen Oberfläche und/oder Multimedia zuwenden, ist ein guter Zeitpunkt, ein paar zusätzliche Dienste zu installieren und zu aktivieren.

# pacman -S acpid dbus avahi cups

Diese Dienste müssen natürlich auch jeweils explizit gestartet werden. Um dies automatisch beim Booten zu tun, muss systemd dazu angewiesen werden. Dies geschieht durch:

# systemctl enable <Dienstname> 

Für diese Beispiele:

# systemctl enable acpid
# systemctl enable avahi-daemon
# systemctl enable cups.service

Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden:

Dies können Services wie NetworkManager erledigen. Mehr dazu unter https://wiki.archlinux.de/title/Daemons und unter https://wiki.archlinux.de/title/Daemons/Liste.

Cronjobs ausführen lassen

Einige Pakete legen sogenannte Cronjobs an. Das sind Befehle, die zu bestimmten Zeiten automatisch ausgeführt werden. Im Normalfall braucht man sich um die Cronjobs nicht zu kümmern. Mehr zu diesem Thema unter cron

# pacman -S cronie
# systemctl enable --now cronie

Als Alternative zu o.g. klassischen Conrojobs können oft auch systemd.timers genutzt werden, ohne zusätzliche Software installieren zu müssen.

Automatische Zeiteinstellung

Wer die Zeit automatisch korrigieren lassen will, kann das mit systemd-timesyncd machen.

systemctl enable --now systemd-timesyncd.service

Die Zeit wird nach wenigen Sekunden korrekt sein.
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen:

date

Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren.

hwclock -w

Man muss unterscheiden zwischen einer sogenannten Systemzeit und einer Hardwareuhr auf der Hauptplatine des Rechners. Die Hardwareuhr ist die CMOS-Uhr, auch Echtzeituhr oder RTC (real time clock) genannt. Die Systemzeit ist die Zeit, die der Linuxkernel gerade hat (nur so grob). Beim Einschalten übernimmt Linux (Systemzeit) die Hardwareuhrzeit. Beim Herunterfahren wird die Systemzeit nicht an die Hardwareuhr wieder übergeben. Zur Beachtung: Werden mehrere Betriebssysteme benutzt, sollte nur ein Betriebssystem die Hardwareuhr korrigieren.

Teil 2: Installation von X und Konfiguration

Installation und Konfiguration von X

Das X Window System (gemeinhin X11, oder einfach nur X) ist ein Netzwerk- und Anzeigeprotokoll, das das Darstellen von Fenstern auf Bildschirmen erlaubt. Es liefert das Standardwerkzeug, um grafische Benutzeroberflächen (graphical user interfaces oder GUIs) auf Unix-ähnlichen Betriebssystemen zu bilden.

X bietet den grundlegenden Rahmen oder die Grundfunktion, GUI Umgebungen zu bilden: zeichnen und bewegen von Fenstern auf dem Bildschirm sowie Interaktion mit einer Maus und/oder einer Tastatur. X ordnet nicht das Nutzer-Interface - individuelle Client-Programme bewerkstelligen dies. Nun werden wir mithilfe von pacman die Basis-Pakete von Xorg installieren. Dies ist der erste Schritt, eine GUI zu bilden.

Mit folgendem Befehl installiert man die dafür notwendigen Basis-Pakete:

pacman -S xorg-server xorg-xinit

Grafiktreiber installieren

Jetzt sind die Basispakete installiert, die für die Benutzung des X Servers gebraucht werden. Man sollte zunächst den Treiber der Grafikkarte hinzufügen (z.B. xf86-video-<name>).

Welchen Treiber man braucht, bekommt man am einfachsten wie folgt heraus:

lspci |grep VGA
01:00.0 VGA compatible controller: nVidia Corporation G86 [GeForce 8500 GT] (rev a1)

In diesem Beispiel ist das eine nvidia Grafikkarte. Der freie Grafiktreiber dafür nennt sich "nouveau". Das Paket dazu xf86-video-nouveau.

Wenn man eine Liste aller open-source Videotreiber braucht, so kann man eingeben:

pacman -Ss xf86-video | less

Dies ist eine Liste von open source Treibern und ihren korrespondierenden Chipsets.

Paketname Kurzbeschreibung Mehr Informationen
Für die neuesten Grafikkarten von Intel, AMD und Nvidia
xf86-video-intel Intel i810/i830/i915/945G/G965+ HDGraphics HDGraphics2 HD4000 Videotreiber intel-ArchWiki | X.Org WIKI
xf86-video-amdgpu Neuester AMD Videotreiber ab Grafikkarten ab Volcanic Islands (VI) und neuer (GCN 1) AMDGPU
xf86-video-nouveau Nvidia Open Source Treiber nvidia
Für ältere Grafikkarten von Intel, AMD und Nvidia
xf86-video-ati Grafikkarten älterer AMD / ATI Grafikkarten ATI
xf86-video-nv nvidia nv Videotreiber
xf86-video-i128 Intel i128 Videotreiber
xf86-video-i740 Intel i740 Videotreiber
Grafiktreiber für Virtualisierungssoftware
xf86-video-vmware vmware Videotreiber
xf86-video-voodoo voodoo Videotreiber
virtualbox-guest-utils Virtualbox Videotreiber
Sonstige Treiber
xf86-video-vesa Der allgemeinste Videotreiber welcher mit vielen modernem Chipsets funktioniert
xf86-video-apm Alliance ProMotion Videotreiber
xf86-video-ark ark Videotreiber
xf86-video-chips Chips and Technologies Videotreiber
xf86-video-cirrus Cirrus Logic Videotreiber
xf86-video-glint GLINT/Permedia Videotreiber
xf86-video-imstt Integrated Micro Solutions Twin Turbo Videotreiber
xf86-video-mga mga Videotreiber (Matrox Graphikadapter)
xf86-video-neomagic neomagic Videotreiber
xf86-video-rendition Rendition Videotreiber
xf86-video-s3 S3 Videotreiber
xf86-video-s3virge S3 Virge Videotreiber
xf86-video-savage savage Videotreiber
xf86-video-siliconmotion siliconmotion Videotreiber
xf86-video-sis SiS Videotreiber
xf86-video-sisusb SiS USB Videotreiber
xf86-video-tdfx tdfx Videotreiber
xf86-video-trident Trident Videotreiber
xf86-video-tseng tseng Videotreiber
xf86-video-unichrome unichrome Videotreiber
xf86-video-v4l v4l Videotreiber
xf86-video-vga VGA 16 color Videotreiber
xf86-video-via via Videotreiber

Beachte: Der vesa Treiber ist der allgemeinste und sollte mit fast jedem modernem Chipset funktionieren. Falls man keinen passenden Treiber für das Videochipset finden kann, sollte vesa funktionieren.

Falls man eine nVIDIA oder ATI Videoadapter hat, besteht auch die Möglichkeit, die proprietären nVIDIA oder ATI Treiber zu installieren. Die Installation proprietärer Videotreiber wird unter Nvidia und unter ATI bzw für neuere AMD Karten auf AMDGPU beschrieben.

Installieren des passenden Videotreibers z.B.:

pacman -S xf86-video-nouveau
  • Falls man immer noch nicht weiß, welcher Videotreiber zu installieren ist, so kann man die gesamte Videotreiber-Pakete-Gruppe installieren. Xorg lädt dann selbst den passenden Treiber.
pacman -S xorg-drivers

Sonstige Treiber

Bei manchen Laptops kann es mit dem Touchpad zu Problemen kommen. Xorg stellt hierfür auch einen Touchpad-Treiber zur Verfügung. Sollte das Touchpad nur eingeschränkt funktionieren, kann dieser auch ganz zum Schluss noch nachinstalliert werden.

pacman -S xf86-input-synaptics

Deutsche Tastaturbelegung einstellen

Hinweis: Die Datei 00-keyboard.conf kann auch mit dem Befehl localectl set-x11-keymap <layout> <model> <variant> <options> generiert werden.

Über 00-keyboard.conf

Eine Datei erzeugen /etc/X11/xorg.conf.d/00-keyboard.conf und folgendes hinzufügen:

Section "InputClass"
      Identifier "keyboard"
      MatchIsKeyboard "yes"
      Option "XkbLayout" "de"
      Option "XkbModel" "pc105"
      Option "XkbVariant" "deadgraveacute"
EndSection

Oder über localectl set-x11-keymap

localectl list-x11-keymap-layouts |less

Zeigt eine Liste mit allen verfügbaren Tastaturlayouts. Mehrere Layouts können durch Komma getrennt angegeben werden. de sollte für deutsche Tastaturen funktionieren.

localectl list-x11-keymap-models |less

Zeigt eine Liste mit allen verfügbaren Tastaturmodellen. pc104 oder pc105 sollte ohne zusätzliche Tasten standartmäßig funktionieren. Für Tastaturen mit speziellen zusätzlichen Tasten muss man um sie zu benutzen das richtige Model finden.

localectl list-x11-keymap-variants |less

Zeigt eine Liste mit allen verfügbaren Tastaturvarianten. Bei Verwendung von deadgraveacute können mit ` und ´ Buchstaben wie é eingegeben werden, während ^ wie eine normale Taste behandelt wird. nodeadkeys dagegen deaktiviert dies, und wenn gar keine Variante angegeben wird, ist auch ^ ein "dead key".

localectl list-x11-keymap-options |less

Zeigt eine Liste mit allen verfügbaren zusätzlichen Tastaturoptionen. Muss nicht angegeben werden. Sollten mehrere Tastaturlayouts verwendet werden, können zum Beispiel Optionen zum hin- und herwechseln zwischen den Layouts über Tastenkombinationen angegeben werden. Mit grp:alt_shift_toggle wechselt man dann mit alt+shift zwischen den Layouts.

localectl set-x11-keymap [layout] [model] [variant] [options]

setzt die Parameter.

Nach obigem Beispiel für eine deutsche Standardtastatur, einem einzelnen Layout, ohne zusätzliche Optionen oder Tasten folgende Eingabe:

localectl set-x11-keymap de pc105 deadgraveacute

[Optional] Schönere Schriftarten installieren

pacman -S ttf-dejavu

Empfehlenswert ist der Artikel über Schriftarten.

Desktopumgebung installieren

Archlinux bietet eine große Anzahl Benutzeroberflächen zur Auswahl an. Die Installation der gewünschten Desktopumgebung, des passenden Fenster- und Loginmanagers wird in den einzelnen Beiträgen beschrieben.


Damit ist die Grundinstallation von Arch Linux abgeschlossen.


Mit der Eingabe von

reboot

kann nun ein Neustart herbeigeführt werden und ein Einloggen als Benutzer stattfinden. (Desktopumgebungen laufen nicht als Root)


++++ VIEL FREUNDE MIT ARCH LINUX ++++

siehe auch