Arch Linux auf btrfs installieren
Datum: 2018-02-18
Vorbereitungen
Nach dem Erstellen einer VirtualBox-VM mit einem Netzwerkadapter, der im Modus „Netzwerkbrücke“ betrieben wird, booten wir sie mit Hilfe des Installationsmediums „archlinux-2018.02.01-x86_64.iso“.
loadkeys de
systemctl start sshd
passwd root
ip -4 addr
Mittels der Kommandozeile ssh root@ip-addr
können wir uns nun auf
die Maschine verbinden und bequemer arbeiten…
Partitionierung / Dateisystem
Mit folgenden Kommandozeilen partitionieren wir die Festplatte auf einfache Art und erzeugen das Hauptvolume für das neue Dateisystem ‚btrfs‘:
parted /dev/sda -- mklabel msdos mkpart primary linux-swap 8 3G
parted /dev/sda -- mkpart primary 3G 100%
mkswap /dev/sda1
swapon /dev/sda1
mkfs.btrfs /dev/sda2
Nun müssen wir das Hauptvolume mounten, ein Subvolume erzeugen (was für Snapshots erforderlich ist) und statt dessen das Subvolume mounten.
Der springende Punkt ist dabei weniger das at-Zeichen (@, = „Klammeraffe“), welches als Bezeichner für das Subvolume dient und später das Wurzeldateisystem beinhalten wird, als die Art und Weise, wie es gemountet werden muss. Nämlich mit Hilfe seiner SubvolumeID:
mount /dev/sda2 /mnt
btrfs sub create /mnt/@
btrfs sub list /mnt
umount /mnt
mount -o subvolid=257 /dev/sda2 /mnt
Zum Mounten mit Hilfe der Subvolume ID siehe auch http://www.pro-linux.de/artikel/2/1456/4,subvolumes-und-snapshots.html
Installation
Kommen wir nun zur eigentlichen Installation. Zuerst konfigurieren wir den zu verwendenden Mirror in der Datei /etc/pacman.d/mirrorlist, wobei einfach nur die beste Zeile herauszusuchen und an erste Stelle zu setzen ist. Mit vim geht das schnell zur Hand (Siehe die Hinweise zur Bedienung des Editors nach dem ‚#‘-Zeichen):
vi /etc/pacman.d/mirrorlist
chemnitz # Zeile mit Mirror suchen (z.B. auch "esslingen")
yy # Gewünschte Zeile kopieren
5G # Auf erste Zeile nach dem Header springen
p # Zeile einfügen
:wq # Speichern und Beenden
Im Folgenden werden die grundlegendsten Pakete heruntergeladen, eine /etc/fstab erzeugt sowie die Installation und Konfiguration des Bootloaders vorgenommen.
pacstrap /mnt base
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
pacman -S btrfs-progs grub-bios
sed -i 's/fsck)/btrfs)/' /etc/mkinitcpio.conf
mkinitcpio -p linux
grub-install --target=i386-pc --recheck /dev/sda
sed -i 's/quiet//' /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg
exit
umount /mnt
poweroff
Schließlich müssen wir nur noch die CD entfernen - und können sogleich den Neustart wagen…
Nutzer / Lokalisierung
Der Benutzer ‚root‘ besitzt an dieser Stelle kein Passwort! Mit
passwd root
sollte ihm sogleich eins zugewiesen werden. Außerdem
macht es Sinn, einen einfachen Benutzer zum Beispiel für den ssh-Zugang
zu erzeugen:
useradd -m tux
passwd tux
Für diesen ssh-Zugang muss allerdings noch das Paket ‚openssh‘ installiert und konfiguriert werden:
dhcpcd enp0s3
pacman -S openssh
systemctl start sshd
systemctl enable sshd
Hinweise / Parallelen
Natürlich sollte die frische Installation bezüglich der Lokalisierung angepasst werden. Siehe dazu https://wiki.archlinux.de/title/Arch_Linux_auf_Deutsch_stellen
Vergleiche mit zfs und Debian
Im Zusammenhang mit zfs könnte man folgenden Vergleich anstellen:
mkfs.btrfs <DEV>
⇒zpool create tank <DEV>
btrfs sub create </DIR/SUBDIR>
⇒zfs create tank/data
Was das Erzeugen der /etc/fstab betrifft (was Archlinux mit pacstrap
bewerkstelligt), benutzt man im allgemeinen einfach einen Texteditor
unter Zuhilfenahme des Kommandos blkid
.
Und da sind noch zwei weitere spezielle Archlinux-Tools: Zum einen
handelt es sich um pacstrap
; unter Debian gibt es dafür
debootstrap
und zum anderen um arch-chroot
; der allgemeine Weg
wäre für Debian und andere Distributionen dieser:
mount /dev/sda2 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
Viel Spaß beim Lernen und experimentieren…