Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
ArchLinux - Minimal Server Installation - mit LVM und Btrfs
Mein besonderer Dank gilt hier an dieser Stelle Nicolai Mladenoff (unicks.eu), welcher mich durch seine Videos auf seinem Youtube™-Kanal: unicks.eu erst auf die Idee gebracht hat, unter ArchLinux das Dateisystem Btrfs einzusetzen und mir auch wertvolle Verbesserungen zu meinen bisherigen DokuWiki-Einträgen gegeben hat. Vielen Dank noch mal an dieser Stelle! |
Die hier verwendete Installationsmethode ist eine Installation von einem ISO-Image/USB-Stick. Es kommt die einzige verfügbare Variante von ArchLinux in der Version 2020.12.01 zum Einsatz.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.archlinux.de/ |
Herunterladen | https://www.archlinux.de/download |
Dokumentation | https://wiki.archlinux.de/title/Hauptseite |
Installation | https://wiki.archlinux.de/title/Anleitung_für_Einsteiger |
- LVM | https://wiki.archlinux.de/title/LVM https://tldp.org/HOWTO/LVM-HOWTO/ |
- Btrfs | https://wiki.archlinux.org/index.php/btrfs https://btrfs.wiki.kernel.org |
Herunterladen
Die Installationsquellen, sprich die ISO-Datei, kann unter nachfolgend aufgelistetem Link heruntergeladen werden:
Als Beispiel-Quelle kann hier nachfolgender Link dienen:
Zum Herunterladen der DVD in das Zielverzeichnis /tmp
, kann nachfolgender Befehl genutzt werden:
# wget https://www.archlinux.de/download/iso/2020.12.01/archlinux-2020.12.01-x86_64.iso -P /tmp
USB-Stick erstellen
Das ISO-Image kann mit nachfolgendem Befehl auf einen USB-Stick - hier /dev/sdb
als startbereite Abbilddatei (bootable image) erstellt werden:
# dd bs=4M if=/tmp/archlinux-2020.12.01-x86_64.iso of=/dev/sdb && sync
Start: ISO-Image
Nach dem Einschalten des Servers, kann mit der Installation begonnen werden, in dem ein Start von dem sich auf dem USB-Stick befindlichen ArchLinux-ISO-Image in der Version 2020.12.01, durchgeführt wird.
BOOT
Falls dies erfolgreich realisiert werden konnte, sollte in etwa nachfolgender Bildschirm erscheinen:
Durch drücken der [Eingabe|Return]-Taste auf dem Menüpunkt Boot Arch Linux (x86_64) wird ein initialer Start durchgeführt. Nach erfolgreichem Start des „Live“-Images, sollte nachfolgender Bildschirm erscheinen.
HINWEIS - Eine Anmeldung als Benutzer root
ist bereits erfolgt!
Vorbereitungen
Um die folgenden Installationsschritte durchführen zu können, werden nachfolgende Gegebenheiten vorausgesetzt.
- Es muss eine Anbindung an das Internet vorhanden bzw. konfigurierbar sein.
Tastaturlayout: deutsch
ACHTUNG - Nach dem starten des ISO-Images wird ein US/Englisches-Tastaturlayout verwendet!
Damit alle nachfolgenden Eingaben unter Verwendung eines deutschen Tastaturlayouts durchgeführt werden können, ist nachfolgender Befehl auszuführen:
root@archiso ~ # loadkeys de-latin1-nodeadkeys
*¹ Der Buchstabe [y]
befindet sich auf der englischen Tastatur auf der Taste [z]
.
*² Das Zeichen [-]
befindet sich auf der englischen Tastatur auf der Taste [ß]
.
HINWEIS - Anschließend sollte ein deutsches Tastaturlayout geladen sein!
Passwort: root
Damit später nachfolgende Konfigurationen durchgeführt werden können, soll eine Verbindung via SSH hergestellt werden.
Dazu ist es erforderlich, das für der Benutzer root
im „Live“-System ein Passwort gesetzt ist, was mit nachfolgendem Befehl erreicht werden kann:
root@archiso ~ # passwd New password Retype new password: passwd: password updated successfully
Das Passwort ist in der shell
hinter New password:
einzugeben und mit der [Return/Enter]-Taste zu bestätigen. Anschließend ist in der shell
hinter Retype new password:
das gleiche Passwort erneut einzugeben und ebenfalls mit der [Return/Enter]-Taste zu bestätigen.
Netzwerkkarte: manuelle Konfiguration
Nachfolgende Befehle sollen eine Verbindung mit einem bestehenden Netzwerk mit Internet-Zugang herstellen.
Zuerst sollte die Bezeichnung der Netzwerkkarte mit nachfolgendem Befehl ermittelt werden:
root@archiso ~ # ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff inet6 fe80::baa6:bfbf:5fbd:1f6c/64 scope link valid_lft forever preferred_lft forever
Die Bezeichnung der Netzwerkkarte in oben gezeigtem Beispiel lautet aktuell: ens3. In der gleichen Zeile ist auch zu sehen, dass die Karte bereits den Status UP
hat, also aktiv und nutzbar ist.
HINWEIS - Falls die Netzwerkkarte nicht UP
und damit aktiv und nutzbar sein sollte, kann mit nachfolgendem Befehl, die Karte mit der Bezeichnung ens3
aktiviert, sprich in den Status UP
versetzt werden:
root@archiso ~ # ip link set up dev ens3
Die Zuweisung einer IPv4-Netzwerkadresse kann mit nachfolgendem Befehl durchgeführt werden:
root@archiso ~ # ip addr add 192.168.1.250/24 dev ens3
Ein Überprüfung, ob die IPv4-Netzwerkadresse für die Netzwerkkarte mit der Bezeichnung ens3
gesetzt wurde, kann mit nachfolgendem Befehl erfolgen:
root@archiso ~ # ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff inet 192.168.1.250/24 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::baa6:bfbf:5fbd:1f6c/64 scope link valid_lft forever preferred_lft forever
Damit nun eine Verbindung nicht nur in das bereits aktuelle erreichbare Netzwerk möglich ist, sondern auch eine Standardroute - default
-Route den Weg in Richtung Internet finden kann, ist die Konfiguration einer default
-Route erforderlich, was mit nachfolgendem Befehl durchgeführt werden kann:
root@archiso ~ # ip route add default via 192.168.1.10
Eine Überprüfung mit nachfolgendem Befehl zeigt nun die aktuellen Routen, inklusive der default
-Route an, welche auch in das Internet führen sollte:
root@archiso ~ # ip ro default via 192.168.1.10 dev ens3 192.168.1.0/24 dev ens3 proto kernel scope link src 192.168.1.250
Ob die Verbindung zum Internet hergestellt wurde, kann mit nachfolgendem Test durch den nachfolgenden Befehl durchgeführt werden. Drei ping
in Richtung eines Namensservers (DNS) von Google mit der IP-Adresse: 8.8.8.8
, sollten nun möglich sein und eine Rückmeldung wie nachfolgende zurück liefern:
root@archiso ~ # ping -c3 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8 icmp_seq=1 ttl=57 time=82.4 ms 64 bytes from 8.8.8.8 icmp_seq=2 ttl=57 time=95.3 ms 64 bytes from 8.8.8.8 icmp_seq=3 ttl=57 time=113 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 82.381/97.030/113.418/12.730 ms
Namensauflösung: /etc/resolv.conf
Damit nicht nur der Netzwerk technische Zugriff auf das Internet möglich ist, sondern auch eine Namensauflösung wie z.B. Google zu einer IP-Adresse möglich ist, ist es erforderlich, dass ein Namensserver konfiguriert wird, welche im Netzwerk oder aus dem Netzwerk erreichbar ist. Dies kann durch Ausführen des nachfolgenden Befehls durchgeführt werden:
root@archiso ~ # echo 'nameserver 192.168.1.20' >> /etc/resolv.conf
HINWEIS - Falls kein eigener Namensserver zur Verfügung stehen sollte, wäre auch extern erreichbare Nameserverer, wie die von Google eine ggf. kurzfristige Option, was durch Ausführung von nachfolgenden Befehlen ermöglicht werden könnte:
root@archiso ~ # echo 'nameserver 8.8.8.8' >> /etc/resolv.conf root@archiso ~ # echo 'nameserver 8.8.4.4' >> /etc/resolv.conf
Mit nachfolgendem Befehl kann überprüft werden, ob die Ergänzung der Konfigurationsdatei /etc/resolv.conf
erfolgreich waren:
root@archiso ~ # cat /etc/resolv.conf # Resolver configuration file. # See resolv.conf(5) for details. nameserver 192.168.1.20
Ob die Namensauflösung Richtung Internet hergestellt wurde, kann mit nachfolgendem Test durch den nachfolgenden Befehl durchgeführt werden. Drei ping
in Richtung von Google, sollten nun möglich sein und eine Rückmeldung wie nachfolgende zurück liefern:
root@archiso ~ # ping -c3 google.de PING google.de (172.217.23.35) 56(84) bytes of data. 64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=23.5 ms 64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=25.0 ms 64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=22.9 ms --- google.de ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2619ms rtt min/avg/max/mdev = 22.853/23.799/25.031/0.911 ms
SSH-Dienst: starten
Damit eine Verbindung zum Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden kann, muss der bereits entsprechend vorkonfigurierte SSH-Dienst/Daemon mit nachfolgendem Befehl gestartet werden:
root@archiso ~ # systemctl start sshd.service
Eine Überprüfung ob der SSH-Dienst/Daemon auch ordnungsgemäß gestartet wurde, kann durch ausführen des nachfolgenden Befehls durchgeführt werden und sollte eine Ausgabe in etwa wie nachfolgende zur Folge haben:
root@archiso ~ # systemctl status sshd.service ● sshd.service - OpenSSH Daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2020-12-06 11:29:44 UTC; 8s ago Main PID: 771 (sshd) Tasks: 1 (limit: 2312) Memory: 1.7M CGroup: /system.slice/sshd.service └─771 /usr/bin/sshd -D [listener] 0 of 10-100 startups Dec 06 11:29:44 archiso systemd[1]: Started OpenSSH Daemon. Dec 06 11:29:44 archiso sshd[771]: Server listening on 0.0.0.0 port 22. Dec 06 11:29:44 archiso sshd[771]: Server listening on :: port 22.
Verbindung: SSH-Login (root)
Jetzt kann eine erste Verbindung als Benutzer root
via SSH-Login auf dem Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden. Nachfolgender Befehl soll dazu auf einer lokalen Workstation, nicht auf dem Server verwendet werden:
$ ssh root@192.168.1.250 The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established. ECDSA key fingerprint is SHA256:M8nv7zC5tzec/BYzFZs7est7XGM6vgKrlQ4BcS+0GP0. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.1.250' (ECDSA) to the list of known hosts. root@192.168.1.250's password: To install Arch Linux follow the installation guide: https://wiki.archlinux.org/index.php/Installation_guide For Wi-Fi, authenticate to the wireless network using the iwctl utility. Ethernet and Wi-Fi connections using DHCP should work automatically. After connecting to the internet, the installation guide can be accessed via the convenience script Installation_guide. Last login: Sun Dec 6 11:09:11 2020 root@archiso ~ #
Partitionierung: fdisk
Damit nun nach dem Start des sich auf dem USB-Stick befindlichen ArchLinux-ISO-Image in der Version 2020.12.01 aus dem „Live“-ISO-Image eine permanente Installation wird, ist zuerst die Partitionierung der Festplatte durchzuführen.
HINWEIS - Es gibt keinen Installationsmanager wie bei anderen Distributionen, der dies Konfiguration-Menü gestützt durchführt!
Nachfolgend soll eine Partitionierung der Festplatte unter Einsatz eines LVM eingerichtet werden. Die Partitionierung soll hier beispielhaft mit nachfolgender Festplattenaufteilung durchgeführt werden
Phyische Festplatte/LVM | Größe | Mount-Point | Dateisystem |
---|---|---|---|
/dev/vda |
|||
/dev/vda1 |
|||
/dev/mapper/archlinux-swap | 1 GB | [SWAP] | swap |
/dev/mapper/archlinux-tmp | 1 GB | /tmp | btrfs |
/dev/mapper/archlinux-home | 1 GB | /home | btrfs |
/dev/mapper/archlinux-var_log | 3 GB | /var/log | btrfs |
/dev/mapper/archlinux-var_pkg | 12 GB | /var/cache/pacman/pkg | btrfs |
/dev/mapper/archlinux-root | 30 GB | / | btrfs |
- subvolume | /srv | btrfs | |
- subvolume | /opt | btrfs | |
- subvolume | /usr/local | btrfs | |
- subvolume | /.snapshots | btrfs | |
- mount-point | /boot | ||
- mount-point | /btrfs | ||
SUMME | 48 GB |
Damit die noch unformatiert Festplatte partitioniert werden kann, soll dies mit Unterstützung des Befehl fdisk
durchgeführt werden.
Nachfolgender Befehl listet die aktuelle, noch leere Festplattenkapazitäten auf:
root@archiso ~ # fdisk -l | grep -i 'Disk /dev/vd' Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors
Schritt 1: fdisk Interaktiver-Modus
ACHTUNG - Die Befehle bitte mit großer Sorgfalt ausführen, da sonst Beschädigungen am Dateisystem entstehen !!!
ACHTUNG - Bitte darauf achten, nicht versehentlich eine andere Festplatte zu formatieren !!!
Mit nachfolgenden Befehlen, wird die Festplatte /dev/vda in Bearbeitung genommen, um diese dann zu partitionieren:
ACHTUNG -Hier ist dies /dev/vda
, bitte ggf. an Ihre Umgebung und Bedürfnisse anpassen !!!
root@archiso ~ # fdisk /dev/vda Welcome to fdisk (util-linux 2.36.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x8b05dfcd. Command (m for help):
Schritt 2: Eine einzige Partition anlegen
Durch nachfolgende Befehle wird eine
- neue „primäre“ Partition
- mit der Nummer 1
- in der Größe der gesammten Festplatte angelegt:
Nachfolgende Tasten sind wie folgt zu drücken:
n
p
1
[Enter/Return]-Taste = Bestätigung für „First sector …“
[Enter/Return]-Taste = Bestätigung für „Last sector …“
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-104857599, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857599, default 104857599): Created a new partition 1 of type 'Linux' and of size 50 GiB. Command (m for help):
Schritt 3: Typ der einzigen Partition ändern
Anschließend muss der Partitionstyp bei der einzigen Partition auf Linux LVM mit nachfolgenden Befehlen angepasst werden:
t
Hex code or alias (type L to list all): 8e
[Enter/Return]
-Taste
Command (m for help): t Selected partition 1 Hex code or alias (type L to list all): 8e Changed type of partition 'Linux' to 'Linux LVM'. Command (m for help):
Abschließend kann durch drücken der Taste p
die neue Partitionierung aufgelistet werden, was eine Ausgabe wie nachfolgende zur Anzeige bringen sollte:
Command (m for help): p Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x2a781ab0 Device Boot Start End Sectors Size Id Type /dev/vda1 2048 104857599 104855552 50G 8e Linux LVM Command (m for help):
Schritt 4: Partitionstabelle schreiben
Anschließend ist nun die Taste
w
zu drücken, um die Änderung auch tatsächlich in die Partitionstabelle der Festplatte zu schreiben:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. root@archiso ~ #
LVM
Nachfolgend sollen nun die einzelnen Mount-Points auf den zuvor angelegten Partitionen erstellt und formatiert werden.
Schritt 1: Physische Volume anlegen
Anlegen eines physischen Volume zur Nutzung durch ein LVM mit nachfolgendem Befehl:
root@archiso ~ # pvcreate /dev/vda1 Physical volume "/dev/vda1" successfully created. root@archiso ~ #
Schritt 2: Volume Gruppe anlegen
Anlegen einer Volume Gruppe mit dem Namen archlinux
zur Nutzung durch ein LVM mit nachfolgendem Befehl:
root@archiso ~ # vgcreate archlinux /dev/vda1 Volume group "archlinux" successfully created root@archiso ~ #
Schritt 3: Logische Volumes anlegen
Nachfolgende Befehle legen die logischen Volumes
/dev/mapper/archlinux-swap
/dev/mapper/archlinux-tmp
/dev/mapper/archlinux-home
/dev/mapper/archlinux-var_log
/dev/mapper/archlinux-var_pkg
/dev/mapper/archlinux-root
an:
/dev/mapper/archlinux-swap
root@archiso ~ # lvcreate --name swap -L1024M archlinux Logical volume "swap" created. root@archiso ~ #
/dev/mapper/archlinux-tmp
root@archiso ~ # lvcreate --name tmp -L1024M archlinux Logical volume "tmp" created. root@archiso ~ #
/dev/mapper/archlinux-home
root@archiso ~ # lvcreate --name home -L1024M archlinux Logical volume "home" created. root@archiso ~ #
/dev/mapper/archlinux-var_log
root@archiso ~ # lvcreate --name var_log -L3072M archlinux Logical volume "var_log" created. root@archiso ~ #
/dev/mapper/archlinux-var_pkg
root@archiso ~ # lvcreate --name var_pkg -L12288M archlinux Logical volume "var_pkg" created. root@archiso ~ #
/dev/mapper/archlinux-root
root@archiso ~ # lvcreate --name root -L30720M archlinux Logical volume "root" created. root@archiso ~ #
Mit nachfolgendem Befehl kann überprüft werden, ob die Neuanlagen erfolgreich durchführt wurden:
root@archiso ~ # lsblk /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 254:0 0 50G 0 disk └─vda1 254:1 0 50G 0 part ├─archlinux-swap 252:0 0 1G 0 lvm ├─archlinux-tmp 252:1 0 1G 0 lvm ├─archlinux-home 252:2 0 1G 0 lvm ├─archlinux-var_log 252:3 0 3G 0 lvm ├─archlinux-var_pkg 252:4 0 12G 0 lvm └─archlinux-root 252:5 0 30G 0 lvm root@archiso ~ #
Dateisysteme formatieren
Nachfolgende Befehle formatieren die zuvor erstellen Partitionen
/dev/mapper/archlinux-swap
/dev/mapper/archlinux-tmp
/dev/mapper/archlinux-home
/dev/mapper/archlinux-var_log
/dev/mapper/archlinux-var_pkg
/dev/mapper/archlinux-root
mit einem Dateisystem, je nach Partitionstyp:
/dev/mapper/archlinux-swap
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-swap
mit dem swap
-Dateisystem und einem „Label“: SWAP
root@archiso ~ # mkswap -L SWAP /dev/mapper/archlinux-swap Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) LABEL=SWAP, UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8 root@archiso ~ #
/dev/mapper/archlinux-tmp
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-tmp
mit dem btrfs
-Dateisystem und einem „Label“: TMP
root@archiso ~ # mkfs.btrfs -L TMP /dev/mapper/archlinux-tmp btrfs-progs v5.9 See http://btrfs.wiki.kernel.org for more information. Label: TMP UUID: 9c21c98c-57ea-4b0d-9064-4584393cc97f Node size: 16384 Sector size: 4096 Filesystem size: 1.00GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 51.19MiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Runtime features: Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 1.00GiB /dev/mapper/archlinux-tmp root@archiso ~ #
/dev/mapper/archlinux-home
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-home
mit dem btrfs
-Dateisystem und einem „Label“: HOME
root@archiso ~ # mkfs.btrfs -L HOME /dev/mapper/archlinux-home btrfs-progs v5.9 See http://btrfs.wiki.kernel.org for more information. Label: HOME UUID: 85d0ca9b-def5-4478-9f75-ce20b121a49d Node size: 16384 Sector size: 4096 Filesystem size: 1.00GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 51.19MiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Runtime features: Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 1.00GiB /dev/mapper/archlinux-home root@archiso ~ #
/dev/mapper/archlinux-var_log
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-var_log
mit dem btrfs
-Dateisystem und einem „Label“: VAR_LOG
root@archiso ~ # mkfs.btrfs -L VAR_LOG /dev/mapper/archlinux-var_log btrfs-progs v5.9 See http://btrfs.wiki.kernel.org for more information. Label: VAR_LOG UUID: 3aca2eca-ab55-4655-a844-cac43f8fea6a Node size: 16384 Sector size: 4096 Filesystem size: 3.00GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 256.00MiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Runtime features: Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 3.00GiB /dev/mapper/archlinux-var_log root@archiso ~ #
/dev/mapper/archlinux-var_pkg
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-var_pkg
mit dem btrfs
-Dateisystem und einem „Label“: VAR_PKG
root@archiso ~ # mkfs.btrfs -L VAR_PKG /dev/mapper/archlinux-var_pkg btrfs-progs v5.9 See http://btrfs.wiki.kernel.org for more information. Label: VAR_PKG UUID: 24b7d52d-ba82-4173-b730-daca60f076e8 Node size: 16384 Sector size: 4096 Filesystem size: 12.00GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 256.00MiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Runtime features: Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 12.00GiB /dev/mapper/archlinux-var_pkg root@archiso ~ #
/dev/mapper/archlinux-root
Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-root
mit dem btrfs
-Dateisystem und einem „Label“: ROOT
root@archiso ~ # mkfs.btrfs -L ROOT /dev/mapper/archlinux-root btrfs-progs v5.9 See http://btrfs.wiki.kernel.org for more information. Label: ROOT UUID: 1c250bce-9e86-4d82-b921-3eca687f8403 Node size: 16384 Sector size: 4096 Filesystem size: 30.00GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 256.00MiB System: DUP 8.00MiB SSD detected: no Incompat features: extref, skinny-metadata Runtime features: Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 30.00GiB /dev/mapper/archlinux-root root@archiso ~ #
Dateisysteme einhängen
Nachfolgend müssen nun alle Partitionen
/dev/mapper/archlinux-swap
/dev/mapper/archlinux-tmp
/dev/mapper/archlinux-home
/dev/mapper/archlinux-var_log
/dev/mapper/archlinux-var_pkg
/dev/mapper/archlinux-root
und die subvolumes
/srv
/opt
/usr/local
/.snapshots
und die zusätzlichen „Mount-Points“
/boot
/btrfs
unter den entsprechenden „Mount-Points“ eingehängt werden:
/dev/mapper/archlinux-root
Bevor nun die einzelnen Btrfs: Partitionen, Subvolumes und Mount-Points erzeugt bzw. eingehängt werden können, muss die Partition: /dev/mapper/archlinux-root
zuerst auf
/mnt
gemountet werden:
root@archiso ~ # mount /dev/mapper/archlinux-root /mnt
Btrfs: subvolumes anlegen
Nachfolgende Befehle erzeugen nun die einzelnen Btrfs: Subvolumes:
/mnt/root
root@archiso ~ # btrfs subvolume create /mnt/@root Create subvolume '/mnt/@root' root@archiso ~ #
/mnt/tmp
root@archiso ~ # btrfs subvolume create /mnt/@tmp Create subvolume '/mnt/@tmp' root@archiso ~ #
/mnt/home
root@archiso ~ # btrfs subvolume create /mnt/@home Create subvolume '/mnt/@home' root@archiso ~ #
/mnt/var_log
root@archiso ~ # btrfs subvolume create /mnt/@var_log Create subvolume '/mnt/@var_log' root@archiso ~ #
/mnt/var_pkg
root@archiso ~ # btrfs subvolume create /mnt/@var_pkg Create subvolume '/mnt/@var_pkg' root@archiso ~ #
/mnt/srv
root@archiso ~ # btrfs subvolume create /mnt/@srv Create subvolume '/mnt/@srv' root@archiso ~ #
/mnt/opt
root@archiso ~ # btrfs subvolume create /mnt/@opt Create subvolume '/mnt/@opt' root@archiso ~ #
/mnt/usr_local
root@archiso ~ # btrfs subvolume create /mnt/@usr_local Create subvolume '/mnt/@usr_local' root@archiso ~ #
/mnt/snapshots
root@archiso ~ # btrfs subvolume create /mnt/@snapshots Create subvolume '/mnt/@snapshots' root@archiso ~ #
umount: /mnt
Als nächstes wird das Verzeichnis /mnt
und damit auch /dev/mapper/archlinux-root
wieder geumountet, damit nun anschließend die einzelnen Btrfs: Subvolumnes und Mount-Points gemountet werden können:
root@archiso ~ # umount /mnt
Btrfs: Subvolume /@root mounten
Nachfolgende Befehle mountet zuerst das ROOT Btrfs: Subvolume:
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=@root /dev/mapper/archlinux-root /mnt
WICHTIG - Bevor alle anderen Subvolumes gemountet werden können, müssen die Verzeichnisse dafür erst unter /mnt
angelegt werden!
Mount-Points erstellen
Nachfolgender Befehl legt die noch benötigten Verzeichnisse an, auf denen die Btrfs: Subvolumes dann gemountet werden können:
root@archiso ~ # mkdir -p /mnt/{tmp,home,var/log,var/cache/pacman/pkg,var,srv,opt,usr/local,boot,btrfs}
HINWEIS - Das Btrfs: Subvolume @snapshots
fehlt hier bewusst!
Btrfs: Subvolumes und Mount-Points mounten
Nachfolgende Befehle mounten die restlichen Btrfs: Subvolume:
/dev/mapper/archlinux-tmp
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-tmp /mnt/tmp
/dev/mapper/archlinux-home
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-home /mnt/home
/dev/mapper/archlinux-var_log
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-var_log /mnt/var/log
/dev/mapper/archlinux-var_pkg
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-var_pkg /mnt/var/cache/pacman/pkg
/mnt/var
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@var /dev/mapper/archlinux-root /mnt/var
/mnt/srv
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@srv /dev/mapper/archlinux-root /mnt/srv
/mnt/opt
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@opt /dev/mapper/archlinux-root /mnt/opt
/mnt/urs/local
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@usr_local /dev/mapper/archlinux-root /mnt/usr/local
/mnt/btrfs
ACHTUNG - Bitte die Angabe subvolid=5
beachten!
root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvolid=5 /dev/mapper/archlinux-root /mnt/btrfs
HINWEIS - /mnt/boot wird nicht auf ein separates Subvolume gemounted, damit bei Kernel-Updates die dazu passende initram
in /@root Subvolume angelegt wird!
swap: SWAP aktivieren
Nachfolgende Befehle aktiviert noch die SWAP Partition:
root@archiso ~ # swapon /dev/mapper/archlinux-swap
Überprüfung: Mount-Punkte
Ob vorhergehende Konfigurationen auch korrekt durchgeführt wurden, kann mit nachfolgenden Befehlen überprüft werden:
root@archiso ~ # mount | grep /mnt /dev/mapper/archlinux-root on /mnt type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=256,subvol=/@root) /dev/mapper/archlinux-tmp on /mnt/tmp type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/) /dev/mapper/archlinux-home on /mnt/home type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/) /dev/mapper/archlinux-var_log on /mnt/var/log type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/) /dev/mapper/archlinux-var_pkg on /mnt/var/cache/pacman/pkg type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/) /dev/mapper/archlinux-root on /mnt/var type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var) /dev/mapper/archlinux-root on /mnt/srv type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv) /dev/mapper/archlinux-root on /mnt/opt type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt) /dev/mapper/archlinux-root on /mnt/usr/local type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local) /dev/mapper/archlinux-root on /mnt/btrfs type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/) root@archiso ~ #
bzw. für die Partitionen
root@archiso ~ # lsblk /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 254:0 0 50G 0 disk └─vda1 254:1 0 50G 0 part ├─archlinux-swap 252:0 0 1G 0 lvm [SWAP] ├─archlinux-tmp 252:1 0 1G 0 lvm /mnt/tmp ├─archlinux-home 252:2 0 1G 0 lvm /mnt/home ├─archlinux-var_log 252:3 0 3G 0 lvm /mnt/var/log ├─archlinux-var_pkg 252:4 0 12G 0 lvm /mnt/var/cache/pacman/pkg └─archlinux-root 252:5 0 30G 0 lvm /mnt/btrfs root@archiso ~ #
Für die Aktivierung der SWAP Partition:
root@archiso ~ # free -h total used free shared buff/cache available Mem: 1.9Gi 93Mi 1.4Gi 154Mi 476Mi 1.6Gi Swap: 1.0Gi 0B 1.0Gi root@archiso ~ #
Installation: Basissystem
/etc/pacman.d/mirrorlist
Bevor die eigentliche Installation des Basissystems erfolgen kann, soll noch eine länderspezifische Auswahl der Installationsquellen getroffen werden, damit die Installation über das Internet möglichst von regionalen Servern, hier aus Deutschland, erfolgen kann.
Dazu ist die Optimierung der Konfigurationsdatei
/etc/pacman.d/mirrorlist
erforderlich.
Um nur die regionalen Server, hier nur aus Deutschland, in der Konfigurationsdatei /etc/pacman.d/mirrorlist
vorzufinden, kann nachfolgender Befehl verwendet werden:
root@archiso ~ # reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
root@archiso ~ # reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist [2020-12-06 14:50:39] INFO: rating https://mirror.f4st.host/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.chaoticum.net/arch/ [2020-12-06 14:50:39] INFO: rating https://ftp.halifax.rwth-aachen.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.pkgbuild.com/ [2020-12-06 14:50:39] INFO: rating https://packages.oth-regensburg.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://phinau.de/arch/ [2020-12-06 14:50:39] INFO: rating https://arch.jensgutermuth.de/ [2020-12-06 14:50:39] INFO: rating https://mirrors.niyawe.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.bethselamin.de/ [2020-12-06 14:50:39] INFO: rating https://archlinux.thaller.ws/ [2020-12-06 14:50:39] INFO: rating https://mirror.satis-faction.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://dist-mirror.fem.tu-ilmenau.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.mikrogravitation.org/archlinux/ [2020-12-06 14:50:39] INFO: rating https://arch.unixpeople.org/ [2020-12-06 14:50:39] INFO: rating https://mirrors.n-ix.net/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.fra10.de.leaseweb.net/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.kumi.systems/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.wtnet.de/arch/ [2020-12-06 14:50:39] INFO: rating https://mirror.23media.com/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.autisten.club/archlinux/ [2020-12-06 14:50:39] INFO: rating https://ftp.fau.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.netcologne.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.checkdomain.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.dogado.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.undisclose.de/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.clientvps.com/archlinux/ [2020-12-06 14:50:39] INFO: rating https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.fsrv.services/archlinux/ [2020-12-06 14:50:39] INFO: rating https://mirror.gnomus.de/ [2020-12-06 14:50:39] INFO: rating https://mirror.metalgamer.eu/archlinux/ [2020-12-06 14:50:39] INFO: rating https://appuals.com/archlinux/ [2020-12-06 14:50:43] INFO: Server Rate Time [2020-12-06 14:50:43] INFO: https://mirror.chaoticum.net/arch/ 3358.69 KiB/s 0.04 s [2020-12-06 14:50:43] INFO: https://mirror.f4st.host/archlinux/ 3373.48 KiB/s 0.04 s [2020-12-06 14:50:43] INFO: https://mirror.pkgbuild.com/ 3935.01 KiB/s 0.03 s [2020-12-06 14:50:43] INFO: https://ftp.halifax.rwth-aachen.de/archlinux/ 2571.28 KiB/s 0.05 s [2020-12-06 14:50:43] INFO: https://packages.oth-regensburg.de/archlinux/ 2087.95 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://phinau.de/arch/ 1339.38 KiB/s 0.10 s [2020-12-06 14:50:43] INFO: https://arch.jensgutermuth.de/ 2069.66 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirrors.niyawe.de/archlinux/ 2034.79 KiB/s 0.07 s [2020-12-06 14:50:43] INFO: https://mirror.bethselamin.de/ 2670.53 KiB/s 0.05 s [2020-12-06 14:50:43] INFO: https://archlinux.thaller.ws/ 2715.91 KiB/s 0.05 s [2020-12-06 14:50:43] INFO: https://mirror.satis-faction.de/archlinux/ 2303.14 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://dist-mirror.fem.tu-ilmenau.de/archlinux/ 1671.73 KiB/s 0.08 s [2020-12-06 14:50:43] INFO: https://mirror.mikrogravitation.org/archlinux/ 2262.13 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://arch.unixpeople.org/ 2241.48 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirrors.n-ix.net/archlinux/ 2427.21 KiB/s 0.05 s [2020-12-06 14:50:43] INFO: https://mirror.fra10.de.leaseweb.net/archlinux/ 1959.41 KiB/s 0.07 s [2020-12-06 14:50:43] INFO: https://mirror.wtnet.de/arch/ 1801.48 KiB/s 0.07 s [2020-12-06 14:50:43] INFO: https://mirror.kumi.systems/archlinux/ 2105.17 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirror.23media.com/archlinux/ 2240.91 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirror.autisten.club/archlinux/ 2064.48 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirror.netcologne.de/archlinux/ 2061.81 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://ftp.fau.de/archlinux/ 1231.62 KiB/s 0.11 s [2020-12-06 14:50:43] INFO: https://mirror.checkdomain.de/archlinux/ 0.00 KiB/s 0.00 s [2020-12-06 14:50:43] INFO: https://mirror.dogado.de/archlinux/ 1540.84 KiB/s 0.09 s [2020-12-06 14:50:43] INFO: https://mirror.undisclose.de/archlinux/ 2679.94 KiB/s 0.05 s [2020-12-06 14:50:43] INFO: https://mirror.clientvps.com/archlinux/ 1667.37 KiB/s 0.08 s [2020-12-06 14:50:43] INFO: https://mirror.fsrv.services/archlinux/ 2199.30 KiB/s 0.06 s [2020-12-06 14:50:43] INFO: https://mirror.gnomus.de/ 1652.73 KiB/s 0.08 s [2020-12-06 14:50:43] INFO: https://mirror.metalgamer.eu/archlinux/ 1733.98 KiB/s 0.08 s [2020-12-06 14:50:43] INFO: https://appuals.com/archlinux/ 2292.48 KiB/s 0.06 s root@archiso ~ #
Der so generierte Inhalt der Konfigurationsdatei /etc/pacman.d/mirrorlist
kann zur Kontrolle mit nachfolgendem Befehl ausgegeben werden:
root@archiso ~ # cat /etc/pacman.d/mirrorlist
root@archiso ~ # cat /etc/pacman.d/mirrorlist ################################################################################ ################# Arch Linux mirrorlist generated by Reflector ################# ################################################################################ # With: reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist # When: 2020-12-06 14:50:43 UTC # From: https://www.archlinux.org/mirrors/status/json/ # Retrieved: 2020-12-06 14:50:39 UTC # Last Check: 2020-12-06 14:47:04 UTC Server = https://mirror.pkgbuild.com/$repo/os/$arch Server = https://mirror.f4st.host/archlinux/$repo/os/$arch Server = https://mirror.chaoticum.net/arch/$repo/os/$arch Server = https://archlinux.thaller.ws/$repo/os/$arch Server = https://mirror.undisclose.de/archlinux/$repo/os/$arch Server = https://mirror.bethselamin.de/$repo/os/$arch Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch Server = https://mirror.satis-faction.de/archlinux/$repo/os/$arch Server = https://appuals.com/archlinux/$repo/os/$arch Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch Server = https://arch.unixpeople.org/$repo/os/$arch Server = https://mirror.23media.com/archlinux/$repo/os/$arch Server = https://mirror.fsrv.services/archlinux/$repo/os/$arch Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch Server = https://arch.jensgutermuth.de/$repo/os/$arch Server = https://mirror.autisten.club/archlinux/$repo/os/$arch Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch Server = https://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch Server = https://mirror.wtnet.de/arch/$repo/os/$arch Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch Server = https://mirror.clientvps.com/archlinux/$repo/os/$arch Server = https://mirror.gnomus.de/$repo/os/$arch Server = https://mirror.dogado.de/archlinux/$repo/os/$arch Server = https://phinau.de/arch/$repo/os/$arch Server = https://ftp.fau.de/archlinux/$repo/os/$arch Server = https://mirror.checkdomain.de/archlinux/$repo/os/$arch
Basissystem: /mnt
Der folgende Befehl führt nun die Installation von ArchLinux auf den zuvor eingerichteten Festplatten bzw. Partitionen aus.
root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass vi vim btrfs-progs
WICHTIG - Das Paket btrfs-progs
ist hier wichtig!
root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass vi vim btrfs-progs ==> Creating install root at /mnt ==> Installing packages to /mnt :: Synchronizing package databases... core 132.8 KiB 2.45 MiB/s 00:00 [######################] 100% extra 1637.2 KiB 12.7 MiB/s 00:00 [######################] 100% community 5.2 MiB 13.4 MiB/s 00:00 [######################] 100% :: There are 24 members in group base-devel: :: Repository core 1) autoconf 2) automake 3) binutils 4) bison 5) fakeroot 6) file 7) findutils 8) flex 9) gawk 10) gcc 11) gettext 12) grep 13) groff 14) gzip 15) libtool 16) m4 17) make 18) pacman 19) patch 20) pkgconf 21) sed 22) sudo 23) texinfo 24) which Enter a selection (default=all): resolving dependencies... :: There are 2 providers available for initramfs: :: Repository core 1) mkinitcpio :: Repository extra 2) dracut Enter a number (default=1): looking for conflicting packages... Packages (151) acl-2.2.53-3 archlinux-keyring-20201028-1 argon2-20190702-3 attr-2.4.48-3 audit-2.8.5-9 bash-5.0.018-2 bzip2-1.0.8-4 ca-certificates-20181109-4 ca-certificates-mozilla-3.59-1 ca-certificates-utils-20181109-4 coreutils-8.32-1 cryptsetup-2.3.4-1 curl-7.73.0-1 db-5.3.28-5 dbus-1.12.20-1 device-mapper-2.02.187-3 diffutils-3.7-3 dnssec-anchors-20190629-3 e2fsprogs-1.45.6-3 elfutils-0.181-1 expat-2.2.10-2 filesystem-2020.09.03-1 gc-8.0.4-4 gcc-libs-10.2.0-4 gdbm-1.18.1-3 glib2-2.66.3-1 glibc-2.32-5 gmp-6.2.0-1 gnupg-2.2.24-1 gnutls-3.7.0-1 gpgme-1.15.0-2 gpm-1.20.7.r38.ge82d1a6-3 guile-2.2.6-2 hwids-20200813.1-1 iana-etc-20201012-1 icu-67.1-1 iproute2-5.9.0-1 iptables-1:1.8.6-1 iputils-20200821-1 json-c-0.15-1 kbd-2.3.0-2 keyutils-1.6.3-1 kmod-27-2 krb5-1.18.2-1 ldns-1.7.1-2 less-563-1 libaio-0.3.112-2 libarchive-3.5.0-1 libassuan-2.5.4-1 libcap-2.45-2 libcap-ng-0.8-1 libcroco-0.6.13-2 libedit-20191231_3.1-2 libelf-0.181-1 libffi-3.3-4 libgcrypt-1.8.7-1 libgpg-error-1.39-1 libidn2-2.3.0-1 libksba-1.4.0-2 libldap-2.4.56-1 libmicrohttpd-0.9.71-1 libmnl-1.0.4-3 libmpc-1.1.0-2 libnetfilter_conntrack-1.0.8-1 libnfnetlink-1.0.1-4 libnftnl-1.1.8-1 libnghttp2-1.41.0-1 libnl-3.5.0-2 libp11-kit-0.23.21-1 libpcap-1.9.1-4 libpsl-0.21.1-1 libsasl-2.1.27-3 libseccomp-2.5.1-2 libsecret-0.20.4-1 libssh2-1.9.0-2 libtasn1-4.16.0-1 libtirpc-1.3.1-1 libunistring-0.9.10-3 libxcrypt-4.4.17-1 libxml2-2.9.10-7 licenses-20200427-1 linux-api-headers-5.8-1 lz4-1:1.9.2-2 lzo-2.10-3 mkinitcpio-29-1 mkinitcpio-busybox-1.31.1-2 mpfr-4.1.0-1 ncurses-6.2-1 nettle-3.6-1 npth-1.6-2 openssl-1.1.1.h-1 p11-kit-0.23.21-1 pacman-mirrorlist-20201205-1 pam-1.5.0-1 pambase-20200721.1-2 pciutils-3.7.0-1 pcre-8.44-1 pcre2-10.35-1 perl-5.32.0-3 pinentry-1.1.0-5 popt-1.18-1 procps-ng-3.3.16-2 psmisc-23.3-2 readline-8.0.004-1 shadow-4.8.1-4 sqlite-3.34.0-1 systemd-247.1-1 systemd-libs-247.1-1 systemd-sysvcompat-247.1-1 tar-1.32-3 thin-provisioning-tools-0.9.0-1 tzdata-2020d-1 util-linux-2.36.1-4 util-linux-libs-2.36.1-4 vim-runtime-8.2.1989-3 xz-5.2.5-1 zlib-1:1.2.11-4 zstd-1.4.5-1 autoconf-2.69-7 automake-1.16.2-3 base-2-2 binutils-2.35.1-1 bison-3.7.2-1 btrfs-progs-5.9-3 fakeroot-1.25.3-1 file-5.39-1 findutils-4.7.0-2 flex-2.6.4-3 gawk-5.1.0-1 gcc-10.2.0-4 gettext-0.21-1 grep-3.6-1 groff-1.22.4-3 gzip-1.10-3 libtool-2.4.6+42+gb88cebd5-14 linux-firmware-20201120.bc9cd0b-1 linux-lts-5.4.81-1 lvm2-2.02.187-3 m4-1.4.18-3 make-4.3-3 openssh-8.4p1-2 pacman-5.2.2-1 patch-2.7.6-8 pkgconf-1.7.3-1 sed-4.8-1 sshpass-1.06-3 sudo-1.9.4-1 texinfo-6.7-3 vi-1:070224-4 vim-8.2.1989-3 which-2.21-5 Total Download Size: 398.58 MiB Total Installed Size: 1539.80 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... iana-etc-2020101... 388.7 KiB 14.6 MiB/s 00:00 [######################] 100% filesystem-2020.... 30.4 KiB 0.00 B/s 00:00 [######################] 100% linux-api-header... 1082.6 KiB 13.7 MiB/s 00:00 [######################] 100% tzdata-2020d-1-x... 384.8 KiB 12.5 MiB/s 00:00 [######################] 100% glibc-2.32-5-x86_64 9.8 MiB 13.3 MiB/s 00:01 [######################] 100% gcc-libs-10.2.0-... 31.5 MiB 13.3 MiB/s 00:02 [######################] 100% ncurses-6.2-1-x86_64 1141.2 KiB 13.3 MiB/s 00:00 [######################] 100% readline-8.0.004... 309.7 KiB 15.1 MiB/s 00:00 [######################] 100% bash-5.0.018-2-x... 1655.0 KiB 13.5 MiB/s 00:00 [######################] 100% attr-2.4.48-3-x86_64 69.0 KiB 16.8 MiB/s 00:00 [######################] 100% acl-2.2.53-3-x86_64 136.6 KiB 13.3 MiB/s 00:00 [######################] 100% gmp-6.2.0-1-x86_64 439.6 KiB 14.3 MiB/s 00:00 [######################] 100% util-linux-libs-... 414.2 KiB 15.0 MiB/s 00:00 [######################] 100% e2fsprogs-1.45.6... 1194.7 KiB 13.6 MiB/s 00:00 [######################] 100% gdbm-1.18.1-3-x86_64 160.4 KiB 15.7 MiB/s 00:00 [######################] 100% db-5.3.28-5-x86_64 1098.0 KiB 13.4 MiB/s 00:00 [######################] 100% libxcrypt-4.4.17... 89.7 KiB 29.2 MiB/s 00:00 [######################] 100% perl-5.32.0-3-x86_64 15.2 MiB 13.3 MiB/s 00:01 [######################] 100% openssl-1.1.1.h-... 3.6 MiB 13.3 MiB/s 00:00 [######################] 100% libsasl-2.1.27-3... 146.1 KiB 20.4 MiB/s 00:00 [######################] 100% libldap-2.4.56-1... 304.5 KiB 12.4 MiB/s 00:00 [######################] 100% keyutils-1.6.3-1... 102.1 KiB 16.6 MiB/s 00:00 [######################] 100% krb5-1.18.2-1-x86_64 1332.1 KiB 13.0 MiB/s 00:00 [######################] 100% libtirpc-1.3.1-1... 176.9 KiB 17.3 MiB/s 00:00 [######################] 100% pambase-20200721... 3.0 KiB 0.00 B/s 00:00 [######################] 100% libcap-ng-0.8-1-... 39.8 KiB 0.00 B/s 00:00 [######################] 100% audit-2.8.5-9-x86_64 362.3 KiB 15.4 MiB/s 00:00 [######################] 100% pam-1.5.0-1-x86_64 567.7 KiB 13.9 MiB/s 00:00 [######################] 100% libcap-2.45-2-x86_64 59.7 KiB 0.00 B/s 00:00 [######################] 100% coreutils-8.32-1... 2.7 MiB 13.4 MiB/s 00:00 [######################] 100% zlib-1:1.2.11-4-... 81.5 KiB 26.5 MiB/s 00:00 [######################] 100% xz-5.2.5-1-x86_64 300.9 KiB 17.3 MiB/s 00:00 [######################] 100% bzip2-1.0.8-4-x86_64 57.2 KiB 0.00 B/s 00:00 [######################] 100% libseccomp-2.5.1... 90.2 KiB 22.0 MiB/s 00:00 [######################] 100% file-5.39-1-x86_64 330.7 KiB 16.1 MiB/s 00:00 [######################] 100% findutils-4.7.0-... 454.6 KiB 12.0 MiB/s 00:00 [######################] 100% mpfr-4.1.0-1-x86_64 1485.7 KiB 13.7 MiB/s 00:00 [######################] 100% gawk-5.1.0-1-x86_64 1139.2 KiB 13.9 MiB/s 00:00 [######################] 100% pcre-8.44-1-x86_64 969.0 KiB 13.5 MiB/s 00:00 [######################] 100% grep-3.6-1-x86_64 211.9 KiB 12.2 MiB/s 00:00 [######################] 100% libgpg-error-1.3... 231.5 KiB 13.3 MiB/s 00:00 [######################] 100% libgcrypt-1.8.7-... 530.9 KiB 13.0 MiB/s 00:00 [######################] 100% lz4-1:1.9.2-2-x86_64 109.4 KiB 35.6 MiB/s 00:00 [######################] 100% zstd-1.4.5-1-x86_64 655.5 KiB 14.5 MiB/s 00:00 [######################] 100% systemd-libs-247... 499.9 KiB 13.2 MiB/s 00:00 [######################] 100% procps-ng-3.3.16... 374.0 KiB 13.5 MiB/s 00:00 [######################] 100% sed-4.8-1-x86_64 237.9 KiB 13.7 MiB/s 00:00 [######################] 100% tar-1.32-3-x86_64 742.3 KiB 14.5 MiB/s 00:00 [######################] 100% libffi-3.3-4-x86_64 44.0 KiB 0.00 B/s 00:00 [######################] 100% glib2-2.66.3-1-x... 2.8 MiB 13.3 MiB/s 00:00 [######################] 100% libunistring-0.9... 634.1 KiB 13.5 MiB/s 00:00 [######################] 100% icu-67.1-1-x86_64 10.4 MiB 13.3 MiB/s 00:01 [######################] 100% gettext-0.21-1-x... 2.1 MiB 13.5 MiB/s 00:00 [######################] 100% hwids-20200813.1... 455.7 KiB 14.8 MiB/s 00:00 [######################] 100% kmod-27-2-x86_64 104.6 KiB 17.0 MiB/s 00:00 [######################] 100% pciutils-3.7.0-1... 99.6 KiB 16.2 MiB/s 00:00 [######################] 100% psmisc-23.3-2-x86_64 110.1 KiB 10.8 MiB/s 00:00 [######################] 100% shadow-4.8.1-4-x... 1194.2 KiB 13.4 MiB/s 00:00 [######################] 100% util-linux-2.36.... 2.5 MiB 13.5 MiB/s 00:00 [######################] 100% less-563-1-x86_64 109.7 KiB 35.7 MiB/s 00:00 [######################] 100% gzip-1.10-3-x86_64 77.8 KiB 25.3 MiB/s 00:00 [######################] 100% licenses-2020042... 69.6 KiB 17.0 MiB/s 00:00 [######################] 100% expat-2.2.10-2-x... 107.8 KiB 17.5 MiB/s 00:00 [######################] 100% libarchive-3.5.0... 507.3 KiB 13.4 MiB/s 00:00 [######################] 100% libtasn1-4.16.0-... 121.3 KiB 16.9 MiB/s 00:00 [######################] 100% libp11-kit-0.23.... 494.9 KiB 14.6 MiB/s 00:00 [######################] 100% p11-kit-0.23.21-... 140.4 KiB 13.7 MiB/s 00:00 [######################] 100% ca-certificates-... 8.0 KiB 0.00 B/s 00:00 [######################] 100% ca-certificates-... 330.3 KiB 14.0 MiB/s 00:00 [######################] 100% ca-certificates-... 2013.0 B 0.00 B/s 00:00 [######################] 100% libssh2-1.9.0-2-... 205.8 KiB 15.5 MiB/s 00:00 [######################] 100% libidn2-2.3.0-1-... 115.9 KiB 11.3 MiB/s 00:00 [######################] 100% libpsl-0.21.1-1-... 79.6 KiB 19.4 MiB/s 00:00 [######################] 100% libnghttp2-1.41.... 97.6 KiB 13.6 MiB/s 00:00 [######################] 100% curl-7.73.0-1-x86_64 1056.4 KiB 11.5 MiB/s 00:00 [######################] 100% npth-1.6-2-x86_64 12.8 KiB 0.00 B/s 00:00 [######################] 100% libksba-1.4.0-2-... 135.3 KiB 13.2 MiB/s 00:00 [######################] 100% libassuan-2.5.4-... 87.4 KiB 8.54 MiB/s 00:00 [######################] 100% libsecret-0.20.4... 238.6 KiB 13.7 MiB/s 00:00 [######################] 100% pinentry-1.1.0-5... 101.6 KiB 24.8 MiB/s 00:00 [######################] 100% nettle-3.6-1-x86_64 405.2 KiB 14.7 MiB/s 00:00 [######################] 100% gnutls-3.7.0-1-x... 2.9 MiB 13.3 MiB/s 00:00 [######################] 100% sqlite-3.34.0-1-... 1727.4 KiB 13.7 MiB/s 00:00 [######################] 100% gnupg-2.2.24-1-x... 2.4 MiB 13.3 MiB/s 00:00 [######################] 100% gpgme-1.15.0-2-x... 448.8 KiB 14.6 MiB/s 00:00 [######################] 100% pacman-mirrorlis... 6.4 KiB 0.00 B/s 00:00 [######################] 100% archlinux-keyrin... 941.3 KiB 12.6 MiB/s 00:00 [######################] 100% pacman-5.2.2-1-x... 838.6 KiB 13.6 MiB/s 00:00 [######################] 100% device-mapper-2.... 292.3 KiB 16.8 MiB/s 00:00 [######################] 100% popt-1.18-1-x86_64 67.7 KiB 22.0 MiB/s 00:00 [######################] 100% json-c-0.15-1-x86_64 53.9 KiB 0.00 B/s 00:00 [######################] 100% argon2-20190702-... 33.1 KiB 0.00 B/s 00:00 [######################] 100% cryptsetup-2.3.4... 568.3 KiB 13.9 MiB/s 00:00 [######################] 100% dbus-1.12.20-1-x... 315.3 KiB 15.4 MiB/s 00:00 [######################] 100% libmnl-1.0.4-3-x... 10.4 KiB 0.00 B/s 00:00 [######################] 100% libnftnl-1.1.8-1... 70.6 KiB 17.2 MiB/s 00:00 [######################] 100% libnl-3.5.0-2-x86_64 364.7 KiB 11.9 MiB/s 00:00 [######################] 100% libpcap-1.9.1-4-... 274.6 KiB 13.4 MiB/s 00:00 [######################] 100% libnfnetlink-1.0... 17.4 KiB 0.00 B/s 00:00 [######################] 100% libnetfilter_con... 49.4 KiB 0.00 B/s 00:00 [######################] 100% iptables-1:1.8.6... 432.2 KiB 14.1 MiB/s 00:00 [######################] 100% kbd-2.3.0-2-x86_64 1184.7 KiB 13.3 MiB/s 00:00 [######################] 100% libelf-0.181-1-x... 451.8 KiB 13.4 MiB/s 00:00 [######################] 100% pcre2-10.35-1-x86_64 1108.2 KiB 13.5 MiB/s 00:00 [######################] 100% systemd-247.1-1-... 6.1 MiB 13.3 MiB/s 00:00 [######################] 100% systemd-sysvcomp... 5.7 KiB 0.00 B/s 00:00 [######################] 100% iputils-20200821... 123.7 KiB 20.1 MiB/s 00:00 [######################] 100% iproute2-5.9.0-1... 967.8 KiB 13.5 MiB/s 00:00 [######################] 100% base-2-2-any 2.1 KiB 0.00 B/s 00:00 [######################] 100% m4-1.4.18-3-x86_64 169.4 KiB 16.5 MiB/s 00:00 [######################] 100% diffutils-3.7-3-... 324.1 KiB 15.8 MiB/s 00:00 [######################] 100% autoconf-2.69-7-any 591.2 KiB 13.4 MiB/s 00:00 [######################] 100% automake-1.16.2-... 603.5 KiB 13.7 MiB/s 00:00 [######################] 100% libmicrohttpd-0.... 202.9 KiB 15.2 MiB/s 00:00 [######################] 100% elfutils-0.181-1... 619.8 KiB 14.1 MiB/s 00:00 [######################] 100% binutils-2.35.1-... 5.3 MiB 13.3 MiB/s 00:00 [######################] 100% bison-3.7.2-1-x86_64 753.7 KiB 14.7 MiB/s 00:00 [######################] 100% fakeroot-1.25.3-... 70.2 KiB 22.9 MiB/s 00:00 [######################] 100% flex-2.6.4-3-x86_64 297.2 KiB 12.6 MiB/s 00:00 [######################] 100% libmpc-1.1.0-2-x... 65.1 KiB 10.6 MiB/s 00:00 [######################] 100% gcc-10.2.0-4-x86_64 31.5 MiB 13.3 MiB/s 00:02 [######################] 100% groff-1.22.4-3-x... 2044.3 KiB 13.6 MiB/s 00:00 [######################] 100% libtool-2.4.6+42... 407.4 KiB 13.3 MiB/s 00:00 [######################] 100% texinfo-6.7-3-x86_64 1397.6 KiB 13.6 MiB/s 00:00 [######################] 100% make-4.3-3-x86_64 481.6 KiB 13.8 MiB/s 00:00 [######################] 100% patch-2.7.6-8-x86_64 92.5 KiB 22.6 MiB/s 00:00 [######################] 100% pkgconf-1.7.3-1-... 58.2 KiB 0.00 B/s 00:00 [######################] 100% sudo-1.9.4-1-x86_64 1115.2 KiB 14.1 MiB/s 00:00 [######################] 100% which-2.21-5-x86_64 15.8 KiB 0.00 B/s 00:00 [######################] 100% mkinitcpio-busyb... 270.3 KiB 13.2 MiB/s 00:00 [######################] 100% mkinitcpio-29-1-any 42.2 KiB 0.00 B/s 00:00 [######################] 100% linux-lts-5.4.81... 68.4 MiB 13.2 MiB/s 00:05 [######################] 100% linux-firmware-2... 134.5 MiB 13.3 MiB/s 00:10 [######################] 100% libaio-0.3.112-2... 6.3 KiB 0.00 B/s 00:00 [######################] 100% thin-provisionin... 491.0 KiB 14.5 MiB/s 00:00 [######################] 100% lvm2-2.02.187-3-... 1477.0 KiB 12.3 MiB/s 00:00 [######################] 100% libedit-20191231... 107.2 KiB 8.05 MiB/s 00:00 [######################] 100% dnssec-anchors-2... 3.0 KiB 0.00 B/s 00:00 [######################] 100% ldns-1.7.1-2-x86_64 435.9 KiB 14.2 MiB/s 00:00 [######################] 100% openssh-8.4p1-2-... 906.3 KiB 13.8 MiB/s 00:00 [######################] 100% vi-1:070224-4-x86_64 152.2 KiB 14.9 MiB/s 00:00 [######################] 100% gpm-1.20.7.r38.g... 140.5 KiB 22.9 MiB/s 00:00 [######################] 100% lzo-2.10-3-x86_64 82.5 KiB 26.9 MiB/s 00:00 [######################] 100% btrfs-progs-5.9-... 860.6 KiB 14.0 MiB/s 00:00 [######################] 100% libxml2-2.9.10-7... 1346.6 KiB 14.0 MiB/s 00:00 [######################] 100% libcroco-0.6.13-... 155.3 KiB 15.2 MiB/s 00:00 [######################] 100% gc-8.0.4-4-x86_64 234.7 KiB 17.6 MiB/s 00:00 [######################] 100% guile-2.2.6-2-x86_64 6.4 MiB 13.2 MiB/s 00:00 [######################] 100% vim-runtime-8.2.... 6.4 MiB 13.3 MiB/s 00:00 [######################] 100% vim-8.2.1989-3-x... 1766.2 KiB 13.6 MiB/s 00:00 [######################] 100% sshpass-1.06-3-x... 9.8 KiB 0.00 B/s 00:00 [######################] 100% (151/151) checking keys in keyring [######################] 100% (151/151) checking package integrity [######################] 100% (151/151) loading package files [######################] 100% (151/151) checking for file conflicts [######################] 100% (151/151) checking available disk space [######################] 100% :: Processing package changes... ( 1/151) installing iana-etc [######################] 100% ( 2/151) installing filesystem [######################] 100% ( 3/151) installing linux-api-headers [######################] 100% ( 4/151) installing tzdata [######################] 100% ( 5/151) installing glibc [######################] 100% Optional dependencies for glibc gd: for memusagestat ( 6/151) installing gcc-libs [######################] 100% ( 7/151) installing ncurses [######################] 100% ( 8/151) installing readline [######################] 100% ( 9/151) installing bash [######################] 100% Optional dependencies for bash bash-completion: for tab completion ( 10/151) installing attr [######################] 100% ( 11/151) installing acl [######################] 100% ( 12/151) installing gmp [######################] 100% ( 13/151) installing util-linux-libs [######################] 100% ( 14/151) installing e2fsprogs [######################] 100% ( 15/151) installing gdbm [######################] 100% ( 16/151) installing db [######################] 100% ( 17/151) installing libxcrypt [######################] 100% ( 18/151) installing perl [######################] 100% ( 19/151) installing openssl [######################] 100% Optional dependencies for openssl ca-certificates [pending] ( 20/151) installing libsasl [######################] 100% ( 21/151) installing libldap [######################] 100% ( 22/151) installing keyutils [######################] 100% ( 23/151) installing krb5 [######################] 100% ( 24/151) installing libtirpc [######################] 100% ( 25/151) installing pambase [######################] 100% ( 26/151) installing libcap-ng [######################] 100% ( 27/151) installing audit [######################] 100% ( 28/151) installing pam [######################] 100% ( 29/151) installing libcap [######################] 100% ( 30/151) installing coreutils [######################] 100% ( 31/151) installing zlib [######################] 100% ( 32/151) installing xz [######################] 100% ( 33/151) installing bzip2 [######################] 100% ( 34/151) installing libseccomp [######################] 100% ( 35/151) installing file [######################] 100% ( 36/151) installing findutils [######################] 100% ( 37/151) installing mpfr [######################] 100% ( 38/151) installing gawk [######################] 100% ( 39/151) installing pcre [######################] 100% ( 40/151) installing grep [######################] 100% ( 41/151) installing libgpg-error [######################] 100% ( 42/151) installing libgcrypt [######################] 100% ( 43/151) installing lz4 [######################] 100% ( 44/151) installing zstd [######################] 100% ( 45/151) installing systemd-libs [######################] 100% ( 46/151) installing procps-ng [######################] 100% ( 47/151) installing sed [######################] 100% ( 48/151) installing tar [######################] 100% ( 49/151) installing libffi [######################] 100% ( 50/151) installing glib2 [######################] 100% Optional dependencies for glib2 python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report libelf: gresource inspection tool [pending] ( 51/151) installing libunistring [######################] 100% ( 52/151) installing icu [######################] 100% ( 53/151) installing libxml2 [######################] 100% ( 54/151) installing libcroco [######################] 100% ( 55/151) installing gettext [######################] 100% Optional dependencies for gettext git: for autopoint infrastructure updates ( 56/151) installing hwids [######################] 100% ( 57/151) installing kmod [######################] 100% ( 58/151) installing pciutils [######################] 100% ( 59/151) installing psmisc [######################] 100% ( 60/151) installing shadow [######################] 100% ( 61/151) installing util-linux [######################] 100% Optional dependencies for util-linux python: python bindings to libmount words: default dictionary for look ( 62/151) installing less [######################] 100% ( 63/151) installing gzip [######################] 100% ( 64/151) installing licenses [######################] 100% ( 65/151) installing expat [######################] 100% ( 66/151) installing libarchive [######################] 100% ( 67/151) installing libtasn1 [######################] 100% ( 68/151) installing libp11-kit [######################] 100% ( 69/151) installing p11-kit [######################] 100% ( 70/151) installing ca-certificates-utils [######################] 100% ( 71/151) installing ca-certificates-mozilla [######################] 100% ( 72/151) installing ca-certificates [######################] 100% ( 73/151) installing libssh2 [######################] 100% ( 74/151) installing libidn2 [######################] 100% ( 75/151) installing libpsl [######################] 100% ( 76/151) installing libnghttp2 [######################] 100% ( 77/151) installing curl [######################] 100% ( 78/151) installing npth [######################] 100% ( 79/151) installing libksba [######################] 100% ( 80/151) installing libassuan [######################] 100% ( 81/151) installing libsecret [######################] 100% Optional dependencies for libsecret org.freedesktop.secrets: secret storage backend ( 82/151) installing pinentry [######################] 100% Optional dependencies for pinentry gtk2: gtk2 backend qt5-base: qt backend gcr: gnome3 backend ( 83/151) installing nettle [######################] 100% ( 84/151) installing gnutls [######################] 100% Optional dependencies for gnutls guile: for use with Guile bindings [pending] ( 85/151) installing sqlite [######################] 100% ( 86/151) installing gnupg [######################] 100% Optional dependencies for gnupg libldap: gpg2keys_ldap [installed] libusb-compat: scdaemon pcsclite: scdaemon ( 87/151) installing gpgme [######################] 100% ( 88/151) installing pacman-mirrorlist [######################] 100% ( 89/151) installing archlinux-keyring [######################] 100% ( 90/151) installing pacman [######################] 100% Optional dependencies for pacman perl-locale-gettext: translation support in makepkg-template ( 91/151) installing device-mapper [######################] 100% ( 92/151) installing popt [######################] 100% ( 93/151) installing json-c [######################] 100% ( 94/151) installing argon2 [######################] 100% ( 95/151) installing cryptsetup [######################] 100% ( 96/151) installing dbus [######################] 100% ( 97/151) installing libmnl [######################] 100% ( 98/151) installing libnftnl [######################] 100% ( 99/151) installing libnl [######################] 100% (100/151) installing libpcap [######################] 100% (101/151) installing libnfnetlink [######################] 100% (102/151) installing libnetfilter_conntrack [######################] 100% (103/151) installing iptables [######################] 100% (104/151) installing kbd [######################] 100% (105/151) installing libelf [######################] 100% (106/151) installing pcre2 [######################] 100% (107/151) installing systemd [######################] 100% Initializing machine ID from random generator. Creating group sys with gid 3. Creating group mem with gid 8. Creating group ftp with gid 11. Creating group mail with gid 12. Creating group log with gid 19. Creating group smmsp with gid 25. Creating group proc with gid 26. Creating group games with gid 50. Creating group lock with gid 54. Creating group network with gid 90. Creating group floppy with gid 94. Creating group scanner with gid 96. Creating group power with gid 98. Creating group adm with gid 999. Creating group wheel with gid 998. Creating group kmem with gid 997. Creating group tty with gid 5. Creating group utmp with gid 996. Creating group audio with gid 995. Creating group disk with gid 994. Creating group input with gid 993. Creating group kvm with gid 992. Creating group lp with gid 991. Creating group optical with gid 990. Creating group render with gid 989. Creating group storage with gid 988. Creating group uucp with gid 987. Creating group video with gid 986. Creating group users with gid 985. Creating group systemd-journal with gid 984. Creating group rfkill with gid 983. Creating group bin with gid 1. Creating user bin (n/a) with uid 1 and gid 1. Creating group daemon with gid 2. Creating user daemon (n/a) with uid 2 and gid 2. Creating user mail (n/a) with uid 8 and gid 12. Creating user ftp (n/a) with uid 14 and gid 11. Creating group http with gid 33. Creating user http (n/a) with uid 33 and gid 33. Creating group nobody with gid 65534. Creating user nobody (Nobody) with uid 65534 and gid 65534. Creating group dbus with gid 81. Creating user dbus (System Message Bus) with uid 81 and gid 81. Creating group systemd-journal-remote with gid 982. Creating user systemd-journal-remote (systemd Journal Remote) with uid 982 and gid 982. Creating group systemd-network with gid 981. Creating user systemd-network (systemd Network Management) with uid 981 and gid 981. Creating group systemd-resolve with gid 980. Creating user systemd-resolve (systemd Resolver) with uid 980 and gid 980. Creating group systemd-timesync with gid 979. Creating user systemd-timesync (systemd Time Synchronization) with uid 979 and gid 979. Creating group systemd-coredump with gid 978. Creating user systemd-coredump (systemd Core Dumper) with uid 978 and gid 978. Creating group uuidd with gid 68. Creating user uuidd (n/a) with uid 68 and gid 68. Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service. Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target. :: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your bootloader to replace sysvinit with systemd, or install systemd-sysvcompat Optional dependencies for systemd libmicrohttpd: remote journald capabilities [pending] quota-tools: kernel-level quota management systemd-sysvcompat: symlink package to provide sysvinit binaries [pending] polkit: allow administration as unprivileged user curl: machinectl pull-tar and pull-raw [installed] (108/151) installing systemd-sysvcompat [######################] 100% (109/151) installing iputils [######################] 100% (110/151) installing iproute2 [######################] 100% Optional dependencies for iproute2 linux-atm: ATM support (111/151) installing base [######################] 100% Optional dependencies for base linux: bare metal support (112/151) installing m4 [######################] 100% (113/151) installing diffutils [######################] 100% (114/151) installing autoconf [######################] 100% (115/151) installing automake [######################] 100% (116/151) installing libmicrohttpd [######################] 100% (117/151) installing elfutils [######################] 100% (118/151) installing binutils [######################] 100% (119/151) installing bison [######################] 100% (120/151) installing fakeroot [######################] 100% (121/151) installing flex [######################] 100% (122/151) installing libmpc [######################] 100% (123/151) installing gcc [######################] 100% Optional dependencies for gcc lib32-gcc-libs: for generating code for 32-bit ABI (124/151) installing groff [######################] 100% Optional dependencies for groff netpbm: for use together with man -H command interaction in browsers psutils: for use together with man -H command interaction in browsers libxaw: for gxditview perl-file-homedir: for use with glilypond (125/151) installing libtool [######################] 100% (126/151) installing texinfo [######################] 100% (127/151) installing gc [######################] 100% (128/151) installing guile [######################] 100% (129/151) installing make [######################] 100% (130/151) installing patch [######################] 100% Optional dependencies for patch ed: for patch -e functionality (131/151) installing pkgconf [######################] 100% (132/151) installing sudo [######################] 100% (133/151) installing which [######################] 100% (134/151) installing mkinitcpio-busybox [######################] 100% (135/151) installing mkinitcpio [######################] 100% Optional dependencies for mkinitcpio xz: Use lzma or xz compression for the initramfs image [installed] bzip2: Use bzip2 compression for the initramfs image [installed] lzop: Use lzo compression for the initramfs image lz4: Use lz4 compression for the initramfs image [installed] mkinitcpio-nfs-utils: Support for root filesystem on NFS (136/151) installing linux-lts [######################] 100% Optional dependencies for linux-lts crda: to set the correct wireless channels of your country linux-firmware: firmware images needed for some devices [pending] (137/151) installing linux-firmware [######################] 100% (138/151) installing libaio [######################] 100% (139/151) installing thin-provisioning-tools [######################] 100% (140/151) installing lvm2 [######################] 100% (141/151) installing libedit [######################] 100% (142/151) installing dnssec-anchors [######################] 100% (143/151) installing ldns [######################] 100% Optional dependencies for ldns libpcap: ldns-dpa tool [installed] (144/151) installing openssh [######################] 100% Optional dependencies for openssh xorg-xauth: X11 forwarding x11-ssh-askpass: input passphrase in X libfido2: FIDO/U2F support (145/151) installing sshpass [######################] 100% (146/151) installing vi [######################] 100% Optional dependencies for vi s-nail: used by the preserve command for notification (147/151) installing vim-runtime [######################] 100% Optional dependencies for vim-runtime sh: support for some tools and macros [installed] python: demoserver example tool gawk: mve tools upport [installed] (148/151) installing gpm [######################] 100% (149/151) installing vim [######################] 100% Optional dependencies for vim python2: Python 2 language support python: Python 3 language support ruby: Ruby language support lua: Lua language support perl: Perl language support [installed] tcl: Tcl language support (150/151) installing lzo [######################] 100% (151/151) installing btrfs-progs [######################] 100% Optional dependencies for btrfs-progs python: libbtrfsutil python bindings e2fsprogs: btrfs-convert [installed] reiserfsprogs: btrfs-convert :: Running post-transaction hooks... ( 1/14) Creating system user accounts... ( 2/14) Updating journal message catalog... ( 3/14) Reloading system manager configuration... Running in chroot, ignoring command 'daemon-reload' ( 4/14) Updating udev hardware database... ( 5/14) Applying kernel sysctl settings... Not setting net/ipv4/conf/all/rp_filter (explicit setting exists). Not setting net/ipv4/conf/default/rp_filter (explicit setting exists). Not setting net/ipv4/conf/all/accept_source_route (explicit setting exists). Not setting net/ipv4/conf/default/accept_source_route (explicit setting exists). Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists). Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists). ( 6/14) Creating temporary files... ( 7/14) Reloading device manager configuration... Running in chroot, ignoring request. ( 8/14) Arming ConditionNeedsUpdate... ( 9/14) Rebuilding certificate stores... (10/14) Updating module dependencies... (11/14) Updating linux initcpios... ==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default' -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img ==> Starting build: 5.4.81-1-lts -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img ==> Image generation successful ==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback' -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect ==> Starting build: 5.4.81-1-lts -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [modconf] -> Running build hook: [block] ==> WARNING: Possibly missing firmware for module: aic94xx ==> WARNING: Possibly missing firmware for module: wd719x -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img ==> Image generation successful (12/14) Reloading system bus configuration... Running in chroot, ignoring command 'try-reload-or-restart' (13/14) Warn about old perl modules perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_MESSAGES = "", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). (14/14) Updating the info directory file... pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass v 21.36s user 7.43s system 45% cpu 1:03.84 total root@archiso ~ #
In den Mount-Point
/mnt
und alle darunterliegenden,
werden nachfolgende Paketgruppen bzw. Pakete
base
- Metapaket für ein minimales System.base-devel
- Gruppe für Pakete zum Paketbau (empfohlen).linux-lts
- Der Arch Linux (Long Time Support)-Kernel. (Alternativen: linux, linux-hardened)linux-firmware
- Firmware für verschiedene Hardware.lvm2
- Einbindung von LVM Volumesvi
- Texteditor für dieshell
vim
- Texteditor für dieshell
mit Text-Highlightingbtrfs-progs
- Verwaltungsprogramme für das Dateisystem: Btrfs
installiert.
Optional, aber dringend empfohlen, sind nachfolgende Pakete:
openssh
- SSH-Server und SSH-Werkzeuge, da sonst kein SSH-Login auf den Server möglich ist.sshpass
- SSH-Client ermöglichen, ein Passwort interaktiv abzufragen.
/etc/fstab erstellen
Nachfolgender Befehl erzeugt die Konfigurationsdatei /etc/fstab
:
root@archiso ~ # genfstab -Up /mnt > /mnt/etc/fstab
Der so erzeugte Inhalt, kann mit nachfolgendem Befehl überprüft werden und sollte eine Ausgabe wie die nachfolgende zum Vorschein bringen:
root@archiso ~ # cat /mnt/etc/fstab # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 / btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=256,subvol=/@root,subvol=@root 0 0 # /dev/mapper/archlinux-tmp LABEL=TMP UUID=9c21c98c-57ea-4b0d-9064-4584393cc97f /tmp btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-home LABEL=HOME UUID=85d0ca9b-def5-4478-9f75-ce20b121a49d /home btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-var_log LABEL=VAR_LOG UUID=3aca2eca-ab55-4655-a844-cac43f8fea6a /var/log btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-var_pkg LABEL=VAR_PKG UUID=24b7d52d-ba82-4173-b730-daca60f076e8 /var/cache/pacman/pkg btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /var btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var,subvol=@var 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /srv btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv,subvol=@srv 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /opt btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt,subvol=@opt 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /usr/local btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local,subvol=@usr_local 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /btrfs btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-swap LABEL=SWAP UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8 none swap defaults 0 0 root@archiso ~ #
WICHTIG - Nachfolgende Änderungen sind durchzuführen, da sonst NICHT von einem „Snapshot“ gestartet werden kann !!!
Änderungen
- Entfernen der
subvolid
beim Eintrag für das/
(root)-Verzeichnis, da sonst nicht von einem „Snapshot“ gestartet werden kann !!!.
Anschließend sollte die /mnt/etc/fstab
wie folgt aussehen:
root@archiso ~ # cat /mnt/etc/fstab # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 / btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvol=/@root,subvol=@root 0 0 # /dev/mapper/archlinux-tmp LABEL=TMP UUID=9c21c98c-57ea-4b0d-9064-4584393cc97f /tmp btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-home LABEL=HOME UUID=85d0ca9b-def5-4478-9f75-ce20b121a49d /home btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-var_log LABEL=VAR_LOG UUID=3aca2eca-ab55-4655-a844-cac43f8fea6a /var/log btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-var_pkg LABEL=VAR_PKG UUID=24b7d52d-ba82-4173-b730-daca60f076e8 /var/cache/pacman/pkg btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /var btrfs rw,relatime,nodatacow,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var,subvol=@var 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /srv btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv,subvol=@srv 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /opt btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt,subvol=@opt 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /usr/local btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local,subvol=@usr_local 0 0 # /dev/mapper/archlinux-root LABEL=ROOT UUID=1c250bce-9e86-4d82-b921-3eca687f8403 /btrfs btrfs rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/mapper/archlinux-swap LABEL=SWAP UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8 none swap defaults 0 0 root@archiso ~ #
arch-chroot /mnt
Jetzt ist es an der Zeit, in das installierte System zu wechseln und weitere Konfigurationen vorzunehmen, was mit nachfolgendem Befehl durchgeführt werden kann:
root@archiso ~ # arch-chroot /mnt/ [root@archiso /]#
WICHTIG - Der Prompt
sollte sich nun auf [root@archiso /]#
geändert haben!
/etc/hostname
Nachfolgender Befehl setzt den Hostnamen für den Server:
# echo archlinux > /etc/hostname
/etc/locale.conf
Nachfolgender Befehl setzt die Systemsprache auf English-US Ausprägung UTF-8
(Für Deutsch-DE Ausprägung UTF-8, wäre de_DE.UTF-8
zu setzen!)
# echo LANG=en_US.UTF-8 > /etc/locale.conf
/etc/locale.gen
Nachfolgende Veränderungen der Konfigurationsdatei /etc/locale.gen
en_US.UTF-8 UTF-8
en_US ISO-8859-1
setzen die erweiterten Systemsprachenspezifikation auf English-US Ausprägung UTF-8 durch ein kommentieren der entsprechenden Systemsprache.
(Für Deutsch-DE Ausprägung UTF-8 wäre
#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
einzukommentieren)
Nachfolgend soll die Konfigurationsdatei mit dem Text-Editor vim
entsprechend abgeändert werden:
[root@archiso /]# vim /etc/locale.gen
Nachfolgender Befehl gibt zur Kontrolle, nur die ein kommentieren Zeilen der Konfigurationsdatei /etc/locale.gen
aus:
[root@archiso /]# egrep -v '(^#|^$)' /etc/locale.gen en_US.UTF-8 UTF-8 en_US ISO-8859-1
Der abschließende Befehl setzt die Konfiguration dann im System um:
[root@archiso /]# locale-gen Generating locales... en_US.UTF-8... done en_US.ISO-8859-1... done Generation complete.
/etc/vconsole.conf
Nachfolgende Befehle legen das Tastaturlayout:
[root@archiso /]# echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
und die Schriftart der shell
/ console
fest:
[root@archiso /]# echo FONT=lat9w-16 >> /etc/vconsole.conf
/etc/localtime
Nachfolgender Befehl legt einen Verweis (Link) auf die zu verwendende Zeitzone, hier Europe/Berlin fest:
[root@archiso /]# ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
/etc/hosts
Nachfolgende Befehle erstellen die Konfigurationsdatei /etc/hosts
und füllen diese mit den Standardeinträgen für localhost
aus:
[root@archiso /]# echo -e '#<ip-address> <hostname.domain.org> <hostname>' >> /etc/hosts [root@archiso /]# echo -e '127.0.0.1 localhost.localdomain localhost' >> /etc/hosts [root@archiso /]# echo -e '::1 localhost.localdomain localhost' >> /etc/hosts
HINWEIS - Eine Ausrichtung der einzelnen Zeilen muss ebenfalls durch Verwendung des Texteditors vim
durchgeführt werden.
Nachfolgend soll die Konfigurationsdatei mit dem Text-Editor vim
entsprechend abgeändert werden:
[root@archiso /]# vim /etc/hosts
Der Inhalt der Konfigurationsdatei /etc/hosts
sollte dann wie folgt aussehen:
[root@archiso /]# cat /etc/hosts # Static table lookup for hostnames. # See hosts(5) for details. #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost
/etc/resolv.conf
HINWEIS - Der Namensserver aus dem LIVE-System sollte bereits vorhanden sein!
Zuerst sollte die Konfigurationsdatei /etc/resolv.conf
durch nachfolgenden Befehl überprüft werden, ob diese nicht bereits ausreichend konfiguriert ist:
[root@archiso /]# cat /etc/resolv.conf # Resolver configuration file. # See resolv.conf(5) for details. nameserver 192.168.1.20
In der Konfigurationsdatei /etc/resolv.conf
können nun weiter sich im Netzwerk verfügbaren Namensserver (mindestens ein Namensserver), oder zusätzliche Namensserver aus dem Internet gesetzt werden, was mit nachfolgenden Befehl durchgeführt werden kann.
HINWEIS - Die Wiederholung des Befehls mit weiteren Namensservern erweitert die Datei entsprechend!
[root@archiso /]# echo 'nameserver 192.168.1.20' > /etc/resolv.conf
/etc/mkinitcpio.conf
Nachfolgende Ergänzung in der Konfigurationsdatei
/etc/mkinitcpio.conf
muss zwingend durchgeführt werden.
Zuerst soll aber eine Sicherungskopie der Konfigurationsdatei /etc/mkinitcpio.conf
erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:
[root@archiso /]# cp -a /etc/mkinitcpio.conf /etc/mkinitcpio.conf.orig
Anschließend muss das Laden des systembedingten, sogenannten HOOKS wie folgtergänzt werden, wie nachfolgend gezeigt:
[root@archiso /]# vim /etc/mkinitcpio.conf
(Nur relevanter Ausschnitt)
VORHER:
BINARIES()
bzw.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
NACHHER:
# Tachtler # default: BINARIES() BINARIES(/usr/bin/btrfs)
bzw.
# Tachtler # default: HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) HOOKS=(base udev autodetect modconf block lvm2 btrfs filesystems keymap keyboard)
Erklärungen
BINARIES(/usr/bin/btrfs)
Wenn es nach einem Neustart Probleme beim Neustart geben sollte, würden damit die btrfs-tools
zur Verfügung stehen.
HOOKS=(base udev autodetect modconf block btrfs filesystems keymap keyboard)
Nachfolgend wurde die HOOKs
lvm2
- (vorfilesystem
)btrfs
- (vorfilesystem
)keymap
- (vorkeyboard
)
hinzugefügt und dafür am Ende der Zeile der HOOK:
fsck
entfernt.
WICHTIG - Das hinzufügen des HOOKs lvm2
ist sehr wichtig, da sonst das LVM nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!
WICHTIG - Das hinzufügen des HOOKs btrfs
ist sehr wichtig, da sonst das Btrfs z.B. mit einer RAID-Konfiguration nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!
HINWEIS - Das hinzufügen des HOOKs keymap
ist kann hilfreich sein, da bei Problemen beim Neustart von ArchLinux weitere Tastaturlayouts zur Verfügung stehen und nicht nur das Tastaturlayout „US-English“.
HINWEIS - Bei den verwendeten Dateisystemen, swap
und btrfs
gibt es keinen file system check (fsck)
, deswegen kann hier auf fsck
verzichtet werden!
initramfs: mkinitcpio
Durch den nachfolgenden Befehl wird die initramfs-Erstellung durchgeführt:
[root@archiso /]# mkinitcpio -p linux-lts ==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default' -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img ==> Starting build: 5.4.81-1-lts -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [lvm2] -> Running build hook: [btrfs] -> Running build hook: [filesystems] -> Running build hook: [keymap] -> Running build hook: [keyboard] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img ==> Image generation successful ==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback' -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect ==> Starting build: 5.4.81-1-lts -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [modconf] -> Running build hook: [block] ==> WARNING: Possibly missing firmware for module: aic94xx ==> WARNING: Possibly missing firmware for module: wd719x -> Running build hook: [lvm2] -> Running build hook: [btrfs] -> Running build hook: [filesystems] -> Running build hook: [keymap] -> Running build hook: [keyboard] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img ==> Image generation successful [root@archiso /]#
Bootloader: GRUB
Zum Start des Servers ist ein sogenannter „Bootloader“ erforderlich. Hier soll der „Bootloader“
- GRUB
installiert werden, was mit nachfolgendem Befehl durchgeführt werden soll:
[root@archiso /]# pacman -S --noconfirm grub resolving dependencies... looking for conflicting packages... Packages (1) grub-2:2.04-8 Total Download Size: 6.74 MiB Total Installed Size: 32.91 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... grub-2:2.04-8-x86_64 6.7 MiB 12.4 MiB/s 00:01 [######################] 100% (1/1) checking keys in keyring [######################] 100% (1/1) checking package integrity [######################] 100% (1/1) loading package files [######################] 100% (1/1) checking for file conflicts [######################] 100% (1/1) checking available disk space [######################] 100% :: Processing package changes... (1/1) installing grub [######################] 100% Generate your bootloader configuration with: grub-mkconfig -o /boot/grub/grub.cfg Optional dependencies for grub freetype2: For grub-mkfont usage fuse2: For grub-mount usage dosfstools: For grub-mkrescue FAT FS and EFI support efibootmgr: For grub-install EFI support libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue os-prober: To detect other OSes when generating grub.cfg in BIOS systems mtools: For grub-mkrescue FAT FS support :: Running post-transaction hooks... (1/2) Arming ConditionNeedsUpdate... (2/2) Updating the info directory file... [root@archiso /]#
Anschließend ist die Konfiguration von GRUB für das Starten von der Festplatte einzurichten, was mit nachfolgendem Befehl durchgeführt werden kann:
[root@archiso /]# grub-install /dev/vda Installing for i386-pc platform. Installation finished. No error reported. [root@archiso /]#
HINWEIS - Falls beim starten und herunterfahren eine Ausgabe der gestarteten bzw. beendeten Dienste/Daemons erfolgen soll, kann dies durch eine Anpassung der Konfigurationsdatei
/etc/default/grub
wie nachfolgend dargestellt geändert werden:
Die Konfiguratiosndatei /etc/default/grub
kann mit dem Text-Editor vim
wie folgt editiert werden:
[root@archiso /]# vim /etc/default/grub
(Nur relevanter Ausschnitt:)
Vorher:
# GRUB boot loader configuration GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Arch" GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" GRUB_CMDLINE_LINUX="" # Preload both GPT and MBR modules so that they are not missed GRUB_PRELOAD_MODULES="part_gpt part_msdos"
Nachher
# GRUB boot loader configuration GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Arch" # Tachtler # default: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0" GRUB_CMDLINE_LINUX="" # Preload both GPT and MBR modules so that they are not missed # Tachtler # default: GRUB_PRELOAD_MODULES="part_gpt part_msdos" GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"
Erklärung:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"
Damit Meldungen des systemd
-Dienstes/Daemon zu sehen sind, muss der Parameter quit
entfernt werden und der Parameter net.ifnames=0
hinzugefügt werden. Der Paramater net.ifnames=0
sorgt dafür, das als Bezeichner bei Netzwerkkarten wieder die Notation ethX
(Das X
steht für eine Zahl) verwendet wird!
GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"
Am Ende der Konfigurationszeile wurde das Modul - lvm
hinzugefügt, da das Starten durch den „Bootloader“ - GRUB von einer LVM-Partition erfolgt.
Abschließend muss noch die GRUB-Konfiguration generiert werden, was mit nachfolgendem Befehl durchgeführt werden kann:
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-linux-lts Found initrd image: /boot/initramfs-linux-lts.img Found fallback initrd image(s) in /boot: initramfs-linux-lts-fallback.img done [root@archiso /]#
Passwort: root
Es ist sinnvoll, dass der Benutzer root
im „permanenten“-System ein Passwort besitzt, was mit nachfolgendem Befehl gesetzt werden kann:
[root@archiso /]# passwd New password: Retype new password: passwd: password updated successfully
Das Passwort ist in der shell
hinter New password:
einzugeben und mit der [Return/Enter]-Taste zu bestätigen. Anschließend ist in der shell
hinter Retype new password:
das gleiche Passwort erneut einzugeben und ebenfalls mit der [Return/Enter]-Taste zu bestätigen.
Neustart
Wenn alle Konfigurationen durchgeführt sind, kann nun das installierte ArchLinux mit nachfolgendem Befehl verlassen werden:
[root@archiso /]# exit exit arch-chroot /mnt/ 12.77s user 2.38s system 0% cpu 43:41.38 total root@archiso ~ #
WICHTIG - Der Prompt
sollte sich nun wieder auf root@archiso ~ #
geändert haben!
Der eigentliche Neustart wird dann mit nachfolgendem Befehl durchgeführt:
root@archiso ~ # systemctl reboot
Nach erfolgreichem Neustart, sollte nachfolgender „Boot-Screen“ beim Start des Servers erscheinen, wie die folgende Bildschirmkopie zeigt:
Nach erfolgreichem „Booten“ des Servers, sollte eine Anmeldung als Benutzer root
nun möglich sein, wie ebenfalls die folgende Bildschirmkopie zeigt:
Hinweise
Nach dem erfolgreichen ersten Start des Servers sind die folgenden Gegebenheiten zu beachten:
- Es gibt KEINE Benutzer die sich anmelden können, ausser der Benutzer
root
! - Es steht KEINE Netzwerkanbindung zur Verfügung!
- Es stehen KEINE Dienste/Daemons zur Verfügung, auch der SSH-Dienst/Daemon nicht!
Inbetriebnahme
Um ArchLinux nach der Installation wie oben bzw. unter nachfolgenden internen Link beschrieben, grundsätzlich in Betrieb nehmen zu können, sollen nachfolgende Basiskonfigurationen durchgeführt werden:
- Konfiguration einer Netzwerkkarte unter Verwendung und Start durch
systemd
-Dienstes/Daemons. - Konfiguration und Start des SSH-Dienstes/Daemons mit einer Basiskonfiguration
- Zugriff vorübergehend durch den Benutzer
root
mit Password-Authemtifikation
- Komfortkonfiguration für den Benutzer für die Verwendung der
shell
.bash_profile
.bashrc
.vimrc
Netzwerk: systemd
Damit beim Start oder Neustart des Servers gleich eine Netzwerkverbindung mit gestartet wird, soll das sich bereits auf dem Server befindliche systemd
-Startsystem genutzt werden.
Dazu ist es erfordelrich, das für die jeweilige Netzwerkkarte unter Einbeziehung der Bezeichnung der Netzwerkkarte jeweils eine entsprechende Konfigurationsdatei angelegt wird.
Dazu soll zuerst mit nachfolgendem Befehl ermittelt werden, welche Netwzerkkarten auf dem Server vorhanden sind und welche Bezeichnung diese haben:
[root@archlinux ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff
* Hier ist nur eine Netzwerkkarte mit der Bezeichnung eth0
vorhanden, welche nicht aktiv ist.
Zur Konfiguration der Netzwerkkarte mit der Bezeichnung eth0
, muss eine neue Konfigurationsdatei in nachfolgendem Verzeichnis und mit nachfolgendem Namen angelegt werden:
/etc/systemd/network/eth0.network
[root@archlinux ~]# vim /etc/systemd/network/eth0.network
Der Inhalt der Konfigurationsdatei könnte dann wie folgt aussehen:
[Match] Name=eth0 [Network] Address=192.168.1.250/24 Gateway=192.168.1.1 DNS=192.168.122.1
oder auch inklusive ipv6 Adressen:
[Match] Name=eth0 [Network] Address=192.168.1.250/24 Gateway=192.168.1.1 DNS=192.168.1.1 Address=fd00::250/64 Gateway=fd00::1 DNS=fd00::1 Address=fe80::250/64 LinkLocalAddressing=no
HINWEIS - In der ipv6-Konfiguration wurde das automatische beziehen einer ipv6-Adresse für die LinkLocal-Adresse deaktiviert, um eine eigene LinkLocal-Adresse setzen zu können!
HINWEIS - Bein Befehl ping
für die LinkLocal-Adresse muss ein Network-Device (Netzwerkkarte) mit angegeben werden, wie nachfolgendes Beispiel zeigt:
[root@archlinux ~]# ping -c 3 fe80::250%eth0 PING fe80::250%eth0(fe80::250%eth0) 56 data bytes 64 bytes from fe80::250%eth0: icmp_seq=1 ttl=64 time=0.061 ms 64 bytes from fe80::250%eth0: icmp_seq=2 ttl=64 time=0.021 ms 64 bytes from fe80::250%eth0: icmp_seq=3 ttl=64 time=0.022 ms --- fe80::250%eth0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2026ms rtt min/avg/max/mdev = 0.021/0.034/0.061/0.018 ms
Anschließend sollte noch mit nachfolgendem Befehl überprüft werden, ob eine anderer Dienst/Daemon sich für den Start der Netzwerkkarte zuständig fühlt:
[root@archlinux ~]# systemctl list-unit-files | grep netctl
und
[root@archlinux ~]# systemctl list-unit-files | grep dhcpcd
HINWEIS - Falls hier ein Treffer erzielt wird, sollte der Dienst/Daemon
- gestoppt
- deaktiviert
werden, was mit nachfolgenden Befehlen erfolgen kann:
[root@archlinux ~]# systemctl stop netctl@eth0.service
und
[root@archlinux ~]# systemctl disable netctl@eth0.service
bzw.
[root@archlinux ~]# systemctl stop dhcpcd.service
und
[root@archlinux ~]# systemctl disable dhcpcd.service
Damit nun der systemd
-Dienst/Daemon das starten der Netzwerkkarte und dessen Konfiguration übernimmt, ist es erforderlich dass der systemd-networkd
-Dienst/Dameon
- aktiviert
- gestartet
wird, was mit nachfolgenden Befehlen durchgeführt werden kann:
[root@archlinux ~]# systemctl enable systemd-networkd.service Created symlink /etc/systemd/system/dbus-org-freedesktop.network1.service → /usr7lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.socket → /usr/lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /usr/lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /usr/lib/systemd/system/systemd-network-wait-onlie.service.
und
[root@archlinux ~]# systemctl start systemd-networkd.service
Ein Überprüfung, ob die IPv4-Netzwerkadresse für die Netzwerkkarte mit der Bezeichnung eth0
gesetzt wurde, kann mit nachfolgendem Befehl erfolgen:
[root@archlinux ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff inet 192.168.1.250/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe00:dead/64 scope link valid_lft forever preferred_lft forever
Eine Überprüfung mit nachfolgendem Befehl zeigt die aktuellen Routen, inklusive der default
-Routen an:
root@archiso ~ # ip ro default via 192.168.1.10 dev ens3 192.168.1.0/24 dev ens3 proto kernel scope link src 192.168.1.250
Zuerst sollte die Konfigurationsdatei /etc/resolv.conf
durch nachfolgenden Befehl überprüft werden, ob diese nicht bereits ausreichend konfiguriert ist:
[root@archiso /]# cat /etc/resolv.conf # Resolver configuration file. # See resolv.conf(5) for details.
In der Konfigurationsdatei /etc/resolv.conf
können nun weiter sich im Netzwerk verfügbaren Namensserver (mindestens ein Namensserver), oder zusätzliche Namensserver aus dem Internet gesetzt werden, was mit nachfolgenden Befehl durchgeführt werden kann.
HINWEIS - Die Wiederholung des Befehls mit weiteren Namensservern erweitert die Datei entsprechend!
[root@archiso /]# echo 'nameserver 192.168.1.20' >> /etc/resolv.conf
SSH-Dienst/Deamon einrichten
Um den SSH-Dienst/Deamon als Hintergrundprozesse auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienste/Daemons mit dem Server mit gestartet werden, was mit nachfolgenden Befehlen realisiert werden kann:
[root@archlinux ~]# systemctl enable sshd.service Created symlink /etc/systemd/system/basic.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.
Eine Überprüfung, ob beim Neustart des Server der sshd
-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
[root@archlinux ~]# systemctl list-unit-files --type=service | grep -E ^sshd sshd.service enabled
bzw.
[root@archlinux ~]# systemctl is-enabled sshd.service enabled
Abschließend soll noch die Anmeldung via Passwort - vorübergehend während der Konfigurationsphase aktiviert werden.
Dazu soll mit nachfolgendem Befehl eine Sicherungskopie der originalen Konfigurationsdatei
/etc/ssh/sshd_config
mit dem Namen
/etc/ssh/sshd_config.orig
ersteltl werden:
[root@archlinux ~]# cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
Anschließend soll nachfolgende Konfiguration in der Konfigurationsdatei /etc/ssh/sshd_config
ein kommentiert bzw. ein kommentiert und angepasst werden:
[root@archlinux ~]# vim /etc/ssh/sshd_config
(Nur relevanter Ausschnitt:)
PasswordAuthentication yes
(Nur relevanter Ausschnitt:)
PermitRootLogin yes
Abschließend kann der SSH-Dienst/Daemon - sshd
mit nachfolgendem Befehl gestartet werden:
[root@archlinux ~]# systemctl start sshd.service
Eine Überprüfung ob der SSH-Dienst/Daemon auch ordnungsgemäß gestartet wurde, kann durch ausführen des nachfolgenden Befehls durchgeführt werden und sollte eine Ausgabe in etwa wie nachfolgende zur Folge haben:
root@archiso ~ # systemctl status sshd.service ● sshd.service - OpenSSH Daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese> Active: active (running) since Sun 2019-12-29 11:43:56 UTC; 6s ago Main PID: 775 (sshd) Tasks: 1 (limit: 2330) Memory: 824.0K CGroup: /system.slice/sshd.service └─775 /usr/bin/sshd -D Dec 29 11:43:56 archiso systemd[1]: Started OpenSSH Daemon. Dec 29 11:43:56 archiso sshd[775]: Server listening on 0.0.0.0 port 22. Dec 29 11:43:56 archiso sshd[775]: Server listening on :: port 22.
Dann kann noch einmal die IP-Adresse des Servers in Erfahrung gebracht werden, damit eine Verbindung zum Server hergestellt werden kann. Dies kann durch Ausführung des nachfolgenden Befehls erfolgen:
[root@archlinux ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff inet 192.168.1.250/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe00:dead/64 scope link valid_lft forever preferred_lft forever
BEISPIEL - Die IP-Adresse des Servers aus oben genanntem Beispiel wäre hier: 192.168.1.250
.
Jetzt kann eine erste Verbindung als Benutzer root
via SSH-Login auf den Server hergestellt werden. Nachfolgender Befehl soll dazu auf einer lokalen Workstation, nicht auf dem Server verwendet werden:
$ ssh root@192.168.1.250 The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established. ECDSA key fingerprint is SHA256:C7UGXJ6YMgduc0xqRzx4nv+R7azYCJfRCrzhU1TCmx8. ECDSA key fingerprint is MD5:a3:b5:f3:59:cb:f1:97:cd:bc:07:2a:e0:39:9f:90:80. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.250' (ECDSA) to the list of known hosts. root@192.168.1.250's password: Last login: Fri Jan 10 13:43:16 2020 [root@archlinux ~]#
~/.bash_logout
Damit die Konfigurationsdatei ~/.bash_logout
auch angezogen wird, ist nachfolgende Konfigurationsdatei
~/.bash_logout
falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:
[root@archlinux ~]# cp -a /etc/skel/.bash_logout ~/.bash_logout
Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
[root@archlinux ~]# cat ~/.bash_logout # # ~/.bash_logout #
~/.bash_profile
Damit die Konfigurationsdatei ~/.bashrc
auch angezogen wird, ist nachfolgende Konfigurationsdatei
~/.bash_profile
falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:
[root@archlinux ~]# cp -a /etc/skel/.bash_profile ~/.bash_profile
Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
[root@archlinux ~]# cat ~/.bash_profile # # ~/.bash_profile # [[ -f ~/.bashrc ]] && . ~/.bashrc
~/.bashrc
Wer z.B. Nutzer von CentOS ist, hat evtl. den Befehl ll
lieb gewonnen, welcher eigentlich nur ein Alias für den Befehl
ls -l –color=auto
ist.
Um sicher zu stellen, dass die Konfigurationsdatei
~/.bashrc
auch vorhanden ist, ist diese, falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:
[root@archlinux ~]# cp -a /etc/skel/.bashrc ~/.bashrc
Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
[root@archlinux ~]# cat ~/.bashrc # # ~/.bashrc # # If not running interactively, don't do anything [[ $- != *i* ]] && return alias ls='ls --color=auto' PS1='[\u@\h \W]\$ '
Um auf diesen „Annehmlichkeit“ auch unter ArchLinux nicht verzichten zu müssen, kann in nachfolgendem Verzeichnis die vorhandene Konfigurationsdatei mit nachfolgendem Namen ergänzt werden:
~/.bashrc
Der Inhalt, welcher hier an z.B. CentOS angelehnt ist, könnte dann wie folgt aussehen:
[root@archlinux ~]# vim ~/.bashrc
# # ~/.bashrc # # If not running interactively, don't do anything [[ $- != *i* ]] && return # Tachtler # default: alias ls='ls --color=auto' #alias ls='ls --color=auto' PS1='[\u@\h \W]\$ ' # Tachtler - NEW - alias ll='ls -l --color=auto' 2>/dev/null alias l.='ls -d .* --color=auto' 2>/dev/null alias ls='ls --color=auto' 2>/dev/null
HINWEIS - Nach der Beendigung z.B. eines shell
-Fensters und dem Neustart von einem shell
-Fenster, steht die neue Funktionalität zur Verfügung!
~/.vimrc
Wer z.B. Nutzer von CentOS ist, hat evtl. die Möglichkeit mit der Computer-Mouse/Maus Texte markieren zu können, ohne in den –VISIBLE– Modus zu wechseln
und ein paar andere Einstellungen lieb gewonnen, welche eigentlich nur ein paar Einträge wie folgt
syntax on
- Einschalten des Syntax-Highlightingsset mouse-=a
- Deaktivieren des –VISIBLE– Modusset tabstop=4
- Betätigen der [TABulator]-Taste löst einen Sprung um 4 Zeichen aus (optional)
erfordern.
Um auf diesen „Annehmlichkeit“ auch unter ArchLinux nicht verzichten zu müssen, kann in nachfolgendem Verzeichnis die vorhandene Konfigurationsdatei mit nachfolgendem Namen ergänzt werden:
~/.vimrc
Der Inhalt, welcher hier an z.B. CentOS angelehnt ist, könnte dann wie folgt aussehen:
[root@archlinux ~]# vim ~/.vimrc
syntax on set mouse-=a set tabstop=4
Snapshots mit: snapper
Nachfolgender interner Link führt zur Installation und Konfiguration von snapper