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 `` ⇒ ``zpool create tank `` - ``btrfs sub create `` ⇒ ``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…​