ArchLinux Installation

ArchLinux ist eine Linuxdistribution für Experten. Wer hinreichend Erfahrung mit der Linux-Konsole vorweisen kann, ist in der angenehmen Position, in ArchLinux seine Erfüllung zu finden.

ArchLinux ist minimalistisch" - Es hat und macht nur das, was der Nutzer will; nicht mehr. Diese Installationsanleitung führt zu einem sehr minimalistischen System, welches mit einem wachsamen Auge auf grundlegende Sicherheit konfiguriert wird. Sprich: Es wird nur das installiert, was benötigt wird. Zudem wird die System-Festplatte verschlüsselt.

Zuerst muss das archlinux-ISO vorzugsweise auf einen USB-Stick gebracht werden; mit CD startet heute wohl keiner mehr. ;-)

dd if=archlinux.iso of=/dev/sdX

(sdX ist die Bezeichnung des USB-Sticks.)

Nach dem Start sollte zuerst die zu verwendende Tastatur konfiguriert werden.

Tastaturlayout laden:

loadkeys de

Verbindung zum Internet:

wifi-menu

Wenn man dann problemfrei Befehle übergeben kann und die Installationsquellen bequem aus dem Internet gezogen werden können, geht's richtig los!

Die Festplatte wird in zwei Teile geteilt; in eine "/boot"- und System-Partition. Es wird kein SWAP eingerichtet, da sich im betreffenden System eine SSD-Festplatte befindet; außerdem wird meine minimalistische Notebook-Installation niemals das Ende des RAMs sehen. ;-)

Partitionen anzeigen:

lsblk

Festplatte partitionieren:

fdisk
lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 128G 0 disk |-sda1 8:1 0 16G 0 part `-sda2 8:2 0 112G 0 part

boot-Partition anlegen:

mkfs.ext2 -L boot /dev/sda1

Die System-Partition wird komplett verschlüsselt. Mittels shred kann der Inhalt der leeren Partition zuvor noch etwas "unkenntlich" gemacht werden.

shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda2

Partition verschlüsseln:

cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sda2
cryptsetup luksOpen /dev/sda2 system
mkfs.ext4 -L system /dev/mapper/system

Festplatten einhängen:

mount /dev/mapper/system
mkdir /mnt/boot
mount /mnt/boot /dev/sda1

Nun kann das eigentliche System installiert werden:

pacstrap -i /mnt base base-devel vim dialog NetworkManager

Den NetworkManager installiere ich an dieser Stelle bereits, da, spätestens mit dem ersten Neustart, wieder eine Verbindung zum Internet benötigt werden wird. Weshalb Vim installiert wird, merkt man spätestens, wenn es dann an das Bearbeiten unzähliger Konfigurationsdateien geht. ;-) Das Paket dialog wird von wifi-menu benötigt; nur zur Sicherheit, falls es mit dem NetworkManager nicht so recht klappen mag.

Weil die Partitionen bereits richtig eingehängt wurden, kann aus dieser Konstellation direkt die /etc/fstab kreiert werden.

Fstab erstellen:

genfstab -U -p /mnt >> /mnt/etc/fstab

Nun ist das neue ArchLinux unter /mnt installiert. Um es weiter zu konfigurieren, ist es sinnvoll, direkt in der Verzeichnisstruktur zu arbeiten. Mittels chroot ist das neue ArchLinux temporär das Hauptsystem.

Chroot ausführen:

arch-chroot /mnt

Nun kann wie gewohnt konfiguriert werden; man ist im Prinzip bereits auf dem neuen System unterwegs.

In der Datei /etc/locale.gen werden nun die verfügbaren "Systemsprachen" eingetragen. Hierfür müssen in besagter Datei nur die entsprechenden Zeilen - vorzugsweise die, die mit "#de" beginnen - ent-kommentiert werden.

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

locale-Konfiguration schreiben:

locale-gen

Festlegung der Systemsprache:

echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo LC_TIME=de_DE.UTF-8 >> /etc/locale.conf
echo LC_COLLATE=C >> /etc/locale.conf
export LANG=de_DE.UTF-8
echo "KEYMAP=de" >> /etc/vconsole.conf

Die Zeitzone stellt einfach mit einem symbolischen Link ein. Die interne Uhr kann mit dieser Information im Anschluss verküpft werden.

Zeit einstellen:

ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
timedatectl set-ntp true
hwclock --systohc

Nun ist es Zeit dem Betriebsystem einen Namen zu geben:

echo "notebook" > /etc/hostname

Kennwort des root-Nutzers setzen:

passwd

Nutzer anlegen:

useradd -m -g users -G wheel,audio,video,storage,power -s /bin/bash nutzer
passwd nutzer

Dieser neu angelegte Nutzer namens "nutzer" hat administrative Rechte (wheel); kann also Befehle ggf. mit root-Rechten ausführen. Hierfür kann gleich sudo installiert und konfiguriert werden.

pacman -S sudo
EDITOR=vim visudo

%wheel ALL=(ALL) ALL

Nun ist es Zeit, dem Booloader mitzuteilen, dass eine verschlüsselte Festplatte hinzugefügt werden soll.

pacman -S grub-bios os-prober

Damit beim Start nach dem Kennwort gefragt wird:

vim /etc/default/grub

GRUB_CMDLINE_LINUX="cryptsetup=/dev/sda2:system"

Verschlüsselung während des System-Starts:

vim /etc/mkinitcpio.conf

HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fschk"

Ramdisk und Grub konfigurieren:

mkinitcpio -p linux
grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg

Neustart:

exit
umount /mnt/boot
umount /mnt
cryptsetup close system
systemctl reboot