Vorwort
Arch Linux ist eine Allzweckdistribution, die für ihre Spitzentechnologie und flexible Konfiguration bekannt ist. Mit Btrfs-Schnappschüssen können wir das schnelle Tempo nutzen und gleichzeitig von der Stabilität des Systems überzeugt sein. Lasst uns beginnen.
Voraussetzungen
- Eine neu erstellte Vultr-Instanz.
- Etwas Freizeit und Geduld.
Vorbereitungen
Sie können beim Erstellen der Instanz die Arch Linux-ISO aus der ISO-Bibliothek auswählen. Wenn nicht, können Sie dies in den Einstellungen des Geräts laden. Zum Zeitpunkt des Schreibens ist die neueste (2017.01.01) ISO in der Bibliothek verfügbar. Wenn diese ISO veraltet ist, empfehle ich, sie erneut herunterzuladen.
Klicken Sie nach dem Start des Computers auf View Console
und starten Sie das System. Wir müssen ein Root-Passwort für die Umgebung einrichten, damit wir von unserem Arbeitscomputer aus darauf zugreifen können:
passwd
systemctl start sshd
Schließen Sie das VNC-Fenster und stellen Sie über ssh eine Verbindung zur Maschine her:
ssh root@<your host ip here>
Installieren Sie tmux
das Programm, damit wir unsere Sitzung über instabile Verbindungen hinweg aufrechterhalten können:
pacman -Sy tmux
Wenn die Verbindung während der Installation versehentlich geschlossen wird, ssh einfach zurück zur Maschine und führen Sie Folgendes aus:
tmux attach
Installation
Lassen Sie uns zuerst die Festplatte partitionieren.
lsblk
mkfs.btrfs -m single -L arch /dev/vda
mount -o compress=lzo /dev/vda /mnt
Als nächstes kommt der schwierige Teil: das Erstellen von Subvolumes.
cd /mnt
btrfs su cr @
btrfs su cr @boot
btrfs su cr @home
btrfs su cr @log
btrfs su cr @pkg
btrfs su cr @srv
btrfs su cr @tmp
Hängen Sie dann die Subvolumes ein.
cd /
umount /mnt
mount -o compress=lzo,subvol=@ /dev/vda /mnt
cd /mnt
mkdir -p {boot,home,srv,var/{log,cache/pacman/pkg,tmp}}
mount -o compress=lzo,subvol=@boot /dev/vda boot
mount -o compress=lzo,subvol=@home /dev/vda home
mount -o compress=lzo,subvol=@log /dev/vda var/log
mount -o compress=lzo,subvol=@pkg /dev/vda var/cache/pacman/pkg
mount -o compress=lzo,subvol=@srv /dev/vda srv
mount -o compress=lzo,subvol=@tmp /dev/vda var/tmp
Installieren Sie das Basissystem.
pacstrap -i /mnt base base-devel snapper vim
Konfigurieren Sie das System.
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -s /usr/share/zoneinfo/Region/City /etc/localtime # Replace Region/City with your value
hwclock --systohc
vim /etc/locale.gen # Uncomment en_US.UTF-8 UTF-8 line
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
pacman -S networkmanager
echo "your-hostname" > /etc/hostname # Replace your-hostname with your value
vim /etc/hosts # Configure 127.0.0.1 and ::1 lines accordingly
systemctl enable NetworkManager.service
Aktivieren Sie sshd für zukünftige Remote-Anmeldungen.
vim /etc/ssh/sshd_config # Set PermitRootLogin yes
systemctl enable sshd.service
Beachten Sie, dass die beste Vorgehensweise darin besteht, Ihren öffentlichen Schlüssel in die ~/.ssh/authorized_keys
Datei einzufügen, anstatt die Kennwortanmeldung für root zu aktivieren.
Konfigurieren Sie die initramfs so, dass sie unseren Anforderungen an btrfs entsprechen.
vim /etc/mkinitcpio.conf
Suchen Sie MODULES="..."
und fügen Sie btrfs
der Liste hinzu. Generieren Sie die initramfs neu:
mkinitcpio -p linux
Legen Sie das Root-Passwort fest.
passwd
Installieren und konfigurieren Sie den Bootloader.
pacman -S grub
grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg
Starten Sie die ISO in Ihrem Maschinenbedienfeld neu und entfernen Sie sie.
exit
reboot
Stellen Sie erneut eine Verbindung zum Server her (möglicherweise nach kurzer Zeit; warten Sie, bis der Startvorgang abgeschlossen ist). Beachten Sie, dass sich der Server-Fingerabdruck geändert hat, sodass Sie möglicherweise Ihre known_hosts
Datei ändern müssen :
vim ~/.ssh/known_hosts
ssh root@<your host ip here>
Konfigurieren wir den Snapper , der den Snapshot-Vorgang automatisiert.
snapper -c root create-config /
Bearbeiten Sie die Konfiguration und ändern Sie sie TIMELINE_LIMIT_{HOURLY,DAILY,WEEKLY,MONTHLY,YEARLY}
entsprechend Ihren Anforderungen.
vim /etc/snapper/configs/root
Aktivieren Sie die Systemd-Timer.
systemctl enable snapper-timeline.timer
systemctl start snapper-timeline.timer
systemctl enable snapper-cleanup.timer
systemctl start snapper-cleanup.timer
Arbeit ist erledigt!
Die Konfiguration des Systems ist nun abgeschlossen. Weitere Informationen zur Verwendung von Snapper finden Sie auf der Wiki-Seite oder snapper(8)
für weitere Informationen. Viel Spaß mit Ihrem neuen Arch Linux mit dem btrfs Auto-Snapshotting-System!