Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_minimal_server_installation_-_mit_btrfs

Dies ist eine alte Version des Dokuments!


ArchLinux - Minimal Server Installation - mit Btrfs

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.

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:

ArchLinux - ISO - Boot

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.

  1. 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/Label Dateisystem
/dev/vda
/dev/vda1 19 GB
- root ROOT btrfs
- tmp TMP btrfs
- var_log LOG btrfs
- snapshots SNAPSHOTS btrfs
- btrfs subvolid=5 btrfs
/dev/vda2 1 GB SWAP swap
SUMME 20 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: 20 GiB, 21474836480 bytes, 41943040 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).
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 0xf71ce3f7.

Command (m for help):

Schritt 2: Erste Partition anlegen

Durch nachfolgende Befehle wird eine

  • neue „primäre“ Partition
  • mit der Nummer 1
  • in der Größe der kompletten Festplatte abzüglich 1GB angelegt:

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. p
  3. 1
  4. [Enter/Return]-Taste = Bestätigung für „First sector 2048“
  5. 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-41943039, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): -1024M

Created a new partition 1 of type 'Linux' and of size 19 GiB.

Anschliessend 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: 20 GiB, 21474836480 bytes, 41943040 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: 0xe240b804

Device     Boot Start      End  Sectors Size Id Type
/dev/vda1        2048 39845887 39843840  19G 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:

  1. n
  2. p
  3. 2
  4. [Enter/Return]-Taste = Bestätigung für „First sector …“
  5. [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 (39845888-41943039, default 39845888): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (39845888-41943039, default 41943039): 

Created a new partition 2 of type 'Linux' and of size 1 GiB.

Anschliessend 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: 20 GiB, 21474836480 bytes, 41943040 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: 0xe240b804

Device     Boot    Start      End  Sectors Size Id Type
/dev/vda1           2048 39845887 39843840  19G 83 Linux
/dev/vda2       39845888 41943039  2097152   1G 83 Linux

Schritt 4: Zweite Partition Typ ändern

Anschließend muss der Partitionstyp bei der zweiten Partition auf Linux LVM mit nachfolgenden Tasten angepasst werden:

  1. t
  2. [Enter/Return]-Taste = Bestätigung für „Partition number (1,2, default 2)“
  3. 82
Command (m for help): t
Partition number (1-3, default 3): 2
Hex code or alias (type L to list all): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

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: 20 GiB, 21474836480 bytes, 41943040 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: 0xe240b804

Device     Boot    Start      End  Sectors Size Id Type
/dev/vda1           2048 39845887 39843840  19G 83 Linux
/dev/vda2       39845888 41943039  2097152   1G 82 Linux swap / Solaris

Schritt 5: Partitionstabelle schreiben

Anschließend ist nun die Taste

  1. 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 ~ #

Volumes: btrfs, swap

Nachfolgend sollen nun die einzelnen Volumes, Subvolumes und SWAP auf den zuvor angelegten Partitionen erstellt und formatiert werden.

btrfs: Subvolumes

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/vda1 mit dem btrfs-DSubvolumes:

root@archiso ~ # mkfs.btrfs -L ROOT /dev/vda1
btrfs-progs v5.7 
See http://btrfs.wiki.kernel.org for more information.

Label:              ROOT
UUID:               7d67e68c-88c6-486f-b79a-506ca7aa9860
Node size:          16384
Sector size:        4096
Filesystem size:    19.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    19.00GiB  /dev/vda1

swap: swap

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/vda2 mit dem swap-Dateisystem:

root@archiso ~ # mkswap -L SWAP /dev/vda2
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
LABEL=SWAP, UUID=a3a1f6b2-6fbb-435f-8d71-b90f00701fe1

Mount: /boot, Subvolumes, SWAP

mount: /mnt

Bevor nun die einzelnen Btrfs: Subvolumes erzeugt werden können, muss die Partition: /dev/vda2 zuerst auf

  • /mnt

gemountet werden:

root@archiso ~ # mount /dev/vda1 /mnt

Btrfs: subvolumes create

Nachfolgende Befehle erzeugen nun die einzelnen Btrfs: Subvolumes:

root@archiso ~ # btrfs subvolume create /mnt/root
Create subvolume '/mnt/root'
root@archiso ~ # btrfs subvolume create /mnt/tmp
Create subvolume '/mnt/tmp'
root@archiso ~ # btrfs subvolume create /mnt/var_log
Create subvolume '/mnt/var_log'
root@archiso ~ # btrfs subvolume create /mnt/snapshots
Create subvolume '/mnt/snapshots'

umount: /mnt

Als nächstes wird das Verzeichnis /mnt und damit auch /dev/vda2 wieder geumountet, damit nun die einzelnen Btrfs: Subvolumnes gemountet werden können:

root@archiso ~ # umount /mnt

Btrfs: Suvolumes mount

Nachfolgende Befehle mountet zuerst das ROOT Btrfs: Subvolume:

root@archiso ~ # mount -o relatime,space_cache=v2,compress=lzo,subvol=root /dev/vda1 /mnt

:!: WICHTIG - Bevor alle Subvolumes gemountet werden können, müssen die Verzeichnisse dafür erst unter /mnt angelegt werden!

Nachfolgender Befehl legt die noch benötigten Verzeichnisse an, auf denen die Btrfs: Subvolumes dann gemountet werden können:

root@archiso ~ # mkdir -p /mnt/{boot,tmp,var/log,btrfs}

:!: HINWEIS - Das Btrfs: Subvolume SNAPSHOTS fehlt hier bewusst!

Nachfolgende Befehle mounten die restlichen Btrfs: Subvolumes:

root@archiso ~ # mount -o relatime,space_cache=v2,compress=lzo,subvol=tmp /dev/vda1 /mnt/tmp
root@archiso ~ # mount -o relatime,space_cache=v2,compress=lzo,subvol=var_log /dev/vda1 /mnt/var/log

:!: ACHTUNG - Bitte die Angabe subvolid=5 beachten!

root@archiso ~ # mount -o relatime,space_cache=v2,compress=lzo,subvolid=5 /dev/vda1 /mnt/btrfs

swap: SWAP aktivieren

Nachfolgende Befehle aktiviert noch die SWAP Partition:

root@archiso ~ # swapon /dev/vda2

Überprüfung: mount-Punkte

Ob vorhergehende Konfigurationen auch korrekt durchgeführt wurden, kann mit nachfolgenden Befehlen überprüft werden:

root@archiso ~ # mount | grep /dev/vda
/dev/vda1 on /mnt type btrfs (rw,relatime,compress=lzo,space_cache=v2,subvolid=256,subvol=/root)
/dev/vda1 on /mnt/tmp type btrfs (rw,relatime,compress=lzo,space_cache=v2,subvolid=258,subvol=/tmp)
/dev/vda1 on /mnt/var/log type btrfs (rw,relatime,compress=lzo,space_cache=v2,subvolid=259,subvol=/var_log)
/dev/vda1 on /mnt/btrfs type btrfs (rw,relatime,compress=lzo,space_cache=v2,subvolid=5,subvol=/)

bzw.

root@archiso ~ # lsblk /dev/vda
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0  20G  0 disk 
├─vda1 254:1    0  19G  0 part /mnt/btrfs
└─vda2 254:2    0   1G  0 part [SWAP]

Für die Aktivierung der SWAP Partition:

root@archiso ~ # free -h  
              total        used        free      shared  buff/cache   available
Mem:          979Mi        78Mi       507Mi       144Mi       393Mi       617Mi
Swap:         1.0Gi          0B       1.0Gi

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.

Um nur die lokalen 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

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-09-17 08:33:32 UTC
# From:       https://www.archlinux.org/mirrors/status/json/
# Retrieved:  2020-09-17 08:33:29 UTC
# Last Check: 2020-09-17 07:51:17 UTC

Server = https://mirror.23media.com/archlinux/$repo/os/$arch
Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch
Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch
Server = https://mirror.bethselamin.de/$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://ftp.fau.de/archlinux/$repo/os/$arch
Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch
Server = https://mirror.satis-faction.de/archlinux/$repo/os/$arch
Server = https://archlinux.thaller.ws/$repo/os/$arch
Server = https://appuals.com/archlinux/$repo/os/$arch
Server = https://www.ratenzahlung.de/mirror/archlinux/$repo/os/$arch
Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch
Server = https://ger.mirror.pkgbuild.com/$repo/os/$arch
Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch
Server = https://mirror.selfnet.de/archlinux/$repo/os/$arch
Server = https://mirror.orbit-os.com/archlinux/$repo/os/$arch
Server = https://arch.unixpeople.org/$repo/os/$arch
Server = https://mirror.fsrv.services/archlinux/$repo/os/$arch
Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch
Server = https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch
Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
Server = https://mirror.gnomus.de/$repo/os/$arch
Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
Server = https://arch.jensgutermuth.de/$repo/os/$arch
Server = https://mirror.chaoticum.net/arch/$repo/os/$arch
Server = https://mirror.pkgbuild.com/$repo/os/$arch
Server = https://phinau.de/arch/$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                                131.7 KiB  1062 KiB/s 00:00 [####################################] 100%
 extra                              1664.6 KiB   358 KiB/s 00:05 [####################################] 100%
 community                             5.2 MiB   762 KiB/s 00:07 [####################################] 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 (152) acl-2.2.53-3  archlinux-keyring-20200820-1  argon2-20190702-3  attr-2.4.48-3  audit-2.8.5-6
               bash-5.0.018-1  bzip2-1.0.8-3  ca-certificates-20181109-4  ca-certificates-mozilla-3.56-1
               ca-certificates-utils-20181109-4  coreutils-8.32-1  cryptsetup-2.3.4-1  curl-7.72.0-2
               db-5.3.28-5  dbus-1.12.20-1  device-mapper-2.02.187-3  diffutils-3.7-3
               dnssec-anchors-20190629-2  e2fsprogs-1.45.6-2  elfutils-0.180-1  expat-2.2.9-3
               filesystem-2020.08.21-1  gc-8.0.4-4  gcc-libs-10.2.0-2  gdbm-1.18.1-3  glib2-2.64.5-1
               glibc-2.32-4  gmp-6.2.0-1  gnupg-2.2.23-1  gnutls-3.6.15-1  gpgme-1.14.0-1
               gpm-1.20.7.r27.g1fd1941-2  guile-2.2.6-2  hwids-20200813.1-1  iana-etc-20200905-1
               icu-67.1-1  iproute2-5.8.0-1  iptables-1:1.8.5-2  iputils-20190709-3  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-551-3
               libaio-0.3.112-2  libarchive-3.4.3-1  libassuan-2.5.3-2  libcap-2.43-1  libcap-ng-0.7.11-2
               libcroco-0.6.13-2  libedit-20191231_3.1-2  libelf-0.180-1  libffi-3.3-3  libgcrypt-1.8.6-1
               libgpg-error-1.39-1  libidn2-2.3.0-1  libksba-1.4.0-2  libldap-2.4.50-2
               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.7-1  libnghttp2-1.41.0-1  libnl-3.5.0-2
               libp11-kit-0.23.21-1  libpcap-1.9.1-2  libpsl-0.21.1-1  libsasl-2.1.27-3  libseccomp-2.4.2-1
               libsecret-0.20.3-1  libssh2-1.9.0-2  libtasn1-4.16.0-1  libtirpc-1.2.6-1
               libunistring-0.9.10-2  libusb-1.0.23-2  libutil-linux-2.36-3  libxcrypt-4.4.17-1
               libxml2-2.9.10-2  licenses-20200427-1  linux-api-headers-5.8-1  lz4-1:1.9.2-2  lzo-2.10-3
               mkinitcpio-28-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.g-2  p11-kit-0.23.21-1  pacman-mirrorlist-20200801-1  pam-1.4.0-3
               pambase-20200721.1-2  pciutils-3.7.0-1  pcre-8.44-1  pcre2-10.35-1  perl-5.32.0-1
               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.33.0-2  systemd-246.4-1  systemd-libs-246.4-1
               systemd-sysvcompat-246.4-1  tar-1.32-3  thin-provisioning-tools-0.9.0-1  tzdata-2020a-1
               util-linux-2.36-3  vim-runtime-8.2.1634-1  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-2  bison-3.6.4-1
               btrfs-progs-5.7-1  fakeroot-1.24-2  file-5.39-1  findutils-4.7.0-2  flex-2.6.4-3
               gawk-5.1.0-1  gcc-10.2.0-2  gettext-0.21-1  grep-3.4-1  groff-1.22.4-3  gzip-1.10-3
               libtool-2.4.6+42+gb88cebd5-14  linux-firmware-20200817.7a30af1-1  linux-lts-5.4.63-1
               lvm2-2.02.187-3  m4-1.4.18-3  make-4.3-3  openssh-8.3p1-4  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.2-1  texinfo-6.7-3  vi-1:070224-4
               vim-8.2.1634-1  which-2.21-5

Total Download Size:    384.79 MiB
Total Installed Size:  1494.87 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 iana-etc-20200905-1-any             389.4 KiB   485 KiB/s 00:01 [####################################] 100%
 filesystem-2020.08.21-1-x86_64       29.1 KiB  1453 KiB/s 00:00 [####################################] 100%
 linux-api-headers-5.8-1-any        1082.6 KiB  1108 KiB/s 00:01 [####################################] 100%
 tzdata-2020a-1-x86_64               366.5 KiB  1490 KiB/s 00:00 [####################################] 100%
 glibc-2.32-4-x86_64                   9.8 MiB  1181 KiB/s 00:09 [####################################] 100%
 gcc-libs-10.2.0-2-x86_64             31.5 MiB  1442 KiB/s 00:22 [####################################] 100%
 ncurses-6.2-1-x86_64               1141.2 KiB  1409 KiB/s 00:01 [####################################] 100%
 readline-8.0.004-1-x86_64           309.7 KiB  1518 KiB/s 00:00 [####################################] 100%
 bash-5.0.018-1-x86_64              1655.0 KiB  1461 KiB/s 00:01 [####################################] 100%
 attr-2.4.48-3-x86_64                 69.0 KiB  1916 KiB/s 00:00 [####################################] 100%
 acl-2.2.53-3-x86_64                 136.6 KiB  1570 KiB/s 00:00 [####################################] 100%
 gmp-6.2.0-1-x86_64                  439.6 KiB  1480 KiB/s 00:00 [####################################] 100%
 libcap-2.43-1-x86_64                 58.0 KiB  1705 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  1432 KiB/s 00:01 [####################################] 100%
 perl-5.32.0-1-x86_64                 15.1 MiB  1448 KiB/s 00:11 [####################################] 100%
 openssl-1.1.1.g-2-x86_64              3.6 MiB  1453 KiB/s 00:03 [####################################] 100%
 coreutils-8.32-1-x86_64               2.7 MiB  1451 KiB/s 00:02 [####################################] 100%
 zlib-1:1.2.11-4-x86_64               81.5 KiB  1895 KiB/s 00:00 [####################################] 100%
 xz-5.2.5-1-x86_64                   300.9 KiB  1535 KiB/s 00:00 [####################################] 100%
 bzip2-1.0.8-3-x86_64                 53.4 KiB  1782 KiB/s 00:00 [####################################] 100%
 libseccomp-2.4.2-1-x86_64            99.5 KiB  1486 KiB/s 00:00 [####################################] 100%
 file-5.39-1-x86_64                  330.7 KiB  1503 KiB/s 00:00 [####################################] 100%
 findutils-4.7.0-2-x86_64            454.6 KiB  1485 KiB/s 00:00 [####################################] 100%
 mpfr-4.1.0-1-x86_64                1485.7 KiB  1461 KiB/s 00:01 [####################################] 100%
 gawk-5.1.0-1-x86_64                1139.2 KiB  1466 KiB/s 00:01 [####################################] 100%
 pcre-8.44-1-x86_64                  969.0 KiB  1410 KiB/s 00:01 [####################################] 100%
 grep-3.4-1-x86_64                   204.2 KiB  1535 KiB/s 00:00 [####################################] 100%
 libgpg-error-1.39-1-x86_64          231.5 KiB  1503 KiB/s 00:00 [####################################] 100%
 libgcrypt-1.8.6-1-x86_64            530.8 KiB  1475 KiB/s 00:00 [####################################] 100%
 lz4-1:1.9.2-2-x86_64                109.4 KiB  1563 KiB/s 00:00 [####################################] 100%
 zstd-1.4.5-1-x86_64                 655.5 KiB  1466 KiB/s 00:00 [####################################] 100%
 systemd-libs-246.4-1-x86_64         505.1 KiB  1499 KiB/s 00:00 [####################################] 100%
 procps-ng-3.3.16-2-x86_64           374.0 KiB  1496 KiB/s 00:00 [####################################] 100%
 sed-4.8-1-x86_64                    237.9 KiB  1525 KiB/s 00:00 [####################################] 100%
 tar-1.32-3-x86_64                   742.3 KiB  1473 KiB/s 00:01 [####################################] 100%
 libffi-3.3-3-x86_64                  37.9 KiB  2.85 MiB/s 00:00 [####################################] 100%
 libutil-linux-2.36-3-x86_64         416.6 KiB  1488 KiB/s 00:00 [####################################] 100%
 glib2-2.64.5-1-x86_64                 2.8 MiB  1455 KiB/s 00:02 [####################################] 100%
 libunistring-0.9.10-2-x86_64        498.6 KiB  1479 KiB/s 00:00 [####################################] 100%
 icu-67.1-1-x86_64                    10.4 MiB  1448 KiB/s 00:07 [####################################] 100%
 gettext-0.21-1-x86_64                 2.1 MiB  1454 KiB/s 00:01 [####################################] 100%
 hwids-20200813.1-1-any              455.7 KiB  1470 KiB/s 00:00 [####################################] 100%
 kmod-27-2-x86_64                    104.6 KiB  1635 KiB/s 00:00 [####################################] 100%
 pciutils-3.7.0-1-x86_64              99.6 KiB  1660 KiB/s 00:00 [####################################] 100%
 psmisc-23.3-2-x86_64                110.1 KiB  1488 KiB/s 00:00 [####################################] 100%
 e2fsprogs-1.45.6-2-x86_64          1195.7 KiB  1453 KiB/s 00:01 [####################################] 100%
 libsasl-2.1.27-3-x86_64             146.1 KiB  1554 KiB/s 00:00 [####################################] 100%
 libldap-2.4.50-2-x86_64             303.7 KiB  1496 KiB/s 00:00 [####################################] 100%
 keyutils-1.6.3-1-x86_64             102.1 KiB  1701 KiB/s 00:00 [####################################] 100%
 krb5-1.18.2-1-x86_64               1332.1 KiB  1453 KiB/s 00:01 [####################################] 100%
 libtirpc-1.2.6-1-x86_64             177.2 KiB  1569 KiB/s 00:00 [####################################] 100%
 pambase-20200721.1-2-any              3.0 KiB  0.00   B/s 00:00 [####################################] 100%
 libcap-ng-0.7.11-2-x86_64            37.6 KiB  2.16 MiB/s 00:00 [####################################] 100%
 audit-2.8.5-6-x86_64                338.5 KiB  1453 KiB/s 00:00 [####################################] 100%
 pam-1.4.0-3-x86_64                  583.4 KiB  1409 KiB/s 00:00 [####################################] 100%
 libxcrypt-4.4.17-1-x86_64            89.7 KiB  1793 KiB/s 00:00 [####################################] 100%
 shadow-4.8.1-4-x86_64              1194.2 KiB  1469 KiB/s 00:01 [####################################] 100%
 util-linux-2.36-3-x86_64              2.5 MiB  1453 KiB/s 00:02 [####################################] 100%
 less-551-3-x86_64                   100.9 KiB  1602 KiB/s 00:00 [####################################] 100%
 gzip-1.10-3-x86_64                   77.8 KiB  1810 KiB/s 00:00 [####################################] 100%
 licenses-20200427-1-any              69.6 KiB  1740 KiB/s 00:00 [####################################] 100%
 expat-2.2.9-3-x86_64                 94.6 KiB  1751 KiB/s 00:00 [####################################] 100%
 libarchive-3.4.3-1-x86_64           505.1 KiB  1486 KiB/s 00:00 [####################################] 100%
 libtasn1-4.16.0-1-x86_64            121.3 KiB  1662 KiB/s 00:00 [####################################] 100%
 libp11-kit-0.23.21-1-x86_64         494.9 KiB  1482 KiB/s 00:00 [####################################] 100%
 p11-kit-0.23.21-1-x86_64            140.4 KiB  1448 KiB/s 00:00 [####################################] 100%
 ca-certificates-utils-20181109...     8.0 KiB  2004 KiB/s 00:00 [####################################] 100%
 ca-certificates-mozilla-3.56-1...   330.9 KiB  1420 KiB/s 00:00 [####################################] 100%
 ca-certificates-20181109-4-any     2013.0   B  0.00   B/s 00:00 [####################################] 100%
 libssh2-1.9.0-2-x86_64              205.8 KiB  1439 KiB/s 00:00 [####################################] 100%
 libidn2-2.3.0-1-x86_64              115.9 KiB  1566 KiB/s 00:00 [####################################] 100%
 libpsl-0.21.1-1-x86_64               79.6 KiB  1501 KiB/s 00:00 [####################################] 100%
 libnghttp2-1.41.0-1-x86_64           97.6 KiB  1627 KiB/s 00:00 [####################################] 100%
 curl-7.72.0-2-x86_64               1043.5 KiB  1470 KiB/s 00:01 [####################################] 100%
 npth-1.6-2-x86_64                    12.8 KiB  0.00   B/s 00:00 [####################################] 100%
 libksba-1.4.0-2-x86_64              135.3 KiB  1631 KiB/s 00:00 [####################################] 100%
 libassuan-2.5.3-2-x86_64             85.0 KiB  1700 KiB/s 00:00 [####################################] 100%
 libsecret-0.20.3-1-x86_64           236.8 KiB  1508 KiB/s 00:00 [####################################] 100%
 pinentry-1.1.0-5-x86_64             101.6 KiB  1694 KiB/s 00:00 [####################################] 100%
 nettle-3.6-1-x86_64                 405.2 KiB  1501 KiB/s 00:00 [####################################] 100%
 gnutls-3.6.15-1-x86_64                2.7 MiB  1453 KiB/s 00:02 [####################################] 100%
 sqlite-3.33.0-2-x86_64             1709.5 KiB  1456 KiB/s 00:01 [####################################] 100%
 gnupg-2.2.23-1-x86_64                 2.4 MiB  1454 KiB/s 00:02 [####################################] 100%
 gpgme-1.14.0-1-x86_64               441.8 KiB  1488 KiB/s 00:00 [####################################] 100%
 pacman-mirrorlist-20200801-1-any      6.4 KiB  0.00   B/s 00:00 [####################################] 100%
 archlinux-keyring-20200820-1-any    936.8 KiB  1450 KiB/s 00:01 [####################################] 100%
 pacman-5.2.2-1-x86_64               838.6 KiB  1471 KiB/s 00:01 [####################################] 100%
 device-mapper-2.02.187-3-x86_64     292.3 KiB  1515 KiB/s 00:00 [####################################] 100%
 popt-1.18-1-x86_64                   67.7 KiB  1538 KiB/s 00:00 [####################################] 100%
 json-c-0.15-1-x86_64                 53.9 KiB  1497 KiB/s 00:00 [####################################] 100%
 argon2-20190702-3-x86_64             33.1 KiB  2.31 MiB/s 00:00 [####################################] 100%
 cryptsetup-2.3.4-1-x86_64           568.3 KiB  1472 KiB/s 00:00 [####################################] 100%
 dbus-1.12.20-1-x86_64               315.3 KiB  1523 KiB/s 00:00 [####################################] 100%
 libmnl-1.0.4-3-x86_64                10.4 KiB  2.55 MiB/s 00:00 [####################################] 100%
 libnftnl-1.1.7-1-x86_64              69.9 KiB  1488 KiB/s 00:00 [####################################] 100%
 libnl-3.5.0-2-x86_64                364.7 KiB  1459 KiB/s 00:00 [####################################] 100%
 libusb-1.0.23-2-x86_64               57.0 KiB  1901 KiB/s 00:00 [####################################] 100%
 libpcap-1.9.1-2-x86_64              240.0 KiB  1473 KiB/s 00:00 [####################################] 100%
 libnfnetlink-1.0.1-4-x86_64          17.4 KiB  0.00   B/s 00:00 [####################################] 100%
 libnetfilter_conntrack-1.0.8-1...    49.4 KiB  1648 KiB/s 00:00 [####################################] 100%
 iptables-1:1.8.5-2-x86_64           431.9 KiB  1489 KiB/s 00:00 [####################################] 100%
 kbd-2.3.0-2-x86_64                 1184.7 KiB  1463 KiB/s 00:01 [####################################] 100%
 libelf-0.180-1-x86_64               450.4 KiB  1425 KiB/s 00:00 [####################################] 100%
 pcre2-10.35-1-x86_64               1108.2 KiB  1445 KiB/s 00:01 [####################################] 100%
 systemd-246.4-1-x86_64                5.9 MiB  1450 KiB/s 00:04 [####################################] 100%
 systemd-sysvcompat-246.4-1-x86_64     5.7 KiB  0.00   B/s 00:00 [####################################] 100%
 iputils-20190709-3-x86_64            96.8 KiB  1699 KiB/s 00:00 [####################################] 100%
 iproute2-5.8.0-1-x86_64             962.3 KiB  1465 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  1460 KiB/s 00:00 [####################################] 100%
 diffutils-3.7-3-x86_64              324.1 KiB  1473 KiB/s 00:00 [####################################] 100%
 autoconf-2.69-7-any                 591.2 KiB  1501 KiB/s 00:00 [####################################] 100%
 automake-1.16.2-3-any               603.5 KiB  1461 KiB/s 00:00 [####################################] 100%
 libmicrohttpd-0.9.71-1-x86_64       202.9 KiB  1560 KiB/s 00:00 [####################################] 100%
 elfutils-0.180-1-x86_64             619.8 KiB  1476 KiB/s 00:00 [####################################] 100%
 binutils-2.35-2-x86_64                5.3 MiB  1451 KiB/s 00:04 [####################################] 100%
 bison-3.6.4-1-x86_64                703.4 KiB  1487 KiB/s 00:00 [####################################] 100%
 fakeroot-1.24-2-x86_64               67.0 KiB  1811 KiB/s 00:00 [####################################] 100%
 flex-2.6.4-3-x86_64                 297.2 KiB  1517 KiB/s 00:00 [####################################] 100%
 libmpc-1.1.0-2-x86_64                65.1 KiB  1759 KiB/s 00:00 [####################################] 100%
 gcc-10.2.0-2-x86_64                  31.5 MiB  1446 KiB/s 00:22 [####################################] 100%
 groff-1.22.4-3-x86_64              2044.3 KiB  1453 KiB/s 00:01 [####################################] 100%
 libtool-2.4.6+42+gb88cebd5-14-...   407.4 KiB  1509 KiB/s 00:00 [####################################] 100%
 texinfo-6.7-3-x86_64               1397.6 KiB  1476 KiB/s 00:01 [####################################] 100%
 make-4.3-3-x86_64                   481.6 KiB  1491 KiB/s 00:00 [####################################] 100%
 patch-2.7.6-8-x86_64                 92.5 KiB  1623 KiB/s 00:00 [####################################] 100%
 pkgconf-1.7.3-1-x86_64               58.2 KiB  1454 KiB/s 00:00 [####################################] 100%
 sudo-1.9.2-1-x86_64                1082.3 KiB  1455 KiB/s 00:01 [####################################] 100%
 which-2.21-5-x86_64                  15.8 KiB  0.00   B/s 00:00 [####################################] 100%
 mkinitcpio-busybox-1.31.1-2-x86_64  270.3 KiB  1554 KiB/s 00:00 [####################################] 100%
 mkinitcpio-28-1-any                  42.1 KiB  2.05 MiB/s 00:00 [####################################] 100%
 linux-lts-5.4.63-1-x86_64            68.4 MiB  1445 KiB/s 00:48 [####################################] 100%
 linux-firmware-20200817.7a30af...   121.6 MiB  1443 KiB/s 01:26 [####################################] 100%
 libaio-0.3.112-2-x86_64               6.3 KiB  0.00   B/s 00:00 [####################################] 100%
 thin-provisioning-tools-0.9.0-...   491.0 KiB   963 KiB/s 00:01 [####################################] 100%
 lvm2-2.02.187-3-x86_64             1477.0 KiB  1462 KiB/s 00:01 [####################################] 100%
 libedit-20191231_3.1-2-x86_64       107.2 KiB  1532 KiB/s 00:00 [####################################] 100%
 dnssec-anchors-20190629-2-any         3.1 KiB  0.00   B/s 00:00 [####################################] 100%
 ldns-1.7.1-2-x86_64                 435.9 KiB  1453 KiB/s 00:00 [####################################] 100%
 openssh-8.3p1-4-x86_64              892.7 KiB  1463 KiB/s 00:01 [####################################] 100%
 vi-1:070224-4-x86_64                152.2 KiB  1585 KiB/s 00:00 [####################################] 100%
 gpm-1.20.7.r27.g1fd1941-2-x86_64    132.0 KiB  1518 KiB/s 00:00 [####################################] 100%
 lzo-2.10-3-x86_64                    82.5 KiB  1651 KiB/s 00:00 [####################################] 100%
 btrfs-progs-5.7-1-x86_64            852.3 KiB   773 KiB/s 00:01 [####################################] 100%
 libxml2-2.9.10-2-x86_64            1335.6 KiB   713 KiB/s 00:02 [####################################] 100%
 libcroco-0.6.13-2-x86_64            155.3 KiB  1601 KiB/s 00:00 [####################################] 100%
 gc-8.0.4-4-x86_64                   234.7 KiB  1534 KiB/s 00:00 [####################################] 100%
 guile-2.2.6-2-x86_64                  6.4 MiB   994 KiB/s 00:07 [####################################] 100%
 vim-runtime-8.2.1634-1-x86_64         6.3 MiB  1214 KiB/s 00:05 [####################################] 100%
 vim-8.2.1634-1-x86_64              1745.7 KiB   842 KiB/s 00:02 [####################################] 100%
 sshpass-1.06-3-x86_64                 9.8 KiB  0.00   B/s 00:00 [####################################] 100%
(152/152) checking keys in keyring                               [####################################] 100%
(152/152) checking package integrity                             [####################################] 100%
(152/152) loading package files                                  [####################################] 100%
(152/152) checking for file conflicts                            [####################################] 100%
(152/152) checking available disk space                          [####################################] 100%
:: Processing package changes...
(  1/152) installing iana-etc                                    [####################################] 100%
(  2/152) installing filesystem                                  [####################################] 100%
(  3/152) installing linux-api-headers                           [####################################] 100%
(  4/152) installing tzdata                                      [####################################] 100%
(  5/152) installing glibc                                       [####################################] 100%
Optional dependencies for glibc
    gd: for memusagestat
(  6/152) installing gcc-libs                                    [####################################] 100%
(  7/152) installing ncurses                                     [####################################] 100%
(  8/152) installing readline                                    [####################################] 100%
(  9/152) installing bash                                        [####################################] 100%
Optional dependencies for bash
    bash-completion: for tab completion
( 10/152) installing attr                                        [####################################] 100%
( 11/152) installing acl                                         [####################################] 100%
( 12/152) installing gmp                                         [####################################] 100%
( 13/152) installing libcap                                      [####################################] 100%
( 14/152) installing gdbm                                        [####################################] 100%
( 15/152) installing db                                          [####################################] 100%
( 16/152) installing perl                                        [####################################] 100%
( 17/152) installing openssl                                     [####################################] 100%
Optional dependencies for openssl
    ca-certificates [pending]
( 18/152) installing coreutils                                   [####################################] 100%
( 19/152) installing zlib                                        [####################################] 100%
( 20/152) installing xz                                          [####################################] 100%
( 21/152) installing bzip2                                       [####################################] 100%
( 22/152) installing libseccomp                                  [####################################] 100%
( 23/152) installing file                                        [####################################] 100%
( 24/152) installing findutils                                   [####################################] 100%
( 25/152) installing mpfr                                        [####################################] 100%
( 26/152) installing gawk                                        [####################################] 100%
( 27/152) installing pcre                                        [####################################] 100%
( 28/152) installing grep                                        [####################################] 100%
( 29/152) installing libgpg-error                                [####################################] 100%
( 30/152) installing libgcrypt                                   [####################################] 100%
( 31/152) installing lz4                                         [####################################] 100%
( 32/152) installing zstd                                        [####################################] 100%
( 33/152) installing systemd-libs                                [####################################] 100%
( 34/152) installing procps-ng                                   [####################################] 100%
( 35/152) installing sed                                         [####################################] 100%
( 36/152) installing tar                                         [####################################] 100%
( 37/152) installing libffi                                      [####################################] 100%
( 38/152) installing libutil-linux                               [####################################] 100%
( 39/152) installing glib2                                       [####################################] 100%
Optional dependencies for glib2
    python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
    libelf: gresource inspection tool [pending]
( 40/152) installing libunistring                                [####################################] 100%
( 41/152) installing icu                                         [####################################] 100%
( 42/152) installing libxml2                                     [####################################] 100%
( 43/152) installing libcroco                                    [####################################] 100%
( 44/152) installing gettext                                     [####################################] 100%
Optional dependencies for gettext
    git: for autopoint infrastructure updates
( 45/152) installing hwids                                       [####################################] 100%
( 46/152) installing kmod                                        [####################################] 100%
( 47/152) installing pciutils                                    [####################################] 100%
( 48/152) installing psmisc                                      [####################################] 100%
( 49/152) installing e2fsprogs                                   [####################################] 100%
( 50/152) installing libsasl                                     [####################################] 100%
( 51/152) installing libldap                                     [####################################] 100%
( 52/152) installing keyutils                                    [####################################] 100%
( 53/152) installing krb5                                        [####################################] 100%
( 54/152) installing libtirpc                                    [####################################] 100%
( 55/152) installing pambase                                     [####################################] 100%
( 56/152) installing libcap-ng                                   [####################################] 100%
( 57/152) installing audit                                       [####################################] 100%
( 58/152) installing pam                                         [####################################] 100%
( 59/152) installing libxcrypt                                   [####################################] 100%
( 60/152) installing shadow                                      [####################################] 100%
( 61/152) installing util-linux                                  [####################################] 100%
Optional dependencies for util-linux
    python: python bindings to libmount
    words: default dictionary for look
( 62/152) installing less                                        [####################################] 100%
( 63/152) installing gzip                                        [####################################] 100%
( 64/152) installing licenses                                    [####################################] 100%
( 65/152) installing expat                                       [####################################] 100%
( 66/152) installing libarchive                                  [####################################] 100%
( 67/152) installing libtasn1                                    [####################################] 100%
( 68/152) installing libp11-kit                                  [####################################] 100%
( 69/152) installing p11-kit                                     [####################################] 100%
( 70/152) installing ca-certificates-utils                       [####################################] 100%
( 71/152) installing ca-certificates-mozilla                     [####################################] 100%
( 72/152) installing ca-certificates                             [####################################] 100%
( 73/152) installing libssh2                                     [####################################] 100%
( 74/152) installing libidn2                                     [####################################] 100%
( 75/152) installing libpsl                                      [####################################] 100%
( 76/152) installing libnghttp2                                  [####################################] 100%
( 77/152) installing curl                                        [####################################] 100%
( 78/152) installing npth                                        [####################################] 100%
( 79/152) installing libksba                                     [####################################] 100%
( 80/152) installing libassuan                                   [####################################] 100%
( 81/152) installing libsecret                                   [####################################] 100%
Optional dependencies for libsecret
    org.freedesktop.secrets: secret storage backend
( 82/152) installing pinentry                                    [####################################] 100%
Optional dependencies for pinentry
    gtk2: gtk2 backend
    qt5-base: qt backend
    gcr: gnome3 backend
( 83/152) installing nettle                                      [####################################] 100%
( 84/152) installing gnutls                                      [####################################] 100%
Optional dependencies for gnutls
    guile: for use with Guile bindings [pending]
( 85/152) installing sqlite                                      [####################################] 100%
( 86/152) installing gnupg                                       [####################################] 100%
Optional dependencies for gnupg
    libldap: gpg2keys_ldap [installed]
    libusb-compat: scdaemon
    pcsclite: scdaemon
( 87/152) installing gpgme                                       [####################################] 100%
( 88/152) installing pacman-mirrorlist                           [####################################] 100%
( 89/152) installing archlinux-keyring                           [####################################] 100%
( 90/152) installing pacman                                      [####################################] 100%
Optional dependencies for pacman
    perl-locale-gettext: translation support in makepkg-template
( 91/152) installing device-mapper                               [####################################] 100%
( 92/152) installing popt                                        [####################################] 100%
( 93/152) installing json-c                                      [####################################] 100%
( 94/152) installing argon2                                      [####################################] 100%
( 95/152) installing cryptsetup                                  [####################################] 100%
( 96/152) installing dbus                                        [####################################] 100%
( 97/152) installing libmnl                                      [####################################] 100%
( 98/152) installing libnftnl                                    [####################################] 100%
( 99/152) installing libnl                                       [####################################] 100%
(100/152) installing libusb                                      [####################################] 100%
(101/152) installing libpcap                                     [####################################] 100%
(102/152) installing libnfnetlink                                [####################################] 100%
(103/152) installing libnetfilter_conntrack                      [####################################] 100%
(104/152) installing iptables                                    [####################################] 100%
(105/152) installing kbd                                         [####################################] 100%
(106/152) installing libelf                                      [####################################] 100%
(107/152) installing pcre2                                       [####################################] 100%
(108/152) 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]
(109/152) installing systemd-sysvcompat                          [####################################] 100%
(110/152) installing iputils                                     [####################################] 100%
Optional dependencies for iputils
    xinetd: for tftpd
(111/152) installing iproute2                                    [####################################] 100%
Optional dependencies for iproute2
    linux-atm: ATM support
(112/152) installing base                                        [####################################] 100%
Optional dependencies for base
    linux: bare metal support
(113/152) installing m4                                          [####################################] 100%
(114/152) installing diffutils                                   [####################################] 100%
(115/152) installing autoconf                                    [####################################] 100%
(116/152) installing automake                                    [####################################] 100%
(117/152) installing libmicrohttpd                               [####################################] 100%
(118/152) installing elfutils                                    [####################################] 100%
(119/152) installing binutils                                    [####################################] 100%
(120/152) installing bison                                       [####################################] 100%
(121/152) installing fakeroot                                    [####################################] 100%
(122/152) installing flex                                        [####################################] 100%
(123/152) installing libmpc                                      [####################################] 100%
(124/152) installing gcc                                         [####################################] 100%
Optional dependencies for gcc
    lib32-gcc-libs: for generating code for 32-bit ABI
(125/152) 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
(126/152) installing libtool                                     [####################################] 100%
(127/152) installing texinfo                                     [####################################] 100%
(128/152) installing gc                                          [####################################] 100%
(129/152) installing guile                                       [####################################] 100%
(130/152) installing make                                        [####################################] 100%
(131/152) installing patch                                       [####################################] 100%
Optional dependencies for patch
    ed: for patch -e functionality
(132/152) installing pkgconf                                     [####################################] 100%
(133/152) installing sudo                                        [####################################] 100%
(134/152) installing which                                       [####################################] 100%
(135/152) installing mkinitcpio-busybox                          [####################################] 100%
(136/152) 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
(137/152) 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]
(138/152) installing linux-firmware                              [####################################] 100%
(139/152) installing libaio                                      [####################################] 100%
(140/152) installing thin-provisioning-tools                     [####################################] 100%
(141/152) installing lvm2                                        [####################################] 100%
(142/152) installing libedit                                     [####################################] 100%
(143/152) installing dnssec-anchors                              [####################################] 100%
(144/152) installing ldns                                        [####################################] 100%
Optional dependencies for ldns
    libpcap: ldns-dpa tool [installed]
(145/152) installing openssh                                     [####################################] 100%
Optional dependencies for openssh
    xorg-xauth: X11 forwarding
    x11-ssh-askpass: input passphrase in X
    libfido2: FIDO/U2F support
(146/152) installing sshpass                                     [####################################] 100%
(147/152) installing vi                                          [####################################] 100%
Optional dependencies for vi
    s-nail: used by the preserve command for notification
(148/152) 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]
(149/152) installing gpm                                         [####################################] 100%
(150/152) 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
(151/152) installing lzo                                         [####################################] 100%
(152/152) 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.63-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.63-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  31.85s user 17.71s system 14% cpu 5:45.86 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 Volumes
  • vi - Texteditor für die shell
  • vim - Texteditor für die shell mit Text-Highlighting
  • btrfs-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.

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 ~ # /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/         	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvolid=257,subvol=/root,subvol=root	0 0
 
# /dev/vda1 LABEL=BOOT
UUID=727debe0-7f5b-40a0-8e14-307bf194b426	/boot     	ext4      	rw,relatime	0 2
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/tmp      	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvolid=258,subvol=/tmp,subvol=tmp	0 0
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/var/log  	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvolid=259,subvol=/var_log,subvol=var_log	0 0
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/btrfs    	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/vda3 LABEL=SWAP
UUID=a5c90a51-b8bc-4afd-93c3-ba10566e4c03	none      	swap      	defaults  	0 0

:!: WICHTIG - Nachfolgende Änderungen sind durchzuführen, da sonst NICHT von einem „Snapshot“ gestartet (gebootet) werden kann !!!

Änderungen

  1. Herausnehmen der subvolid, ausser beim Wurzelverzeichnis von Btrfs (/btrfs)
  2. Herausnehmen der subvol=/…, nur beim Wurzelverzeichnis von Btrfs (/btrfs) komplett
  3. Löschen des Eintrags für das / (root)-Verzeichnis, da sonst nicht von einem „Snapshot“ gestartet (gebootet) werden kann !!!.

Anschließend sollte die /mnt/etc/fstab wie folgt aussehen:

# /dev/vda2 LABEL=ROOT
#UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/         	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvol=root	0 0
 
# /dev/vda1 LABEL=BOOT
UUID=727debe0-7f5b-40a0-8e14-307bf194b426	/boot     	ext4      	rw,relatime	0 2
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/tmp      	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvol=tmp	0 0
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/var/log  	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvol=var_log	0 0
 
# /dev/vda2 LABEL=ROOT
UUID=ce38e347-d84b-4b8f-8e6a-3f7f7c02ebc4	/btrfs    	btrfs     	rw,relatime,compress=lzo,space_cache=v2,subvolid=5	0 0
 
# /dev/vda3 LABEL=SWAP
UUID=a5c90a51-b8bc-4afd-93c3-ba10566e4c03	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 Btrfs z.B. mit einer RAID-Konfiguration 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

  • btrfs

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 btrfs 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: 5.4.63-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: [btrfs]
  -> 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.63-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: [btrfs]
  -> 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-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  1447 KiB/s 00:05 [###################################] 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=""

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=""

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!

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 ~ # systemctl reboot

Nach erfolgreichem Neustart, sollte nachfolgender „Boot-Screen“ beim Start des Servers erscheinen, wie die folgende Bildschirmkopie zeigt:

ArchLinux - Boot - Screen

Nach erfolgreichem „Booten“ des Servers, sollte eine Anmeldung als Benutzer root nun möglich sein, wie ebenfalls die folgende Bildschirmkopie zeigt:

ArchLinux - Login - Screen

Hinweise

Nach dem erfolgreichen ersten Start des Servers sind die folgenden Gegebenheiten zu beachten:

  1. Es gibt KEINE Benutzer die sich anmelden können, ausser der Benutzer root!
  2. Es steht KEINE Netzwerkanbindung zur Verfügung!
  3. 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:

  1. Konfiguration einer Netzwerkkarte unter Verwendung und Start durch systemd-Dienstes/Daemons.
  2. Konfiguration und Start des SSH-Dienstes/Daemons mit einer Basiskonfiguration
    1. Zugriff vorübergehend durch den Benutzer root mit Password-Authemtifikation
  3. Komfortkonfiguration für den Benutzer für die Verwendung der shell
    1. .bash_profile
    2. .bashrc
    3. .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

  1. gestoppt
  2. 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

  1. aktiviert
  2. 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-Highlightings
  • set mouse-=a - Deaktivieren des –VISIBLE– Modus
  • set 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.

Die Lösung des Problems liegt darin, 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

Snapshots mit: snapper

Nachfolgender interner Link führt zur Installation und Konfiguration von snapper

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/archlinux_-_minimal_server_installation_-_mit_btrfs.1612041347.txt.gz · Zuletzt geändert: 2021/01/30 22:15 von klaus