Inhaltsverzeichnis
ArchLinux - Minimal Server Installation
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.01.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 |
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.01.01/archlinux-2020.01.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.01.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.01.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 besteht die Möglichkeit, eine Anbindung an das Internet zu konfigurieren
Tastaturlayout: deutsch
ACHTUNG - Nach dem starten des ISO-Images wird ein US/Englisches-Tastaturlayout verwendet!
Damit alle nachfolgenden Eingabe 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 der Benutzer root
im „Live“-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 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, das die Karte bereits den Status UP
hat, also aktiv und nutzbar ist.
HINWEIS - Falls die Netzwerkkarte nicht UP
und damit aktiv 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
, sollte 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 ein extern erreichbarer Nameserver wie der von Google ein 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 Konfiguratiosndatei /etc/resolv.conf
erfolgreich war:
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, sollte 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 prese> Active: active (running) since Sun 2020-01-10 08:28:08 UTC; 8s ago Main PID: 822 (sshd) Tasks: 1 (limit: 2332) Memory: 2.0M CGroup: /system.slice/sshd.service └─822 /usr/bin/sshd -D Jan 10 08:28:08 archiso systemd[1]: Started OpenSSH Daemon. Jan 10 08:28:08 archiso sshd[882]: Server listening on 0.0.0.0 port 22. Jan 10 08:28:08 archiso sshd[882]: 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:AizXWHnKF2FQHZxGpuPW8Wk/TG/NZYuzNbwLxmmGCOw. ECDSA key fingerprint is MD5:a0:b5:24:1a:f5:84:81:14:b3:ec:2f:7c:3a:dd:1a:7f. 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 06:50:29 2020 root@archiso ~ #
Partitionierung: fdisk
Damit nun nach dem Start des sich auf dem USB-Stick befindlichen ArchLinux-ISO-Image in der Version 2020.01.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 diese 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/vda1 | 1 GB | /boot | ext4 |
/dev/vda2 |
|||
/dev/mapper/archlinux-swap | 2 GB | [SWAP] | swap |
/dev/mapper/archlinux-root | 10 GB | / | ext4 |
/dev/mapper/archlinux-home | 1 GB | /home | ext4 |
/dev/mapper/archlinux-var | 3 GB | /var | ext4 |
/dev/mapper/archlinux-var_log | 2 GB | /var/log | ext4 |
SUMME | 19 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: 19.54 GiB, 20971520000 bytes, 40960000 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.34). 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 0xea65ab2f. Command (m for help):
Schritt 2: Erste Partition anlegen
Durch nachfolgende Befehle wird eine
- neue „primäre“ Partition
- mit der Nummer 1
- und einer Größe von 1 GB angelegt:
Nachfolgende Tasten sind wie folgt zu drücken:
n
p
1
[Enter/Return]-Taste = Bestätigung für „First sector 2048“
- und die Eingabe der Größe, durch
+1024M
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-40959999, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-40959999, default 40959999): +1024M Created a new partition 1 of type 'Linux' and of size 1 GiB.
Anschließ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: 19.54 GiB, 20971520000 bytes, 40960000 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: 0xea65ab2f Device Boot Start End Sectors Size Id Type /dev/vda1 2048 2099199 2097152 1G 83 Linux
Schritt 3: Zweite Partition anlegen
Durch nachfolgende Befehle wird eine
- neue „primäre“ Partition
- mit der Nummer 2
- in der Größe der restlichen Festplatte angelegt:
Nachfolgende Tasten sind wie folgt zu drücken:
n
p
2
[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 (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (2099200-40959999, default 2099200): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-40959999, default 40959999): Created a new partition 2 of type 'Linux' and of size 18.5 GiB.
Schritt 4: Zweite Partition Typ ändern
Anschließend muss der Partitionstyp bei der zweiten Partition auf Linux LVM mit nachfolgenden Tasten angepasst werden:
t
[Enter/Return]-Taste = Bestätigung für „Partition number (1,2, default 2)“
8e
Command (m for help): t Partition number (1,2, default 2): 2 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM'.
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: 19.54 GiB, 20971520000 bytes, 40960000 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: 0xea65ab2f Device Boot Start End Sectors Size Id Type /dev/vda1 2048 2099199 2097152 1G 83 Linux /dev/vda2 2099200 40959999 38860800 18.5G 8e Linux LVM
Schritt 5: 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: Phys. Volume anlegen
Anlegen eines physischen Volume zur Nutzung durch ein LVM mit nachfolgendem Befehl:
root@archiso ~ # pvcreate /dev/vda2 Physical volume "/dev/vda2" successfully created.
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/vda2 Volume group "archlinux" successfully created
Schritt 3: Logische Volumes anlegen
Nachfolgende Befehle legen die logischen Volumes
/dev/mapper/archlinux-swap
/dev/mapper/archlinux-root
/dev/mapper/archlinux-home
/dev/mapper/archlinux-var
/dev/mapper/archlinux-var_log
an:
root@archiso ~ # lvcreate --name swap -L2048M archlinux Logical volume "swap" created.
root@archiso ~ # lvcreate --name root -L10240M archlinux Logical volume "root" created.
root@archiso ~ # lvcreate --name home -L1024M archlinux Logical volume "home" created.
root@archiso ~ # lvcreate --name var -L3072M archlinux Logical volume "var" created.
root@archiso ~ # lvcreate --name var_log -L2048M archlinux Logical volume "var_log" created.
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 19.5G 0 disk ├─vda1 254:1 0 1G 0 part └─vda2 254:2 0 18.5G 0 part ├─archlinux-swap 253:0 0 2G 0 lvm ├─archlinux-root 253:1 0 10G 0 lvm ├─archlinux-home 253:2 0 1G 0 lvm ├─archlinux-var 253:3 0 3G 0 lvm └─archlinux-var_log 253:4 0 2G 0 lvm
Dateisysteme formatieren
Nachfolgende Befehle formatieren die zuvor erstellen Partitionen mit einem Dateisystem, je nach Partitionstyp:
root@archiso ~ # mkfs.ext4 /dev/vda1 mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 262144 4k blocks and 65536 inodes Filesystem UUID: 0a4eca7f-882b-4ea1-a950-d2b4636d325c Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
root@archiso ~ # mkswap /dev/mapper/archlinux-swap Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=9399a618-575f-4ef2-bfaf-6b259c1147fd
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-root mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 2621440 4k blocks and 655360 inodes Filesystem UUID: 4df0fcd7-fade-4887-81c5-fdc78f96572d Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-home mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 262144 4k blocks and 65536 inodes Filesystem UUID: 777a7860-c768-4277-8c0c-c9194fcd2ec5 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-var mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 786432 4k blocks and 196608 inodes Filesystem UUID: c341665d-3f02-4fff-bfd5-346233987ccc Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-var_log mke2fs 1.45.4 (23-Sep-2019) Creating filesystem with 524288 4k blocks and 131072 inodes Filesystem UUID: 7f70accb-6bc6-47be-85a6-cf6fb86a6958 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
Partitonen einhängen
Nachfolgende Befehle hängen die zuvor erstellen Mount-Points in das Dateisystem des Servers ein:
WICHTIG - Zuerst die root
-Partition (/dev/mapper/archlinux-root
) auf den Mount-Point /mnt
root@archiso ~ # mount /dev/mapper/archlinux-root /mnt
Anschließend müssen für die weiteren Mount-Points unterhalb von /
(root
) durch nachfolgende Befehle, die entsprechenden Verzeichnisse erst erstellt werden:
root@archiso ~ # mkdir /mnt/boot
root@archiso ~ # mkdir /mnt/home
root@archiso ~ # mkdir /mnt/var
HINWEIS - /var/log
fehlt, da zuerst /var
als Mount-Point eingehängt werden muss!
Nachfolgender Befehl überprüft, ob alle vorangegangenen Befehle korrekt ausgeführt wurden. Es sollte eine Verzeichnisstruktur wie die nachfolgende angelegt worden sein:
root@archiso ~ # ls -l /mnt total 28 drwxr-xr-x 2 root root 4096 Jan 10 09:28 boot drwxr-xr-x 2 root root 4096 Jan 10 09:28 home drwx------ 2 root root 16384 Jan 10 09:25 lost+found drwxr-xr-x 2 root root 4096 Jan 10 09:28 var
Anschließend können nun alle weiteren Mount-Points eingehängt werden, was mit nachfolgenden Befehlen durchgeführt wird:
Zuerst wird die /boot
-Partition, mit nachfolgendem Befehl eingehängt werden:
root@archiso ~ # mount /dev/vda1 /mnt/boot
Anschließend wird die [SWAP]
-Partition aktiviert, was mit nachfolgender Befehl realisiert wird:
root@archiso ~ # swapon /dev/mapper/archlinux-swap
Anschließend folgen alle restlichen Mount-Points aus dem LVM:
root@archiso ~ # mount /dev/mapper/archlinux-home /mnt/home
root@archiso ~ # mount /dev/mapper/archlinux-var /mnt/var
Jetzt muss noch nach dem Einhängen des Mount-Points - /var
ein Verzeichnis für /var/log
mit nachfolgendem Befehl erstellt werden:
root@archiso ~ # mkdir /mnt/var/log
Somit kann nun auch der letzte Mount-Point - /var/log
eingehängt werden:
root@archiso ~ # mount /dev/mapper/archlinux-var_log /mnt/var/log
Nachfolgender Befehl überprüft, ob die vorhergehenden Aktionen korrekt durchgeführt wurden und sollte eine Ausgabe wie die folgende darstellen:
root@archiso ~ # lsblk /dev/vda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 254:0 0 19.5G 0 disk ├─vda1 254:1 0 1G 0 part /mnt/boot └─vda2 254:2 0 18.5G 0 part ├─archlinux-swap 253:0 0 2G 0 lvm [SWAP] ├─archlinux-root 253:1 0 10G 0 lvm /mnt ├─archlinux-home 253:2 0 1G 0 lvm /mnt/home ├─archlinux-var 253:3 0 3G 0 lvm /mnt/var └─archlinux-var_log 253:4 0 2G 0 lvm /mnt/var/log
Installation: Basissystem
/etc/pacman.d/mirrorlist
Bevor die eigentliche Installation des Basissystems erfolgen kann, soll noch eine länderspezifische vorab Auswahl der Installationsquellen getroffen werden, damit die Installation über das Internet möglichst von lokalen Server, hier aus Deutschland, erfolgen kann.
Dazu ist die Optimierung der Konfigurationsdatei
/etc/pacman.d/mirrorlist
erforderlich.
Zuerst soll aber eine Sicherungskopie der Konfigurationsdatei /etc/pacman.d/mirrorlist
erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:
root@archiso ~ # cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
bis Version 2020-06
Um nur die lokalen Server, hier nur aus Deutschland, in der Konfigurationsdatei /etc/pacman.d/mirrorlist
vorzufinden, kann nachfolgender Befehl verwendet werden:
root@archiso ~ # grep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.orig | sed '/--/d' > /etc/pacman.d/mirrorlist
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 ## Germany Server = http://artfiles.org/archlinux.org/$repo/os/$arch ## Germany Server = http://archlinux.thaller.ws/$repo/os/$arch ## Germany Server = http://mirror.f4st.host/archlinux/$repo/os/$arch ## Germany Server = http://ftp.fau.de/archlinux/$repo/os/$arch ## Germany Server = http://mirror.netcologne.de/archlinux/$repo/os/$arch ## Germany Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch ## Germany Server = http://www.gutscheindrache.com/mirror/archlinux/$repo/os/$arch ## Germany Server = http://packages.oth-regensburg.de/archlinux/$repo/os/$arch ## Germany Server = http://mirrors.n-ix.net/archlinux/$repo/os/$arch ## Germany Server = http://mirror.checkdomain.de/archlinux/$repo/os/$arch ## Germany Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch ## Germany Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch ## Germany Server = http://linux.rz.rub.de/archlinux/$repo/os/$arch ## Germany Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch ## Germany Server = http://mirror.chaoticum.net/arch/$repo/os/$arch ## Germany Server = http://ftp.gwdg.de/pub/linux/archlinux/$repo/os/$arch ## Germany Server = http://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch ## Germany Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch ## Germany Server = http://mirror.metalgamer.eu/archlinux/$repo/os/$arch ## Germany Server = http://mirror.23media.com/archlinux/$repo/os/$arch ## Germany Server = http://mirror.ubrco.de/archlinux/$repo/os/$arch ## Germany Server = http://mirror.orbit-os.com/archlinux/$repo/os/$arch ## Germany Server = http://arch.jensgutermuth.de/$repo/os/$arch ## Germany Server = http://arch.eckner.net/archlinux/$repo/os/$arch ## Germany Server = http://archlinux.honkgong.info/$repo/os/$arch ## Germany Server = http://ftp.wrz.de/pub/archlinux/$repo/os/$arch ## Germany Server = http://mirror.wtnet.de/arch/$repo/os/$arch ## Germany Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch ## Germany Server = http://mirror.mikrogravitation.org/archlinux/$repo/os/$arch ## Germany Server = http://mirror.united-gameserver.de/archlinux/$repo/os/$arch ## Germany Server = http://mirrors.niyawe.de/archlinux/$repo/os/$arch ## Germany Server = http://archlinux.mirror.iphh.net/$repo/os/$arch ## Germany Server = http://ftp.uni-hannover.de/archlinux/$repo/os/$arch ## Germany Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch ## Germany Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch
ab Version 2020-07
Um nur die lokalen Server, hier nur aus Deutschland, in der Konfigurationsdatei /etc/pacman.d/mirrorlist
vorzufinden, kann nachfolgender Befehl verwendet werden:
root@archiso ~ # grep -E -A 1 ".*.de.*$" /etc/pacman.d/mirrorlist.orig | sed '/--/d' > /etc/pacman.d/mirrorlist
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 Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch Server = https://arch.jensgutermuth.de/$repo/os/$arch Server = https://mirror.wtnet.de/arch/$repo/os/$arch Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch Server = https://mirror.dal10.us.leaseweb.net/archlinux/$repo/os/$arch Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch Server = https://archlinux.ip-connect.vn.ua/$repo/os/$arch Server = https://mirror.gnomus.de/$repo/os/$arch Server = https://mirror.bethselamin.de/$repo/os/$arch Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch Server = https://ftp.fau.de/archlinux/$repo/os/$arch Server = https://mirror.cloroformo.org/archlinux/$repo/os/$arch Server = https://mirror.yandex.ru/archlinux/$repo/os/$arch Server = https://mirror.srv.fail/archlinux/$repo/os/$arch Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch Server = https://ind.mirror.pkgbuild.com/$repo/os/$arch Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch Server = https://mirrors.rit.edu/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
root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass vi vim ==> Creating install root at /mnt ==> Installing packages to /mnt :: Synchronizing package databases... core 133.5 KiB 1027 KiB/s 00:00 [######################] 100% extra 1643.2 KiB 1458 KiB/s 00:01 [######################] 100% community 4.8 MiB 1444 KiB/s 00:03 [######################] 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 (147) acl-2.2.53-2 archlinux-keyring-20200108-1 argon2-20190702-2 attr-2.4.48-2 audit-2.8.5-6 bash-5.0.011-2 bzip2-1.0.8-3 ca-certificates-20181109-3 ca-certificates-mozilla-3.49.2-1 ca-certificates-utils-20181109-3 coreutils-8.31-3 cracklib-2.9.7-2 cryptsetup-2.2.2-1 curl-7.68.0-1 db-5.3.28-5 dbus-1.12.16-5 device-mapper-2.02.186-5 diffutils-3.7-3 dnssec-anchors-20190629-2 e2fsprogs-1.45.5-1 expat-2.2.9-3 filesystem-2019.10-2 gc-8.0.4-3 gcc-libs-9.2.0-4 gdbm-1.18.1-3 glib2-2.62.4-1 glibc-2.30-3 gmp-6.1.2-3 gnupg-2.2.19-1 gnutls-3.6.11.1-1 gpgme-1.13.1-3 gpm-1.20.7.r27.g1fd1941-2 guile-2.2.6-1 hwids-20191025-2 iana-etc-20191231-1 icu-65.1-2 iproute2-5.4.0-2 iptables-1:1.8.4-1 iputils-20190709-2 json-c-0.13.1-3 kbd-2.2.0-5 keyutils-1.6.1-3 kmod-26-3 krb5-1.17-2 ldns-1.7.1-2 less-551-3 libaio-0.3.112-2 libarchive-3.4.1-1 libassuan-2.5.3-2 libcap-2.29-1 libcap-ng-0.7.10-1 libcroco-0.6.13-1 libedit-20191231_3.1-1 libelf-0.177-2 libffi-3.2.1-4 libgcrypt-1.8.5-2 libgpg-error-1.36-3 libidn2-2.3.0-1 libksba-1.3.5-2 libldap-2.4.48-2 libmnl-1.0.4-3 libmpc-1.1.0-2 libnetfilter_conntrack-1.0.7-1 libnfnetlink-1.0.1-3 libnftnl-1.1.5-1 libnghttp2-1.39.2-2 libnl-3.5.0-2 libpcap-1.9.1-2 libpsl-0.21.0-2 libsasl-2.1.27-2 libseccomp-2.4.1-3 libsecret-0.20.0-1 libssh2-1.9.0-2 libtasn1-4.15.0-1 libtirpc-1.2.5-1 libunistring-0.9.10-2 libusb-1.0.23-2 libutil-linux-2.35-1 libxml2-2.9.10-1 licenses-20191011-2 linux-api-headers-5.3.1-2 lz4-1:1.9.2-2 mkinitcpio-27-2 mkinitcpio-busybox-1.31.1-1 mpfr-4.0.2-2 ncurses-6.1-7 nettle-3.5.1-2 npth-1.6-2 openssl-1.1.1.d-2 p11-kit-0.23.19-1 pacman-mirrorlist-20200103-1 pam-1.3.1-2 pambase-20190105.1-2 pciutils-3.6.2-2 pcre-8.43-2 pcre2-10.34-3 perl-5.30.1-1 pinentry-1.1.0-5 popt-1.16-12 procps-ng-3.3.15-2 psmisc-23.3-2 readline-8.0.001-2 shadow-4.8-1 sqlite-3.30.1-2 systemd-244.1-1 systemd-libs-244.1-1 systemd-sysvcompat-244.1-1 tar-1.32-3 thin-provisioning-tools-0.8.5-3 tzdata-2019c-3 util-linux-2.35-1 vim-runtime-8.2.0100-1 xz-5.2.4-2 zlib-1:1.2.11-4 zstd-1.4.4-1 autoconf-2.69-6 automake-1.16.1-2 base-2-2 binutils-2.33.1-2 bison-3.5-1 fakeroot-1.24-2 file-5.38-1 findutils-4.7.0-2 flex-2.6.4-3 gawk-5.0.1-2 gcc-9.2.0-4 gettext-0.20.1-3 grep-3.4-1 groff-1.22.4-3 gzip-1.10-3 libtool-2.4.6+42+gb88cebd5-8 linux-firmware-20191220.6871bff-1 linux-lts-4.19.98-1 lvm2-2.02.186-5 m4-1.4.18-3 make-4.2.1-4 openssh-8.1p1-2 pacman-5.2.1-4 patch-2.7.6-8 pkgconf-1.6.3-3 sed-4.8-1 sshpass-1.06-2 sudo-1.8.30-1 texinfo-6.7-2 vi-1:070224-4 vim-8.2.0100-1 which-2.21-5 Total Download Size: 339.00 MiB Total Installed Size: 1420.10 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... iana-etc-2019123... 387.8 KiB 1452 KiB/s 00:00 [######################] 100% filesystem-2019.... 27.8 KiB 1636 KiB/s 00:00 [######################] 100% linux-api-header... 997.7 KiB 1454 KiB/s 00:01 [######################] 100% tzdata-2019c-3-x... 341.5 KiB 1485 KiB/s 00:00 [######################] 100% glibc-2.30-3-x86_64 9.1 MiB 1450 KiB/s 00:06 [######################] 100% gcc-libs-9.2.0-4... 28.3 MiB 1454 KiB/s 00:20 [######################] 100% ncurses-6.1-7-x86_64 1067.1 KiB 1456 KiB/s 00:01 [######################] 100% readline-8.0.001... 296.4 KiB 1235 KiB/s 00:00 [######################] 100% bash-5.0.011-2-x... 1538.5 KiB 1442 KiB/s 00:01 [######################] 100% attr-2.4.48-2-x86_64 65.0 KiB 1512 KiB/s 00:00 [######################] 100% acl-2.2.53-2-x86_64 131.9 KiB 1374 KiB/s 00:00 [######################] 100% gmp-6.1.2-3-x86_64 407.2 KiB 1475 KiB/s 00:00 [######################] 100% libcap-2.29-1-x86_64 49.8 KiB 1508 KiB/s 00:00 [######################] 100% gdbm-1.18.1-3-x86_64 160.4 KiB 1458 KiB/s 00:00 [######################] 100% db-5.3.28-5-x86_64 1098.0 KiB 1458 KiB/s 00:01 [######################] 100% perl-5.30.1-1-x86_64 14.2 MiB 1456 KiB/s 00:10 [######################] 100% openssl-1.1.1.d-... 3.4 MiB 1456 KiB/s 00:02 [######################] 100% coreutils-8.31-3... 2.4 MiB 1455 KiB/s 00:02 [######################] 100% zlib-1:1.2.11-4-... 81.5 KiB 1509 KiB/s 00:00 [######################] 100% xz-5.2.4-2-x86_64 231.3 KiB 1473 KiB/s 00:00 [######################] 100% bzip2-1.0.8-3-x86_64 53.4 KiB 1620 KiB/s 00:00 [######################] 100% libseccomp-2.4.1... 75.1 KiB 1501 KiB/s 00:00 [######################] 100% file-5.38-1-x86_64 314.2 KiB 1475 KiB/s 00:00 [######################] 100% findutils-4.7.0-... 454.6 KiB 1452 KiB/s 00:00 [######################] 100% mpfr-4.0.2-2-x86_64 314.0 KiB 1447 KiB/s 00:00 [######################] 100% gawk-5.0.1-2-x86_64 1096.3 KiB 1456 KiB/s 00:01 [######################] 100% pcre-8.43-2-x86_64 931.2 KiB 1363 KiB/s 00:01 [######################] 100% grep-3.4-1-x86_64 204.2 KiB 1459 KiB/s 00:00 [######################] 100% libgpg-error-1.3... 192.9 KiB 1418 KiB/s 00:00 [######################] 100% libgcrypt-1.8.5-... 485.4 KiB 1458 KiB/s 00:00 [######################] 100% lz4-1:1.9.2-2-x86_64 109.4 KiB 1440 KiB/s 00:00 [######################] 100% systemd-libs-244... 418.9 KiB 1460 KiB/s 00:00 [######################] 100% procps-ng-3.3.15... 340.7 KiB 1462 KiB/s 00:00 [######################] 100% sed-4.8-1-x86_64 237.9 KiB 1487 KiB/s 00:00 [######################] 100% tar-1.32-3-x86_64 742.3 KiB 1428 KiB/s 00:01 [######################] 100% libffi-3.2.1-4-x... 31.3 KiB 1566 KiB/s 00:00 [######################] 100% libutil-linux-2.... 409.0 KiB 1461 KiB/s 00:00 [######################] 100% glib2-2.62.4-1-x... 2.4 MiB 1455 KiB/s 00:02 [######################] 100% libunistring-0.9... 498.6 KiB 1466 KiB/s 00:00 [######################] 100% icu-65.1-2-x86_64 8.9 MiB 1434 KiB/s 00:06 [######################] 100% gettext-0.20.1-3... 1929.0 KiB 1454 KiB/s 00:01 [######################] 100% hwids-20191025-2-any 370.9 KiB 1466 KiB/s 00:00 [######################] 100% kmod-26-3-x86_64 113.9 KiB 1499 KiB/s 00:00 [######################] 100% pciutils-3.6.2-2... 86.8 KiB 1524 KiB/s 00:00 [######################] 100% psmisc-23.3-2-x86_64 110.1 KiB 1488 KiB/s 00:00 [######################] 100% cracklib-2.9.7-2... 250.4 KiB 1473 KiB/s 00:00 [######################] 100% e2fsprogs-1.45.5... 1195.4 KiB 1458 KiB/s 00:01 [######################] 100% libsasl-2.1.27-2... 136.2 KiB 1404 KiB/s 00:00 [######################] 100% libldap-2.4.48-2... 282.2 KiB 1462 KiB/s 00:00 [######################] 100% keyutils-1.6.1-3... 88.3 KiB 1472 KiB/s 00:00 [######################] 100% krb5-1.17-2-x86_64 1219.1 KiB 1458 KiB/s 00:01 [######################] 100% libtirpc-1.2.5-1... 170.0 KiB 1505 KiB/s 00:00 [######################] 100% pambase-20190105... 2.9 KiB 0.00 B/s 00:00 [######################] 100% pam-1.3.1-2-x86_64 559.6 KiB 1461 KiB/s 00:00 [######################] 100% libcap-ng-0.7.10... 35.7 KiB 1552 KiB/s 00:00 [######################] 100% audit-2.8.5-6-x86_64 338.5 KiB 1240 KiB/s 00:00 [######################] 100% shadow-4.8-1-x86_64 1109.2 KiB 1459 KiB/s 00:01 [######################] 100% util-linux-2.35-... 2.4 MiB 1457 KiB/s 00:02 [######################] 100% less-551-3-x86_64 100.9 KiB 1442 KiB/s 00:00 [######################] 100% gzip-1.10-3-x86_64 77.8 KiB 1556 KiB/s 00:00 [######################] 100% licenses-2019101... 66.8 KiB 1553 KiB/s 00:00 [######################] 100% expat-2.2.9-3-x86_64 94.6 KiB 1501 KiB/s 00:00 [######################] 100% zstd-1.4.4-1-x86_64 391.9 KiB 1473 KiB/s 00:00 [######################] 100% libarchive-3.4.1... 499.2 KiB 1468 KiB/s 00:00 [######################] 100% libtasn1-4.15.0-... 116.1 KiB 1507 KiB/s 00:00 [######################] 100% device-mapper-2.... 291.3 KiB 1457 KiB/s 00:00 [######################] 100% popt-1.16-12-x86_64 62.9 KiB 1337 KiB/s 00:00 [######################] 100% json-c-0.13.1-3-... 45.0 KiB 1501 KiB/s 00:00 [######################] 100% argon2-20190702-... 30.2 KiB 1775 KiB/s 00:00 [######################] 100% cryptsetup-2.2.2... 470.1 KiB 1451 KiB/s 00:00 [######################] 100% dbus-1.12.16-5-x... 298.3 KiB 1462 KiB/s 00:00 [######################] 100% libmnl-1.0.4-3-x... 10.4 KiB 1491 KiB/s 00:00 [######################] 100% libnftnl-1.1.5-1... 61.1 KiB 1528 KiB/s 00:00 [######################] 100% libnl-3.5.0-2-x86_64 364.7 KiB 1482 KiB/s 00:00 [######################] 100% libusb-1.0.23-2-... 57.0 KiB 1541 KiB/s 00:00 [######################] 100% libpcap-1.9.1-2-... 240.0 KiB 1473 KiB/s 00:00 [######################] 100% iptables-1:1.8.4... 426.5 KiB 1471 KiB/s 00:00 [######################] 100% kbd-2.2.0-5-x86_64 1135.6 KiB 1461 KiB/s 00:01 [######################] 100% libidn2-2.3.0-1-... 115.9 KiB 1505 KiB/s 00:00 [######################] 100% libelf-0.177-2-x... 373.5 KiB 1415 KiB/s 00:00 [######################] 100% pcre2-10.34-3-x86_64 1038.5 KiB 1454 KiB/s 00:01 [######################] 100% systemd-244.1-1-... 4.9 MiB 1454 KiB/s 00:03 [######################] 100% p11-kit-0.23.19-... 590.2 KiB 1464 KiB/s 00:00 [######################] 100% ca-certificates-... 8.2 KiB 2039 KiB/s 00:00 [######################] 100% ca-certificates-... 336.5 KiB 1482 KiB/s 00:00 [######################] 100% ca-certificates-... 2.1 KiB 0.00 B/s 00:00 [######################] 100% libssh2-1.9.0-2-... 205.8 KiB 1470 KiB/s 00:00 [######################] 100% libpsl-0.21.0-2-... 73.2 KiB 1463 KiB/s 00:00 [######################] 100% libnghttp2-1.39.... 86.7 KiB 1522 KiB/s 00:00 [######################] 100% curl-7.68.0-1-x86_64 1018.0 KiB 1454 KiB/s 00:01 [######################] 100% npth-1.6-2-x86_64 12.8 KiB 1825 KiB/s 00:00 [######################] 100% libksba-1.3.5-2-... 116.6 KiB 1535 KiB/s 00:00 [######################] 100% libassuan-2.5.3-... 85.0 KiB 1491 KiB/s 00:00 [######################] 100% libsecret-0.20.0... 236.6 KiB 1479 KiB/s 00:00 [######################] 100% pinentry-1.1.0-5... 101.6 KiB 1517 KiB/s 00:00 [######################] 100% nettle-3.5.1-2-x... 329.4 KiB 1497 KiB/s 00:00 [######################] 100% gnutls-3.6.11.1-... 2.6 MiB 1460 KiB/s 00:02 [######################] 100% sqlite-3.30.1-2-... 1402.0 KiB 1460 KiB/s 00:01 [######################] 100% gnupg-2.2.19-1-x... 2.1 MiB 1457 KiB/s 00:01 [######################] 100% gpgme-1.13.1-3-x... 410.9 KiB 1468 KiB/s 00:00 [######################] 100% pacman-mirrorlis... 5.9 KiB 1483 KiB/s 00:00 [######################] 100% archlinux-keyrin... 868.3 KiB 1454 KiB/s 00:01 [######################] 100% pacman-5.2.1-4-x... 836.6 KiB 1460 KiB/s 00:01 [######################] 100% systemd-sysvcomp... 7.7 KiB 2.49 MiB/s 00:00 [######################] 100% iputils-20190709... 92.1 KiB 1462 KiB/s 00:00 [######################] 100% iproute2-5.4.0-2... 906.4 KiB 1453 KiB/s 00:01 [######################] 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 1499 KiB/s 00:00 [######################] 100% diffutils-3.7-3-... 324.1 KiB 1473 KiB/s 00:00 [######################] 100% autoconf-2.69-6-any 585.5 KiB 1464 KiB/s 00:00 [######################] 100% automake-1.16.1-... 598.7 KiB 1460 KiB/s 00:00 [######################] 100% binutils-2.33.1-... 4.6 MiB 1459 KiB/s 00:03 [######################] 100% bison-3.5-1-x86_64 637.9 KiB 1460 KiB/s 00:00 [######################] 100% fakeroot-1.24-2-... 67.0 KiB 1523 KiB/s 00:00 [######################] 100% flex-2.6.4-3-x86_64 297.2 KiB 1457 KiB/s 00:00 [######################] 100% libmpc-1.1.0-2-x... 65.1 KiB 1479 KiB/s 00:00 [######################] 100% gcc-9.2.0-4-x86_64 33.9 MiB 1452 KiB/s 00:24 [######################] 100% groff-1.22.4-3-x... 2044.3 KiB 1456 KiB/s 00:01 [######################] 100% libtool-2.4.6+42... 399.5 KiB 1458 KiB/s 00:00 [######################] 100% texinfo-6.7-2-x86_64 1301.6 KiB 1451 KiB/s 00:01 [######################] 100% make-4.2.1-4-x86_64 411.2 KiB 1469 KiB/s 00:00 [######################] 100% patch-2.7.6-8-x86_64 92.5 KiB 1469 KiB/s 00:00 [######################] 100% pkgconf-1.6.3-3-... 54.7 KiB 1609 KiB/s 00:00 [######################] 100% sudo-1.8.30-1-x86_64 870.4 KiB 1468 KiB/s 00:01 [######################] 100% which-2.21-5-x86_64 15.8 KiB 1579 KiB/s 00:00 [######################] 100% mkinitcpio-busyb... 254.8 KiB 1499 KiB/s 00:00 [######################] 100% mkinitcpio-27-2-any 40.7 KiB 1769 KiB/s 00:00 [######################] 100% linux-lts-4.19.9... 64.3 MiB 1450 KiB/s 00:45 [######################] 100% linux-firmware-2... 94.1 MiB 1451 KiB/s 01:06 [######################] 100% libaio-0.3.112-2... 6.3 KiB 1587 KiB/s 00:00 [######################] 100% thin-provisionin... 389.1 KiB 1474 KiB/s 00:00 [######################] 100% lvm2-2.02.186-5-... 1456.0 KiB 1462 KiB/s 00:01 [######################] 100% libedit-20191231... 106.9 KiB 1527 KiB/s 00:00 [######################] 100% dnssec-anchors-2... 3.1 KiB 0.00 B/s 00:00 [######################] 100% ldns-1.7.1-2-x86_64 435.9 KiB 1468 KiB/s 00:00 [######################] 100% openssh-8.1p1-2-... 755.9 KiB 1465 KiB/s 00:01 [######################] 100% vi-1:070224-4-x86_64 152.2 KiB 1478 KiB/s 00:00 [######################] 100% gpm-1.20.7.r27.g... 132.0 KiB 1467 KiB/s 00:00 [######################] 100% libxml2-2.9.10-1... 1267.4 KiB 1462 KiB/s 00:01 [######################] 100% libcroco-0.6.13-... 146.0 KiB 1505 KiB/s 00:00 [######################] 100% libnfnetlink-1.0... 16.4 KiB 1640 KiB/s 00:00 [######################] 100% libnetfilter_con... 47.5 KiB 1584 KiB/s 00:00 [######################] 100% gc-8.0.4-3-x86_64 221.1 KiB 1474 KiB/s 00:00 [######################] 100% guile-2.2.6-1-x86_64 5.6 MiB 1458 KiB/s 00:04 [######################] 100% vim-runtime-8.2.... 6.2 MiB 1452 KiB/s 00:04 [######################] 100% vim-8.2.0100-1-x... 1596.4 KiB 1461 KiB/s 00:01 [######################] 100% sshpass-1.06-2-x... 9.3 KiB 1555 KiB/s 00:00 [######################] 100% (147/147) checking keys in keyring [######################] 100% (147/147) checking package integrity [######################] 100% (147/147) loading package files [######################] 100% (147/147) checking for file conflicts [######################] 100% :: Processing package changes... ( 1/147) installing iana-etc [######################] 100% ( 2/147) installing filesystem [######################] 100% ( 3/147) installing linux-api-headers [######################] 100% ( 4/147) installing tzdata [######################] 100% ( 5/147) installing glibc [######################] 100% Optional dependencies for glibc gd: for memusagestat ( 6/147) installing gcc-libs [######################] 100% ( 7/147) installing ncurses [######################] 100% ( 8/147) installing readline [######################] 100% ( 9/147) installing bash [######################] 100% Optional dependencies for bash bash-completion: for tab completion ( 10/147) installing attr [######################] 100% ( 11/147) installing acl [######################] 100% ( 12/147) installing gmp [######################] 100% ( 13/147) installing libcap [######################] 100% ( 14/147) installing gdbm [######################] 100% ( 15/147) installing db [######################] 100% ( 16/147) installing perl [######################] 100% ( 17/147) installing openssl [######################] 100% Optional dependencies for openssl ca-certificates [pending] ( 18/147) installing coreutils [######################] 100% ( 19/147) installing zlib [######################] 100% ( 20/147) installing xz [######################] 100% ( 21/147) installing bzip2 [######################] 100% ( 22/147) installing libseccomp [######################] 100% ( 23/147) installing file [######################] 100% ( 24/147) installing findutils [######################] 100% ( 25/147) installing mpfr [######################] 100% ( 26/147) installing gawk [######################] 100% ( 27/147) installing pcre [######################] 100% ( 28/147) installing grep [######################] 100% ( 29/147) installing libgpg-error [######################] 100% ( 30/147) installing libgcrypt [######################] 100% ( 31/147) installing lz4 [######################] 100% ( 32/147) installing systemd-libs [######################] 100% ( 33/147) installing procps-ng [######################] 100% ( 34/147) installing sed [######################] 100% ( 35/147) installing tar [######################] 100% ( 36/147) installing libffi [######################] 100% ( 37/147) installing libutil-linux [######################] 100% ( 38/147) installing glib2 [######################] 100% Optional dependencies for glib2 python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report libelf: gresource inspection tool [pending] ( 39/147) installing libunistring [######################] 100% ( 40/147) installing icu [######################] 100% ( 41/147) installing libxml2 [######################] 100% ( 42/147) installing libcroco [######################] 100% ( 43/147) installing gettext [######################] 100% Optional dependencies for gettext git: for autopoint infrastructure updates ( 44/147) installing hwids [######################] 100% ( 45/147) installing kmod [######################] 100% ( 46/147) installing pciutils [######################] 100% ( 47/147) installing psmisc [######################] 100% ( 48/147) installing cracklib [######################] 100% ( 49/147) installing e2fsprogs [######################] 100% ( 50/147) installing libsasl [######################] 100% ( 51/147) installing libldap [######################] 100% ( 52/147) installing keyutils [######################] 100% ( 53/147) installing krb5 [######################] 100% ( 54/147) installing libtirpc [######################] 100% ( 55/147) installing pambase [######################] 100% ( 56/147) installing pam [######################] 100% ( 57/147) installing libcap-ng [######################] 100% ( 58/147) installing audit [######################] 100% ( 59/147) installing shadow [######################] 100% ( 60/147) installing util-linux [######################] 100% Optional dependencies for util-linux python: python bindings to libmount words: default dictionary for look ( 61/147) installing less [######################] 100% ( 62/147) installing gzip [######################] 100% ( 63/147) installing licenses [######################] 100% ( 64/147) installing expat [######################] 100% ( 65/147) installing zstd [######################] 100% ( 66/147) installing libarchive [######################] 100% ( 67/147) installing libtasn1 [######################] 100% ( 68/147) installing device-mapper [######################] 100% ( 69/147) installing popt [######################] 100% ( 70/147) installing json-c [######################] 100% ( 71/147) installing argon2 [######################] 100% ( 72/147) installing cryptsetup [######################] 100% ( 73/147) installing dbus [######################] 100% ( 74/147) installing libmnl [######################] 100% ( 75/147) installing libnftnl [######################] 100% ( 76/147) installing libnl [######################] 100% ( 77/147) installing libusb [######################] 100% ( 78/147) installing libpcap [######################] 100% ( 79/147) installing libnfnetlink [######################] 100% ( 80/147) installing libnetfilter_conntrack [######################] 100% ( 81/147) installing iptables [######################] 100% ( 82/147) installing kbd [######################] 100% ( 83/147) installing libidn2 [######################] 100% ( 84/147) installing libelf [######################] 100% ( 85/147) installing pcre2 [######################] 100% ( 86/147) installing systemd [######################] 100% Initializing machine ID from KVM UUID. 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 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 [pending] ( 87/147) installing p11-kit [######################] 100% Created symlink /etc/systemd/user/sockets.target.wants/p11-kit-server.socket → /usr/lib/systemd/user/p11-kit-server.socket. ( 88/147) installing ca-certificates-utils [######################] 100% ( 89/147) installing ca-certificates-mozilla [######################] 100% ( 90/147) installing ca-certificates [######################] 100% ( 91/147) installing libssh2 [######################] 100% ( 92/147) installing libpsl [######################] 100% ( 93/147) installing libnghttp2 [######################] 100% ( 94/147) installing curl [######################] 100% ( 95/147) installing npth [######################] 100% ( 96/147) installing libksba [######################] 100% ( 97/147) installing libassuan [######################] 100% ( 98/147) installing libsecret [######################] 100% Optional dependencies for libsecret org.freedesktop.secrets: secret storage backend ( 99/147) installing pinentry [######################] 100% Optional dependencies for pinentry gtk2: gtk2 backend qt5-base: qt backend gcr: gnome3 backend (100/147) installing nettle [######################] 100% (101/147) installing gnutls [######################] 100% Optional dependencies for gnutls guile: for use with Guile bindings [pending] (102/147) installing sqlite [######################] 100% (103/147) installing gnupg [######################] 100% Optional dependencies for gnupg libldap: gpg2keys_ldap [installed] libusb-compat: scdaemon pcsclite: scdaemon (104/147) installing gpgme [######################] 100% (105/147) installing pacman-mirrorlist [######################] 100% (106/147) installing archlinux-keyring [######################] 100% (107/147) installing pacman [######################] 100% Optional dependencies for pacman perl-locale-gettext: translation support in makepkg-template (108/147) installing systemd-sysvcompat [######################] 100% (109/147) installing iputils [######################] 100% Optional dependencies for iputils xinetd: for tftpd (110/147) installing iproute2 [######################] 100% Optional dependencies for iproute2 linux-atm: ATM support (111/147) installing base [######################] 100% Optional dependencies for base linux: bare metal support (112/147) installing m4 [######################] 100% (113/147) installing diffutils [######################] 100% (114/147) installing autoconf [######################] 100% (115/147) installing automake [######################] 100% (116/147) installing binutils [######################] 100% (117/147) installing bison [######################] 100% (118/147) installing fakeroot [######################] 100% (119/147) installing flex [######################] 100% (120/147) installing libmpc [######################] 100% (121/147) installing gcc [######################] 100% Optional dependencies for gcc lib32-gcc-libs: for generating code for 32-bit ABI (122/147) 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 (123/147) installing libtool [######################] 100% (124/147) installing texinfo [######################] 100% (125/147) installing gc [######################] 100% (126/147) installing guile [######################] 100% (127/147) installing make [######################] 100% (128/147) installing patch [######################] 100% Optional dependencies for patch ed: for patch -e functionality (129/147) installing pkgconf [######################] 100% (130/147) installing sudo [######################] 100% (131/147) installing which [######################] 100% (132/147) installing mkinitcpio-busybox [######################] 100% (133/147) 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 (134/147) 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] (135/147) installing linux-firmware [######################] 100% (136/147) installing libaio [######################] 100% (137/147) installing thin-provisioning-tools [######################] 100% (138/147) installing lvm2 [######################] 100% (139/147) installing libedit [######################] 100% (140/147) installing dnssec-anchors [######################] 100% (141/147) installing ldns [######################] 100% Optional dependencies for ldns libpcap: ldns-dpa tool [installed] (142/147) installing openssh [######################] 100% Optional dependencies for openssh xorg-xauth: X11 forwarding x11-ssh-askpass: input passphrase in X (143/147) installing sshpass [######################] 100% (144/147) installing vi [######################] 100% Optional dependencies for vi s-nail: used by the preserve command for notification (145/147) 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] (146/147) installing gpm [######################] 100% (147/147) 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 :: 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 request: daemon-reload ( 4/14) Updating udev hardware database... ( 5/14) Applying kernel sysctl settings... ( 6/14) Creating temporary files... ( 7/14) Reloading device manager configuration... Running in chroot, ignoring request. ( 8/14) Arming ConditionNeedsUpdate... ( 9/14) Updating module dependencies... (10/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: 4.19.98-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: 4.19.98-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 (11/14) Reloading system bus configuration... Running in chroot, ignoring request: try-reload-or-restart (12/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"). (13/14) Updating the info directory file... (14/14) Rebuilding certificate stores... pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass v 32.27s user 7.97s system 13% cpu 4:48.26 total
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-Highlighting
installiert.
Optional, aber dringend empfohlen, ist nachfolgendes Paket:
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.
Systemkonfiguration: /mnt
/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 UUID=4df0fcd7-fade-4887-81c5-fdc78f96572d / ext4 rw,relatime 0 1 # /dev/vda1 UUID=0a4eca7f-882b-4ea1-a950-d2b4636d325c /boot ext4 rw,relatime 0 2 # /dev/mapper/archlinux-home UUID=777a7860-c768-4277-8c0c-c9194fcd2ec5 /home ext4 rw,relatime 0 2 # /dev/mapper/archlinux-var UUID=c341665d-3f02-4fff-bfd5-346233987ccc /var ext4 rw,relatime 0 2 # /dev/mapper/archlinux-var_log UUID=7f70accb-6bc6-47be-85a6-cf6fb86a6958 /var/log ext4 rw,relatime 0 2 # /dev/mapper/archlinux-swap UUID=9399a618-575f-4ef2-bfaf-6b259c1147fd none swap defaults 0 0
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
WICHTIG - Nachfolgende Anpassung ist sehr wichtig, da sonst das LVM nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!
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
lvm2
wie folgt VOR dem Schlüsselwort filesystems
ergänzt werden, wie nachfolgend gezeigt:
[root@archiso /]# vim /etc/mkinitcpio.conf
(Nur relevanter Ausschnitt) VORHER:
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
NACHHER:
# Tachtler # default: HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) HOOKS=(base udev autodetect modconf block lvm2 filesystems keyboard fsck)
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: 4.19.98-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: [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: 4.19.98-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: [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
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-5 Total Download Size: 6.68 MiB Total Installed Size: 32.53 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... grub-2:2.04-5-x86_64 6.7 MiB 1210 KiB/s 00:06 [######################] 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...
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.
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ärungen:
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 Benzeichner bei Netzwerkkarten wieder die Notation ethX
(Das X
steht für eine Zahl) verwendet wird!
GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"
Hier muss am ende der Zeile das laden des Moduls lvm
hinzugefügt werden, da sonst bei Änderungen am Dateisystem, welches auch den Bootloader GRUB betrifft, nachfolgende Fehlermeldung vermiden werden kann. (Die Fehlermeldung ist zwar „nur“ ein Hinweis und kosmetischer Natur.)
File descriptor 6 (socket:[18177]) leaked on vgs invocation. Parent PID 757: /usr/bin/grub-probe File descriptor 7 (socket:[18178]) leaked on vgs invocation. Parent PID 757: /usr/bin/grub-probe File descriptor 8 (socket:[18188]) leaked on vgs invocation. Parent PID 757: /usr/bin/grub-probe
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
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 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:
# exit exit arch-chroot /mnt/ 12.59s user 2.20s system 0% cpu 1:40:38.73 total
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 ~ # 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_profile
Damit die Konfigurationsdatei ~/.bashrc
auch angezogen wird, ist nachfolgende Konfigurationsdatei
~/.bash_profile
falls nicht schon vorhanden, mit nachfolgenden Inhalt, ebenfalls neu zu erstellen:
[root@archlinux ~]# vim ~/.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 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
Problembehandlung
IPv6 DAD - tentative
Falls nach Inbetriebnahme von ipv6-Adressen, diese nach einem Neustart z.B. nicht an den SSH-Daemon/Dienst gebunden werden können, kann dies an der DAD (Duplicate Address Detection) liegen.
Bei aktivieren von ipv6-Adressen wird überprüft, ob diese Adressen bereits im Netzwerk gefunden werden können und somit nicht eindeutig sind, was dann eine Deaktivierung zur folge hätte. Solange diese Prüfung nicht abgeschlossen ist, befinden sich die ipv6-Adressen in einem Zustand der als „tentative“ (vorläufig, provisorisch) ist.
Solange die ipv6 Adressen sich im Zustand „tentative“ (vorläufig, provisorisch) befinden, kann sich kein Dienst an diese ipv6 Adressen binden.
ACHTUNG - Die Lösung des Problems kann darin liegen, die Prüfung DAD (Duplicate Address Detection) zu deaktivieren.
Dazu soll nachfolgende Konfigurationsdatei in nachfolgendem Verzeichnis mit nachfolgendem Namen neu erstellt werden:
/ets/sysctl.d/40-ipv6dad.conf
Der Inhalt dieser Datei kann wie folgt aussehen und deaktiviert für jedes Netzwerk-Interface die DAD (Duplicate Address Detection):
net.ipv6.conf.eth0.accept_dad = 0