Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_minimal_server_installation_-_mit_lvm_und_btrfs

Dies ist eine alte Version des Dokuments!


ArchLinux - Minimal Server Installation - mit LVM und Btrfs

Mein besonderer Dank gilt hier an dieser Stelle Nicolai Mladenoff (unicks.eu), welcher mich durch seine Videos auf seinem Youtube™-Kanal: unicks.eu erst auf die Idee gebracht hat, unter ArchLinux das Dateisystem Btrfs einzusetzen und mir auch wertvolle Verbesserungen zu meinen bisherigen DokuWiki-Einträgen gegeben hat. Vielen Dank noch mal an dieser Stelle!

Die hier verwendete Installationsmethode ist eine Installation von einem ISO-Image/USB-Stick. Es kommt die einzige verfügbare Variante von ArchLinux in der Version 2020.12.01 zum Einsatz.

Herunterladen

Die Installationsquellen, sprich die ISO-Datei, kann unter nachfolgend aufgelistetem Link heruntergeladen werden:

Als Beispiel-Quelle kann hier nachfolgender Link dienen:

Zum Herunterladen der DVD in das Zielverzeichnis /tmp, kann nachfolgender Befehl genutzt werden:

# wget https://www.archlinux.de/download/iso/2020.12.01/archlinux-2020.12.01-x86_64.iso -P /tmp

USB-Stick erstellen

Das ISO-Image kann mit nachfolgendem Befehl auf einen USB-Stick - hier /dev/sdb als startbereite Abbilddatei (bootable image) erstellt werden:

# dd bs=4M if=/tmp/archlinux-2020.12.01-x86_64.iso of=/dev/sdb && sync

Start: ISO-Image

Nach dem Einschalten des Servers, kann mit der Installation begonnen werden, in dem ein Start von dem sich auf dem USB-Stick befindlichen ArchLinux-ISO-Image in der Version 2020.12.01, durchgeführt wird.

BOOT

Falls dies erfolgreich realisiert werden konnte, sollte in etwa nachfolgender Bildschirm erscheinen:

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.

ArchLinux - ISO - Boot - Finished

:!: 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 muss eine Anbindung an das Internet vorhanden bzw. konfigurierbar sein.

Tastaturlayout: deutsch

:!: ACHTUNG - Nach dem starten des ISO-Images wird ein US/Englisches-Tastaturlayout verwendet!

Damit alle nachfolgenden Eingaben unter Verwendung eines deutschen Tastaturlayouts durchgeführt werden können, ist nachfolgender Befehl auszuführen:

root@archiso ~ # loadkeys de-latin1-nodeadkeys

Der Buchstabe [y] befindet sich auf der englischen Tastatur auf der Taste [z].
Das Zeichen [-] befindet sich auf der englischen Tastatur auf der Taste [ß].

:!: HINWEIS - Anschließend sollte ein deutsches Tastaturlayout geladen sein!

Passwort: root

Damit später nachfolgende Konfigurationen durchgeführt werden können, soll eine Verbindung via SSH hergestellt werden.

Dazu ist es erforderlich, das für der Benutzer root im „Live“-System ein Passwort gesetzt ist, was mit nachfolgendem Befehl erreicht werden kann:

root@archiso ~ # passwd
New password
Retype new password:
passwd: password updated successfully

Das Passwort ist in der shell hinter New password: einzugeben und mit der [Return/Enter]-Taste zu bestätigen. Anschließend ist in der shell hinter Retype new password: das gleiche Passwort erneut einzugeben und ebenfalls mit der [Return/Enter]-Taste zu bestätigen.

Netzwerkkarte: manuelle Konfiguration

Nachfolgende Befehle sollen eine Verbindung mit einem bestehenden Netzwerk mit Internet-Zugang herstellen.

Zuerst sollte die Bezeichnung der Netzwerkkarte mit nachfolgendem Befehl ermittelt werden:

root@archiso ~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff
    inet6 fe80::baa6:bfbf:5fbd:1f6c/64 scope link 
       valid_lft forever preferred_lft forever

Die Bezeichnung der Netzwerkkarte in oben gezeigtem Beispiel lautet aktuell: ens3. In der gleichen Zeile ist auch zu sehen, dass die Karte bereits den Status UP hat, also aktiv und nutzbar ist.

:!: HINWEIS - Falls die Netzwerkkarte nicht UP und damit aktiv und nutzbar sein sollte, kann mit nachfolgendem Befehl, die Karte mit der Bezeichnung ens3 aktiviert, sprich in den Status UP versetzt werden:

root@archiso ~ # ip link set up dev ens3

Die Zuweisung einer IPv4-Netzwerkadresse kann mit nachfolgendem Befehl durchgeführt werden:

root@archiso ~ # ip addr add 192.168.1.250/24 dev ens3

Ein Überprüfung, ob die IPv4-Netzwerkadresse für die Netzwerkkarte mit der Bezeichnung ens3 gesetzt wurde, kann mit nachfolgendem Befehl erfolgen:

root@archiso ~ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:00:de:ad brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.250/24 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::baa6:bfbf:5fbd:1f6c/64 scope link 
       valid_lft forever preferred_lft forever

Damit nun eine Verbindung nicht nur in das bereits aktuelle erreichbare Netzwerk möglich ist, sondern auch eine Standardroute - default-Route den Weg in Richtung Internet finden kann, ist die Konfiguration einer default-Route erforderlich, was mit nachfolgendem Befehl durchgeführt werden kann:

root@archiso ~ # ip route add default via 192.168.1.10

Eine Überprüfung mit nachfolgendem Befehl zeigt nun die aktuellen Routen, inklusive der default-Route an, welche auch in das Internet führen sollte:

root@archiso ~ # ip ro
default via 192.168.1.10 dev ens3
192.168.1.0/24 dev ens3 proto kernel scope link src 192.168.1.250

Ob die Verbindung zum Internet hergestellt wurde, kann mit nachfolgendem Test durch den nachfolgenden Befehl durchgeführt werden. Drei ping in Richtung eines Namensservers (DNS) von Google mit der IP-Adresse: 8.8.8.8, sollten nun möglich sein und eine Rückmeldung wie nachfolgende zurück liefern:

root@archiso ~ # ping -c3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8 icmp_seq=1 ttl=57 time=82.4 ms
64 bytes from 8.8.8.8 icmp_seq=2 ttl=57 time=95.3 ms
64 bytes from 8.8.8.8 icmp_seq=3 ttl=57 time=113 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 82.381/97.030/113.418/12.730 ms

Namensauflösung: /etc/resolv.conf

Damit nicht nur der Netzwerk technische Zugriff auf das Internet möglich ist, sondern auch eine Namensauflösung wie z.B. Google zu einer IP-Adresse möglich ist, ist es erforderlich, dass ein Namensserver konfiguriert wird, welche im Netzwerk oder aus dem Netzwerk erreichbar ist. Dies kann durch Ausführen des nachfolgenden Befehls durchgeführt werden:

root@archiso ~ # echo 'nameserver 192.168.1.20' >> /etc/resolv.conf

:!: HINWEIS - Falls kein eigener Namensserver zur Verfügung stehen sollte, wäre auch extern erreichbare Nameserverer, wie die von Google eine ggf. kurzfristige Option, was durch Ausführung von nachfolgenden Befehlen ermöglicht werden könnte:

root@archiso ~ # echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
root@archiso ~ # echo 'nameserver 8.8.4.4' >> /etc/resolv.conf

Mit nachfolgendem Befehl kann überprüft werden, ob die Ergänzung der Konfigurationsdatei /etc/resolv.conf erfolgreich waren:

root@archiso ~ # cat /etc/resolv.conf
# Resolver configuration file.
# See resolv.conf(5) for details.
nameserver 192.168.1.20

Ob die Namensauflösung Richtung Internet hergestellt wurde, kann mit nachfolgendem Test durch den nachfolgenden Befehl durchgeführt werden. Drei ping in Richtung von Google, sollten nun möglich sein und eine Rückmeldung wie nachfolgende zurück liefern:

root@archiso ~ # ping -c3 google.de
PING google.de (172.217.23.35) 56(84) bytes of data.
64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=23.5 ms
64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=25.0 ms
64 bytes from lhr35s02-in-f3.1e100.net (172.217.23.35): icmp_seq=1 ttl=57 time=22.9 ms

--- google.de ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2619ms
rtt min/avg/max/mdev = 22.853/23.799/25.031/0.911 ms

SSH-Dienst: starten

Damit eine Verbindung zum Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden kann, muss der bereits entsprechend vorkonfigurierte SSH-Dienst/Daemon mit nachfolgendem Befehl gestartet werden:

root@archiso ~ # systemctl start sshd.service

Eine Überprüfung ob der SSH-Dienst/Daemon auch ordnungsgemäß gestartet wurde, kann durch ausführen des nachfolgenden Befehls durchgeführt werden und sollte eine Ausgabe in etwa wie nachfolgende zur Folge haben:

root@archiso ~ # systemctl status sshd.service
● sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-12-06 11:29:44 UTC; 8s ago
 Main PID: 771 (sshd)
    Tasks: 1 (limit: 2312)
   Memory: 1.7M
   CGroup: /system.slice/sshd.service
           └─771 /usr/bin/sshd -D [listener] 0 of 10-100 startups

Dec 06 11:29:44 archiso systemd[1]: Started OpenSSH Daemon.
Dec 06 11:29:44 archiso sshd[771]: Server listening on 0.0.0.0 port 22.
Dec 06 11:29:44 archiso sshd[771]: Server listening on :: port 22.

Verbindung: SSH-Login (root)

Jetzt kann eine erste Verbindung als Benutzer root via SSH-Login auf dem Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden. Nachfolgender Befehl soll dazu auf einer lokalen Workstation, nicht auf dem Server verwendet werden:

$ ssh root@192.168.1.250
The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established.
ECDSA key fingerprint is SHA256:M8nv7zC5tzec/BYzFZs7est7XGM6vgKrlQ4BcS+0GP0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.250' (ECDSA) to the list of known hosts.
root@192.168.1.250's password: 
To install Arch Linux follow the installation guide:
https://wiki.archlinux.org/index.php/Installation_guide

For Wi-Fi, authenticate to the wireless network using the iwctl utility.
Ethernet and Wi-Fi connections using DHCP should work automatically.

After connecting to the internet, the installation guide can be accessed
via the convenience script Installation_guide.

Last login: Sun Dec  6 11:09:11 2020
root@archiso ~ #

Partitionierung: fdisk

Damit nun nach dem Start des sich auf dem USB-Stick befindlichen ArchLinux-ISO-Image in der Version 2020.12.01 aus dem „Live“-ISO-Image eine permanente Installation wird, ist zuerst die Partitionierung der Festplatte durchzuführen.

:!: HINWEIS - Es gibt keinen Installationsmanager wie bei anderen Distributionen, der dies Konfiguration-Menü gestützt durchführt!

Nachfolgend soll eine Partitionierung der Festplatte unter Einsatz eines LVM eingerichtet werden. Die Partitionierung soll hier beispielhaft mit nachfolgender Festplattenaufteilung durchgeführt werden

Phyische Festplatte/LVM Größe Mount-Point Dateisystem
/dev/vda
/dev/vda1
/dev/mapper/archlinux-swap 1 GB [SWAP] swap
/dev/mapper/archlinux-tmp 1 GB /tmp btrfs
/dev/mapper/archlinux-home 1 GB /home btrfs
/dev/mapper/archlinux-var_log 3 GB /var/log btrfs
/dev/mapper/archlinux-var_pkg 12 GB /var/cache/pacman/pkg btrfs
/dev/mapper/archlinux-root 30 GB / btrfs
- subvolume /srv btrfs
- subvolume /opt btrfs
- subvolume /usr/local btrfs
- subvolume /.snapshots btrfs
- mount-point /boot
- mount-point /btrfs
SUMME 48 GB

Damit die noch unformatiert Festplatte partitioniert werden kann, soll dies mit Unterstützung des Befehl fdisk durchgeführt werden.

Nachfolgender Befehl listet die aktuelle, noch leere Festplattenkapazitäten auf:

root@archiso ~ # fdisk -l | grep -i 'Disk /dev/vd'
Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors

Schritt 1: fdisk Interaktiver-Modus

:!: ACHTUNG - Die Befehle bitte mit großer Sorgfalt ausführen, da sonst Beschädigungen am Dateisystem entstehen !!!
:!: ACHTUNG - Bitte darauf achten, nicht versehentlich eine andere Festplatte zu formatieren !!!

Mit nachfolgenden Befehlen, wird die Festplatte /dev/vda in Bearbeitung genommen, um diese dann zu partitionieren:

:!: ACHTUNG -Hier ist dies /dev/vda, bitte ggf. an Ihre Umgebung und Bedürfnisse anpassen !!!

root@archiso ~ # fdisk /dev/vda

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x8b05dfcd.

Command (m for help):

Schritt 2: Eine einzige Partition anlegen

Durch nachfolgende Befehle wird eine

  • neue „primäre“ Partition
  • mit der Nummer 1
  • in der Größe der gesammten Festplatte angelegt:

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. p
  3. 1
  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 (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-104857599, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857599, default 104857599): 

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

Command (m for help):

Schritt 3: Typ der einzigen Partition ändern

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

  1. t
  2. Hex code or alias (type L to list all): 8e
  3. [Enter/Return]-Taste
Command (m for help): t
Selected partition 1
Hex code or alias (type L to list all): 8e
Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help):

Abschließend kann durch drücken der Taste p die neue Partitionierung aufgelistet werden, was eine Ausgabe wie nachfolgende zur Anzeige bringen sollte:

Command (m for help): p
Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a781ab0

Device     Boot Start       End   Sectors Size Id Type
/dev/vda1        2048 104857599 104855552  50G 8e Linux LVM

Command (m for help):

Schritt 4: Partitionstabelle schreiben

Anschließend ist nun die Taste

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

LVM

Nachfolgend sollen nun die einzelnen Mount-Points auf den zuvor angelegten Partitionen erstellt und formatiert werden.

Schritt 1: Physische Volume anlegen

Anlegen eines physischen Volume zur Nutzung durch ein LVM mit nachfolgendem Befehl:

root@archiso ~ # pvcreate /dev/vda1
  Physical volume "/dev/vda1" successfully created.
root@archiso ~ #

Schritt 2: Volume Gruppe anlegen

Anlegen einer Volume Gruppe mit dem Namen archlinux zur Nutzung durch ein LVM mit nachfolgendem Befehl:

root@archiso ~ # vgcreate archlinux /dev/vda1
  Volume group "archlinux" successfully created
root@archiso ~ #

Schritt 3: Logische Volumes anlegen

Nachfolgende Befehle legen die logischen Volumes

  • /dev/mapper/archlinux-swap
  • /dev/mapper/archlinux-tmp
  • /dev/mapper/archlinux-home
  • /dev/mapper/archlinux-var_log
  • /dev/mapper/archlinux-var_pkg
  • /dev/mapper/archlinux-root

an:

/dev/mapper/archlinux-swap

root@archiso ~ # lvcreate --name swap -L1024M archlinux
  Logical volume "swap" created.
root@archiso ~ #

/dev/mapper/archlinux-tmp

root@archiso ~ # lvcreate --name tmp -L1024M archlinux
  Logical volume "tmp" created.
root@archiso ~ #

/dev/mapper/archlinux-home

root@archiso ~ # lvcreate --name home -L1024M archlinux
  Logical volume "home" created.
root@archiso ~ #

/dev/mapper/archlinux-var_log

root@archiso ~ # lvcreate --name var_log -L3072M archlinux
  Logical volume "var_log" created.
root@archiso ~ #

/dev/mapper/archlinux-var_pkg

root@archiso ~ # lvcreate --name var_pkg -L12288M archlinux
  Logical volume "var_pkg" created.
root@archiso ~ #

/dev/mapper/archlinux-root

root@archiso ~ # lvcreate --name root -L30720M archlinux
  Logical volume "root" created.
root@archiso ~ #

Mit nachfolgendem Befehl kann überprüft werden, ob die Neuanlagen erfolgreich durchführt wurden:

root@archiso ~ # lsblk /dev/vda
NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda                   254:0    0  50G  0 disk 
└─vda1                254:1    0  50G  0 part 
  ├─archlinux-swap    252:0    0   1G  0 lvm  
  ├─archlinux-tmp     252:1    0   1G  0 lvm  
  ├─archlinux-home    252:2    0   1G  0 lvm  
  ├─archlinux-var_log 252:3    0   3G  0 lvm  
  ├─archlinux-var_pkg 252:4    0  12G  0 lvm  
  └─archlinux-root    252:5    0  30G  0 lvm  
root@archiso ~ #

Dateisysteme formatieren

Nachfolgende Befehle formatieren die zuvor erstellen Partitionen

  • /dev/mapper/archlinux-swap
  • /dev/mapper/archlinux-tmp
  • /dev/mapper/archlinux-home
  • /dev/mapper/archlinux-var_log
  • /dev/mapper/archlinux-var_pkg
  • /dev/mapper/archlinux-root

mit einem Dateisystem, je nach Partitionstyp:

/dev/mapper/archlinux-swap

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-swap mit dem swap-Dateisystem und einem „Label“: SWAP

root@archiso ~ # mkswap -L SWAP /dev/mapper/archlinux-swap
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
LABEL=SWAP, UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8
root@archiso ~ #

/dev/mapper/archlinux-tmp

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-tmp mit dem btrfs-Dateisystem und einem „Label“: TMP

root@archiso ~ # mkfs.btrfs -L TMP /dev/mapper/archlinux-tmp
btrfs-progs v5.9 
See http://btrfs.wiki.kernel.org for more information.

Label:              TMP
UUID:               9c21c98c-57ea-4b0d-9064-4584393cc97f
Node size:          16384
Sector size:        4096
Filesystem size:    1.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP              51.19MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Runtime features:   
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     1.00GiB  /dev/mapper/archlinux-tmp

root@archiso ~ #

/dev/mapper/archlinux-home

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-home mit dem btrfs-Dateisystem und einem „Label“: HOME

root@archiso ~ # mkfs.btrfs -L HOME /dev/mapper/archlinux-home
btrfs-progs v5.9 
See http://btrfs.wiki.kernel.org for more information.

Label:              HOME
UUID:               85d0ca9b-def5-4478-9f75-ce20b121a49d
Node size:          16384
Sector size:        4096
Filesystem size:    1.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP              51.19MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Runtime features:   
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     1.00GiB  /dev/mapper/archlinux-home

root@archiso ~ #

/dev/mapper/archlinux-var_log

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-var_log mit dem btrfs-Dateisystem und einem „Label“: VAR_LOG

root@archiso ~ # mkfs.btrfs -L VAR_LOG /dev/mapper/archlinux-var_log
btrfs-progs v5.9 
See http://btrfs.wiki.kernel.org for more information.

Label:              VAR_LOG
UUID:               3aca2eca-ab55-4655-a844-cac43f8fea6a
Node size:          16384
Sector size:        4096
Filesystem size:    3.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             256.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Runtime features:   
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     3.00GiB  /dev/mapper/archlinux-var_log

root@archiso ~ #

/dev/mapper/archlinux-var_pkg

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-var_pkg mit dem btrfs-Dateisystem und einem „Label“: VAR_PKG

root@archiso ~ # mkfs.btrfs -L VAR_PKG /dev/mapper/archlinux-var_pkg
btrfs-progs v5.9 
See http://btrfs.wiki.kernel.org for more information.

Label:              VAR_PKG
UUID:               24b7d52d-ba82-4173-b730-daca60f076e8
Node size:          16384
Sector size:        4096
Filesystem size:    12.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             256.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Runtime features:   
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    12.00GiB  /dev/mapper/archlinux-var_pkg

root@archiso ~ #

/dev/mapper/archlinux-root

Nachfolgende Befehle formatieren die zuvor erstellen Partition: /dev/mapper/archlinux-root mit dem btrfs-Dateisystem und einem „Label“: ROOT

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

Label:              ROOT
UUID:               1c250bce-9e86-4d82-b921-3eca687f8403
Node size:          16384
Sector size:        4096
Filesystem size:    30.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             256.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Runtime features:   
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    30.00GiB  /dev/mapper/archlinux-root

root@archiso ~ #

Dateisysteme einhängen

Nachfolgend müssen nun alle Partitionen

  • /dev/mapper/archlinux-swap
  • /dev/mapper/archlinux-tmp
  • /dev/mapper/archlinux-home
  • /dev/mapper/archlinux-var_log
  • /dev/mapper/archlinux-var_pkg
  • /dev/mapper/archlinux-root

und die subvolumes

  • /srv
  • /opt
  • /usr/local
  • /.snapshots

und die zusätzlichen „Mount-Points“

  • /boot
  • /btrfs

unter den entsprechenden „Mount-Points“ eingehängt werden:

/dev/mapper/archlinux-root

Bevor nun die einzelnen Btrfs: Partitionen, Subvolumes und Mount-Points erzeugt bzw. eingehängt werden können, muss die Partition: /dev/mapper/archlinux-root zuerst auf

  • /mnt

gemountet werden:

root@archiso ~ # mount /dev/mapper/archlinux-root /mnt

Btrfs: subvolumes anlegen

Nachfolgende Befehle erzeugen nun die einzelnen Btrfs: Subvolumes:

/mnt/root

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

/mnt/tmp

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

/mnt/home

root@archiso ~ # btrfs subvolume create /mnt/@home
Create subvolume '/mnt/@home'
root@archiso ~ #

/mnt/var_log

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

/mnt/var_pkg

root@archiso ~ # btrfs subvolume create /mnt/@var_pkg
Create subvolume '/mnt/@var_pkg'
root@archiso ~ #

/mnt/srv

root@archiso ~ # btrfs subvolume create /mnt/@srv
Create subvolume '/mnt/@srv'
root@archiso ~ #

/mnt/opt

root@archiso ~ # btrfs subvolume create /mnt/@opt
Create subvolume '/mnt/@opt'
root@archiso ~ #

/mnt/usr_local

root@archiso ~ # btrfs subvolume create /mnt/@usr_local
Create subvolume '/mnt/@usr_local'
root@archiso ~ #

/mnt/snapshots

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

umount: /mnt

Als nächstes wird das Verzeichnis /mnt und damit auch /dev/mapper/archlinux-root wieder geumountet, damit nun anschließend die einzelnen Btrfs: Subvolumnes und Mount-Points gemountet werden können:

root@archiso ~ # umount /mnt

Btrfs: Subvolume /@root mounten

Nachfolgende Befehle mountet zuerst das ROOT Btrfs: Subvolume:

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=@root /dev/mapper/archlinux-root /mnt

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

Mount-Points erstellen

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

root@archiso ~ # mkdir -p /mnt/{tmp,home,var/log,var/cache/pacman/pkg,var,srv,opt,usr/local,boot,btrfs}

:!: HINWEIS - Das Btrfs: Subvolume @snapshots fehlt hier bewusst!

Btrfs: Subvolumes und Mount-Points mounten

Nachfolgende Befehle mounten die restlichen Btrfs: Subvolume:

/dev/mapper/archlinux-tmp

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-tmp /mnt/tmp

/dev/mapper/archlinux-home

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-home /mnt/home

/dev/mapper/archlinux-var_log

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-var_log /mnt/var/log

/dev/mapper/archlinux-var_pkg

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/ /dev/mapper/archlinux-var_pkg /mnt/var/cache/pacman/pkg

/mnt/var

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@var /dev/mapper/archlinux-root /mnt/var

/mnt/srv

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@srv /dev/mapper/archlinux-root /mnt/srv

/mnt/opt

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@opt /dev/mapper/archlinux-root /mnt/opt

/mnt/urs/local

root@archiso ~ # mount -o relatime,space_cache=v2,compress=zstd,subvol=/@usr_local /dev/mapper/archlinux-root /mnt/usr/local

/mnt/btrfs

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

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

:!: HINWEIS - /mnt/boot wird nicht auf ein separates Subvolume gemounted, damit bei Kernel-Updates die dazu passende initram in /@root Subvolume angelegt wird!

swap: SWAP aktivieren

Nachfolgende Befehle aktiviert noch die SWAP Partition:

root@archiso ~ # swapon /dev/mapper/archlinux-swap

Überprüfung: Mount-Punkte

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

root@archiso ~ # mount | grep /mnt
/dev/mapper/archlinux-root on /mnt type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=256,subvol=/@root)
/dev/mapper/archlinux-tmp on /mnt/tmp type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/)
/dev/mapper/archlinux-home on /mnt/home type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/)
/dev/mapper/archlinux-var_log on /mnt/var/log type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/)
/dev/mapper/archlinux-var_pkg on /mnt/var/cache/pacman/pkg type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/)
/dev/mapper/archlinux-root on /mnt/var type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var)
/dev/mapper/archlinux-root on /mnt/srv type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv)
/dev/mapper/archlinux-root on /mnt/opt type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt)
/dev/mapper/archlinux-root on /mnt/usr/local type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local)
/dev/mapper/archlinux-root on /mnt/btrfs type btrfs (rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/)
root@archiso ~ #

bzw. für die Partitionen

root@archiso ~ # lsblk /dev/vda
NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda                   254:0    0  50G  0 disk 
└─vda1                254:1    0  50G  0 part 
  ├─archlinux-swap    252:0    0   1G  0 lvm  [SWAP]
  ├─archlinux-tmp     252:1    0   1G  0 lvm  /mnt/tmp
  ├─archlinux-home    252:2    0   1G  0 lvm  /mnt/home
  ├─archlinux-var_log 252:3    0   3G  0 lvm  /mnt/var/log
  ├─archlinux-var_pkg 252:4    0  12G  0 lvm  /mnt/var/cache/pacman/pkg
  └─archlinux-root    252:5    0  30G  0 lvm  /mnt/btrfs
root@archiso ~ #

Für die Aktivierung der SWAP Partition:

root@archiso ~ # free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi        93Mi       1.4Gi       154Mi       476Mi       1.6Gi
Swap:         1.0Gi          0B       1.0Gi
root@archiso ~ #

Installation: Basissystem

/etc/pacman.d/mirrorlist

Bevor die eigentliche Installation des Basissystems erfolgen kann, soll noch eine länderspezifische Auswahl der Installationsquellen getroffen werden, damit die Installation über das Internet möglichst von regionalen Servern, hier aus Deutschland, erfolgen kann.

Dazu ist die Optimierung der Konfigurationsdatei

  • /etc/pacman.d/mirrorlist

erforderlich.

Um nur die regionalen Server, hier nur aus Deutschland, in der Konfigurationsdatei /etc/pacman.d/mirrorlist vorzufinden, kann nachfolgender Befehl verwendet werden:

root@archiso ~ # reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
root@archiso ~ # reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
[2020-12-06 14:50:39] INFO: rating https://mirror.f4st.host/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.chaoticum.net/arch/
[2020-12-06 14:50:39] INFO: rating https://ftp.halifax.rwth-aachen.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.pkgbuild.com/
[2020-12-06 14:50:39] INFO: rating https://packages.oth-regensburg.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://phinau.de/arch/
[2020-12-06 14:50:39] INFO: rating https://arch.jensgutermuth.de/
[2020-12-06 14:50:39] INFO: rating https://mirrors.niyawe.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.bethselamin.de/
[2020-12-06 14:50:39] INFO: rating https://archlinux.thaller.ws/
[2020-12-06 14:50:39] INFO: rating https://mirror.satis-faction.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://dist-mirror.fem.tu-ilmenau.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.mikrogravitation.org/archlinux/
[2020-12-06 14:50:39] INFO: rating https://arch.unixpeople.org/
[2020-12-06 14:50:39] INFO: rating https://mirrors.n-ix.net/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.fra10.de.leaseweb.net/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.kumi.systems/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.wtnet.de/arch/
[2020-12-06 14:50:39] INFO: rating https://mirror.23media.com/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.autisten.club/archlinux/
[2020-12-06 14:50:39] INFO: rating https://ftp.fau.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.netcologne.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.checkdomain.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.dogado.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.undisclose.de/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.clientvps.com/archlinux/
[2020-12-06 14:50:39] INFO: rating https://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.fsrv.services/archlinux/
[2020-12-06 14:50:39] INFO: rating https://mirror.gnomus.de/
[2020-12-06 14:50:39] INFO: rating https://mirror.metalgamer.eu/archlinux/
[2020-12-06 14:50:39] INFO: rating https://appuals.com/archlinux/
[2020-12-06 14:50:43] INFO: Server                                                       Rate       Time
[2020-12-06 14:50:43] INFO: https://mirror.chaoticum.net/arch/                  3358.69 KiB/s     0.04 s
[2020-12-06 14:50:43] INFO: https://mirror.f4st.host/archlinux/                 3373.48 KiB/s     0.04 s
[2020-12-06 14:50:43] INFO: https://mirror.pkgbuild.com/                        3935.01 KiB/s     0.03 s
[2020-12-06 14:50:43] INFO: https://ftp.halifax.rwth-aachen.de/archlinux/       2571.28 KiB/s     0.05 s
[2020-12-06 14:50:43] INFO: https://packages.oth-regensburg.de/archlinux/       2087.95 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://phinau.de/arch/                             1339.38 KiB/s     0.10 s
[2020-12-06 14:50:43] INFO: https://arch.jensgutermuth.de/                      2069.66 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirrors.niyawe.de/archlinux/                2034.79 KiB/s     0.07 s
[2020-12-06 14:50:43] INFO: https://mirror.bethselamin.de/                      2670.53 KiB/s     0.05 s
[2020-12-06 14:50:43] INFO: https://archlinux.thaller.ws/                       2715.91 KiB/s     0.05 s
[2020-12-06 14:50:43] INFO: https://mirror.satis-faction.de/archlinux/          2303.14 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://dist-mirror.fem.tu-ilmenau.de/archlinux/    1671.73 KiB/s     0.08 s
[2020-12-06 14:50:43] INFO: https://mirror.mikrogravitation.org/archlinux/      2262.13 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://arch.unixpeople.org/                        2241.48 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirrors.n-ix.net/archlinux/                 2427.21 KiB/s     0.05 s
[2020-12-06 14:50:43] INFO: https://mirror.fra10.de.leaseweb.net/archlinux/     1959.41 KiB/s     0.07 s
[2020-12-06 14:50:43] INFO: https://mirror.wtnet.de/arch/                       1801.48 KiB/s     0.07 s
[2020-12-06 14:50:43] INFO: https://mirror.kumi.systems/archlinux/              2105.17 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirror.23media.com/archlinux/               2240.91 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirror.autisten.club/archlinux/             2064.48 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirror.netcologne.de/archlinux/             2061.81 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://ftp.fau.de/archlinux/                       1231.62 KiB/s     0.11 s
[2020-12-06 14:50:43] INFO: https://mirror.checkdomain.de/archlinux/               0.00 KiB/s     0.00 s
[2020-12-06 14:50:43] INFO: https://mirror.dogado.de/archlinux/                 1540.84 KiB/s     0.09 s
[2020-12-06 14:50:43] INFO: https://mirror.undisclose.de/archlinux/             2679.94 KiB/s     0.05 s
[2020-12-06 14:50:43] INFO: https://mirror.clientvps.com/archlinux/             1667.37 KiB/s     0.08 s
[2020-12-06 14:50:43] INFO: https://mirror.fsrv.services/archlinux/             2199.30 KiB/s     0.06 s
[2020-12-06 14:50:43] INFO: https://mirror.gnomus.de/                           1652.73 KiB/s     0.08 s
[2020-12-06 14:50:43] INFO: https://mirror.metalgamer.eu/archlinux/             1733.98 KiB/s     0.08 s
[2020-12-06 14:50:43] INFO: https://appuals.com/archlinux/                      2292.48 KiB/s     0.06 s
root@archiso ~ #

Der so generierte Inhalt der Konfigurationsdatei /etc/pacman.d/mirrorlist kann zur Kontrolle mit nachfolgendem Befehl ausgegeben werden:

root@archiso ~ # cat /etc/pacman.d/mirrorlist
root@archiso ~ # cat /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################

# With:       reflector --verbose --country Germany -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
# When:       2020-12-06 14:50:43 UTC
# From:       https://www.archlinux.org/mirrors/status/json/
# Retrieved:  2020-12-06 14:50:39 UTC
# Last Check: 2020-12-06 14:47:04 UTC

Server = https://mirror.pkgbuild.com/$repo/os/$arch
Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
Server = https://mirror.chaoticum.net/arch/$repo/os/$arch
Server = https://archlinux.thaller.ws/$repo/os/$arch
Server = https://mirror.undisclose.de/archlinux/$repo/os/$arch
Server = https://mirror.bethselamin.de/$repo/os/$arch
Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
Server = https://mirrors.n-ix.net/archlinux/$repo/os/$arch
Server = https://mirror.satis-faction.de/archlinux/$repo/os/$arch
Server = https://appuals.com/archlinux/$repo/os/$arch
Server = https://mirror.mikrogravitation.org/archlinux/$repo/os/$arch
Server = https://arch.unixpeople.org/$repo/os/$arch
Server = https://mirror.23media.com/archlinux/$repo/os/$arch
Server = https://mirror.fsrv.services/archlinux/$repo/os/$arch
Server = https://mirror.kumi.systems/archlinux/$repo/os/$arch
Server = https://packages.oth-regensburg.de/archlinux/$repo/os/$arch
Server = https://arch.jensgutermuth.de/$repo/os/$arch
Server = https://mirror.autisten.club/archlinux/$repo/os/$arch
Server = https://mirror.netcologne.de/archlinux/$repo/os/$arch
Server = https://mirrors.niyawe.de/archlinux/$repo/os/$arch
Server = https://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch
Server = https://mirror.wtnet.de/arch/$repo/os/$arch
Server = https://mirror.metalgamer.eu/archlinux/$repo/os/$arch
Server = https://dist-mirror.fem.tu-ilmenau.de/archlinux/$repo/os/$arch
Server = https://mirror.clientvps.com/archlinux/$repo/os/$arch
Server = https://mirror.gnomus.de/$repo/os/$arch
Server = https://mirror.dogado.de/archlinux/$repo/os/$arch
Server = https://phinau.de/arch/$repo/os/$arch
Server = https://ftp.fau.de/archlinux/$repo/os/$arch
Server = https://mirror.checkdomain.de/archlinux/$repo/os/$arch

Basissystem: /mnt

Der folgende Befehl führt nun die Installation von ArchLinux auf den zuvor eingerichteten Festplatten bzw. Partitionen aus.

root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass vi vim btrfs-progs

:!: WICHTIG - Das Paket btrfs-progs ist hier wichtig!

root@archiso ~ # pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass vi vim btrfs-progs
==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...
 core                  132.8 KiB  2.45 MiB/s 00:00 [######################] 100%
 extra                1637.2 KiB  12.7 MiB/s 00:00 [######################] 100%
 community               5.2 MiB  13.4 MiB/s 00:00 [######################] 100%
:: There are 24 members in group base-devel:
:: Repository core
   1) autoconf  2) automake  3) binutils  4) bison  5) fakeroot  6) file
   7) findutils  8) flex  9) gawk  10) gcc  11) gettext  12) grep  13) groff
   14) gzip  15) libtool  16) m4  17) make  18) pacman  19) patch  20) pkgconf
   21) sed  22) sudo  23) texinfo  24) which

Enter a selection (default=all): 
resolving dependencies...
:: There are 2 providers available for initramfs:
:: Repository core
   1) mkinitcpio
:: Repository extra
   2) dracut

Enter a number (default=1): 
looking for conflicting packages...

Packages (151) acl-2.2.53-3  archlinux-keyring-20201028-1  argon2-20190702-3
               attr-2.4.48-3  audit-2.8.5-9  bash-5.0.018-2  bzip2-1.0.8-4
               ca-certificates-20181109-4  ca-certificates-mozilla-3.59-1
               ca-certificates-utils-20181109-4  coreutils-8.32-1
               cryptsetup-2.3.4-1  curl-7.73.0-1  db-5.3.28-5  dbus-1.12.20-1
               device-mapper-2.02.187-3  diffutils-3.7-3
               dnssec-anchors-20190629-3  e2fsprogs-1.45.6-3  elfutils-0.181-1
               expat-2.2.10-2  filesystem-2020.09.03-1  gc-8.0.4-4
               gcc-libs-10.2.0-4  gdbm-1.18.1-3  glib2-2.66.3-1  glibc-2.32-5
               gmp-6.2.0-1  gnupg-2.2.24-1  gnutls-3.7.0-1  gpgme-1.15.0-2
               gpm-1.20.7.r38.ge82d1a6-3  guile-2.2.6-2  hwids-20200813.1-1
               iana-etc-20201012-1  icu-67.1-1  iproute2-5.9.0-1
               iptables-1:1.8.6-1  iputils-20200821-1  json-c-0.15-1
               kbd-2.3.0-2  keyutils-1.6.3-1  kmod-27-2  krb5-1.18.2-1
               ldns-1.7.1-2  less-563-1  libaio-0.3.112-2  libarchive-3.5.0-1
               libassuan-2.5.4-1  libcap-2.45-2  libcap-ng-0.8-1
               libcroco-0.6.13-2  libedit-20191231_3.1-2  libelf-0.181-1
               libffi-3.3-4  libgcrypt-1.8.7-1  libgpg-error-1.39-1
               libidn2-2.3.0-1  libksba-1.4.0-2  libldap-2.4.56-1
               libmicrohttpd-0.9.71-1  libmnl-1.0.4-3  libmpc-1.1.0-2
               libnetfilter_conntrack-1.0.8-1  libnfnetlink-1.0.1-4
               libnftnl-1.1.8-1  libnghttp2-1.41.0-1  libnl-3.5.0-2
               libp11-kit-0.23.21-1  libpcap-1.9.1-4  libpsl-0.21.1-1
               libsasl-2.1.27-3  libseccomp-2.5.1-2  libsecret-0.20.4-1
               libssh2-1.9.0-2  libtasn1-4.16.0-1  libtirpc-1.3.1-1
               libunistring-0.9.10-3  libxcrypt-4.4.17-1  libxml2-2.9.10-7
               licenses-20200427-1  linux-api-headers-5.8-1  lz4-1:1.9.2-2
               lzo-2.10-3  mkinitcpio-29-1  mkinitcpio-busybox-1.31.1-2
               mpfr-4.1.0-1  ncurses-6.2-1  nettle-3.6-1  npth-1.6-2
               openssl-1.1.1.h-1  p11-kit-0.23.21-1
               pacman-mirrorlist-20201205-1  pam-1.5.0-1  pambase-20200721.1-2
               pciutils-3.7.0-1  pcre-8.44-1  pcre2-10.35-1  perl-5.32.0-3
               pinentry-1.1.0-5  popt-1.18-1  procps-ng-3.3.16-2  psmisc-23.3-2
               readline-8.0.004-1  shadow-4.8.1-4  sqlite-3.34.0-1
               systemd-247.1-1  systemd-libs-247.1-1
               systemd-sysvcompat-247.1-1  tar-1.32-3
               thin-provisioning-tools-0.9.0-1  tzdata-2020d-1
               util-linux-2.36.1-4  util-linux-libs-2.36.1-4
               vim-runtime-8.2.1989-3  xz-5.2.5-1  zlib-1:1.2.11-4
               zstd-1.4.5-1  autoconf-2.69-7  automake-1.16.2-3  base-2-2
               binutils-2.35.1-1  bison-3.7.2-1  btrfs-progs-5.9-3
               fakeroot-1.25.3-1  file-5.39-1  findutils-4.7.0-2  flex-2.6.4-3
               gawk-5.1.0-1  gcc-10.2.0-4  gettext-0.21-1  grep-3.6-1
               groff-1.22.4-3  gzip-1.10-3  libtool-2.4.6+42+gb88cebd5-14
               linux-firmware-20201120.bc9cd0b-1  linux-lts-5.4.81-1
               lvm2-2.02.187-3  m4-1.4.18-3  make-4.3-3  openssh-8.4p1-2
               pacman-5.2.2-1  patch-2.7.6-8  pkgconf-1.7.3-1  sed-4.8-1
               sshpass-1.06-3  sudo-1.9.4-1  texinfo-6.7-3  vi-1:070224-4
               vim-8.2.1989-3  which-2.21-5

Total Download Size:    398.58 MiB
Total Installed Size:  1539.80 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 iana-etc-2020101...   388.7 KiB  14.6 MiB/s 00:00 [######################] 100%
 filesystem-2020....    30.4 KiB  0.00   B/s 00:00 [######################] 100%
 linux-api-header...  1082.6 KiB  13.7 MiB/s 00:00 [######################] 100%
 tzdata-2020d-1-x...   384.8 KiB  12.5 MiB/s 00:00 [######################] 100%
 glibc-2.32-5-x86_64     9.8 MiB  13.3 MiB/s 00:01 [######################] 100%
 gcc-libs-10.2.0-...    31.5 MiB  13.3 MiB/s 00:02 [######################] 100%
 ncurses-6.2-1-x86_64 1141.2 KiB  13.3 MiB/s 00:00 [######################] 100%
 readline-8.0.004...   309.7 KiB  15.1 MiB/s 00:00 [######################] 100%
 bash-5.0.018-2-x...  1655.0 KiB  13.5 MiB/s 00:00 [######################] 100%
 attr-2.4.48-3-x86_64   69.0 KiB  16.8 MiB/s 00:00 [######################] 100%
 acl-2.2.53-3-x86_64   136.6 KiB  13.3 MiB/s 00:00 [######################] 100%
 gmp-6.2.0-1-x86_64    439.6 KiB  14.3 MiB/s 00:00 [######################] 100%
 util-linux-libs-...   414.2 KiB  15.0 MiB/s 00:00 [######################] 100%
 e2fsprogs-1.45.6...  1194.7 KiB  13.6 MiB/s 00:00 [######################] 100%
 gdbm-1.18.1-3-x86_64  160.4 KiB  15.7 MiB/s 00:00 [######################] 100%
 db-5.3.28-5-x86_64   1098.0 KiB  13.4 MiB/s 00:00 [######################] 100%
 libxcrypt-4.4.17...    89.7 KiB  29.2 MiB/s 00:00 [######################] 100%
 perl-5.32.0-3-x86_64   15.2 MiB  13.3 MiB/s 00:01 [######################] 100%
 openssl-1.1.1.h-...     3.6 MiB  13.3 MiB/s 00:00 [######################] 100%
 libsasl-2.1.27-3...   146.1 KiB  20.4 MiB/s 00:00 [######################] 100%
 libldap-2.4.56-1...   304.5 KiB  12.4 MiB/s 00:00 [######################] 100%
 keyutils-1.6.3-1...   102.1 KiB  16.6 MiB/s 00:00 [######################] 100%
 krb5-1.18.2-1-x86_64 1332.1 KiB  13.0 MiB/s 00:00 [######################] 100%
 libtirpc-1.3.1-1...   176.9 KiB  17.3 MiB/s 00:00 [######################] 100%
 pambase-20200721...     3.0 KiB  0.00   B/s 00:00 [######################] 100%
 libcap-ng-0.8-1-...    39.8 KiB  0.00   B/s 00:00 [######################] 100%
 audit-2.8.5-9-x86_64  362.3 KiB  15.4 MiB/s 00:00 [######################] 100%
 pam-1.5.0-1-x86_64    567.7 KiB  13.9 MiB/s 00:00 [######################] 100%
 libcap-2.45-2-x86_64   59.7 KiB  0.00   B/s 00:00 [######################] 100%
 coreutils-8.32-1...     2.7 MiB  13.4 MiB/s 00:00 [######################] 100%
 zlib-1:1.2.11-4-...    81.5 KiB  26.5 MiB/s 00:00 [######################] 100%
 xz-5.2.5-1-x86_64     300.9 KiB  17.3 MiB/s 00:00 [######################] 100%
 bzip2-1.0.8-4-x86_64   57.2 KiB  0.00   B/s 00:00 [######################] 100%
 libseccomp-2.5.1...    90.2 KiB  22.0 MiB/s 00:00 [######################] 100%
 file-5.39-1-x86_64    330.7 KiB  16.1 MiB/s 00:00 [######################] 100%
 findutils-4.7.0-...   454.6 KiB  12.0 MiB/s 00:00 [######################] 100%
 mpfr-4.1.0-1-x86_64  1485.7 KiB  13.7 MiB/s 00:00 [######################] 100%
 gawk-5.1.0-1-x86_64  1139.2 KiB  13.9 MiB/s 00:00 [######################] 100%
 pcre-8.44-1-x86_64    969.0 KiB  13.5 MiB/s 00:00 [######################] 100%
 grep-3.6-1-x86_64     211.9 KiB  12.2 MiB/s 00:00 [######################] 100%
 libgpg-error-1.3...   231.5 KiB  13.3 MiB/s 00:00 [######################] 100%
 libgcrypt-1.8.7-...   530.9 KiB  13.0 MiB/s 00:00 [######################] 100%
 lz4-1:1.9.2-2-x86_64  109.4 KiB  35.6 MiB/s 00:00 [######################] 100%
 zstd-1.4.5-1-x86_64   655.5 KiB  14.5 MiB/s 00:00 [######################] 100%
 systemd-libs-247...   499.9 KiB  13.2 MiB/s 00:00 [######################] 100%
 procps-ng-3.3.16...   374.0 KiB  13.5 MiB/s 00:00 [######################] 100%
 sed-4.8-1-x86_64      237.9 KiB  13.7 MiB/s 00:00 [######################] 100%
 tar-1.32-3-x86_64     742.3 KiB  14.5 MiB/s 00:00 [######################] 100%
 libffi-3.3-4-x86_64    44.0 KiB  0.00   B/s 00:00 [######################] 100%
 glib2-2.66.3-1-x...     2.8 MiB  13.3 MiB/s 00:00 [######################] 100%
 libunistring-0.9...   634.1 KiB  13.5 MiB/s 00:00 [######################] 100%
 icu-67.1-1-x86_64      10.4 MiB  13.3 MiB/s 00:01 [######################] 100%
 gettext-0.21-1-x...     2.1 MiB  13.5 MiB/s 00:00 [######################] 100%
 hwids-20200813.1...   455.7 KiB  14.8 MiB/s 00:00 [######################] 100%
 kmod-27-2-x86_64      104.6 KiB  17.0 MiB/s 00:00 [######################] 100%
 pciutils-3.7.0-1...    99.6 KiB  16.2 MiB/s 00:00 [######################] 100%
 psmisc-23.3-2-x86_64  110.1 KiB  10.8 MiB/s 00:00 [######################] 100%
 shadow-4.8.1-4-x...  1194.2 KiB  13.4 MiB/s 00:00 [######################] 100%
 util-linux-2.36....     2.5 MiB  13.5 MiB/s 00:00 [######################] 100%
 less-563-1-x86_64     109.7 KiB  35.7 MiB/s 00:00 [######################] 100%
 gzip-1.10-3-x86_64     77.8 KiB  25.3 MiB/s 00:00 [######################] 100%
 licenses-2020042...    69.6 KiB  17.0 MiB/s 00:00 [######################] 100%
 expat-2.2.10-2-x...   107.8 KiB  17.5 MiB/s 00:00 [######################] 100%
 libarchive-3.5.0...   507.3 KiB  13.4 MiB/s 00:00 [######################] 100%
 libtasn1-4.16.0-...   121.3 KiB  16.9 MiB/s 00:00 [######################] 100%
 libp11-kit-0.23....   494.9 KiB  14.6 MiB/s 00:00 [######################] 100%
 p11-kit-0.23.21-...   140.4 KiB  13.7 MiB/s 00:00 [######################] 100%
 ca-certificates-...     8.0 KiB  0.00   B/s 00:00 [######################] 100%
 ca-certificates-...   330.3 KiB  14.0 MiB/s 00:00 [######################] 100%
 ca-certificates-...  2013.0   B  0.00   B/s 00:00 [######################] 100%
 libssh2-1.9.0-2-...   205.8 KiB  15.5 MiB/s 00:00 [######################] 100%
 libidn2-2.3.0-1-...   115.9 KiB  11.3 MiB/s 00:00 [######################] 100%
 libpsl-0.21.1-1-...    79.6 KiB  19.4 MiB/s 00:00 [######################] 100%
 libnghttp2-1.41....    97.6 KiB  13.6 MiB/s 00:00 [######################] 100%
 curl-7.73.0-1-x86_64 1056.4 KiB  11.5 MiB/s 00:00 [######################] 100%
 npth-1.6-2-x86_64      12.8 KiB  0.00   B/s 00:00 [######################] 100%
 libksba-1.4.0-2-...   135.3 KiB  13.2 MiB/s 00:00 [######################] 100%
 libassuan-2.5.4-...    87.4 KiB  8.54 MiB/s 00:00 [######################] 100%
 libsecret-0.20.4...   238.6 KiB  13.7 MiB/s 00:00 [######################] 100%
 pinentry-1.1.0-5...   101.6 KiB  24.8 MiB/s 00:00 [######################] 100%
 nettle-3.6-1-x86_64   405.2 KiB  14.7 MiB/s 00:00 [######################] 100%
 gnutls-3.7.0-1-x...     2.9 MiB  13.3 MiB/s 00:00 [######################] 100%
 sqlite-3.34.0-1-...  1727.4 KiB  13.7 MiB/s 00:00 [######################] 100%
 gnupg-2.2.24-1-x...     2.4 MiB  13.3 MiB/s 00:00 [######################] 100%
 gpgme-1.15.0-2-x...   448.8 KiB  14.6 MiB/s 00:00 [######################] 100%
 pacman-mirrorlis...     6.4 KiB  0.00   B/s 00:00 [######################] 100%
 archlinux-keyrin...   941.3 KiB  12.6 MiB/s 00:00 [######################] 100%
 pacman-5.2.2-1-x...   838.6 KiB  13.6 MiB/s 00:00 [######################] 100%
 device-mapper-2....   292.3 KiB  16.8 MiB/s 00:00 [######################] 100%
 popt-1.18-1-x86_64     67.7 KiB  22.0 MiB/s 00:00 [######################] 100%
 json-c-0.15-1-x86_64   53.9 KiB  0.00   B/s 00:00 [######################] 100%
 argon2-20190702-...    33.1 KiB  0.00   B/s 00:00 [######################] 100%
 cryptsetup-2.3.4...   568.3 KiB  13.9 MiB/s 00:00 [######################] 100%
 dbus-1.12.20-1-x...   315.3 KiB  15.4 MiB/s 00:00 [######################] 100%
 libmnl-1.0.4-3-x...    10.4 KiB  0.00   B/s 00:00 [######################] 100%
 libnftnl-1.1.8-1...    70.6 KiB  17.2 MiB/s 00:00 [######################] 100%
 libnl-3.5.0-2-x86_64  364.7 KiB  11.9 MiB/s 00:00 [######################] 100%
 libpcap-1.9.1-4-...   274.6 KiB  13.4 MiB/s 00:00 [######################] 100%
 libnfnetlink-1.0...    17.4 KiB  0.00   B/s 00:00 [######################] 100%
 libnetfilter_con...    49.4 KiB  0.00   B/s 00:00 [######################] 100%
 iptables-1:1.8.6...   432.2 KiB  14.1 MiB/s 00:00 [######################] 100%
 kbd-2.3.0-2-x86_64   1184.7 KiB  13.3 MiB/s 00:00 [######################] 100%
 libelf-0.181-1-x...   451.8 KiB  13.4 MiB/s 00:00 [######################] 100%
 pcre2-10.35-1-x86_64 1108.2 KiB  13.5 MiB/s 00:00 [######################] 100%
 systemd-247.1-1-...     6.1 MiB  13.3 MiB/s 00:00 [######################] 100%
 systemd-sysvcomp...     5.7 KiB  0.00   B/s 00:00 [######################] 100%
 iputils-20200821...   123.7 KiB  20.1 MiB/s 00:00 [######################] 100%
 iproute2-5.9.0-1...   967.8 KiB  13.5 MiB/s 00:00 [######################] 100%
 base-2-2-any            2.1 KiB  0.00   B/s 00:00 [######################] 100%
 m4-1.4.18-3-x86_64    169.4 KiB  16.5 MiB/s 00:00 [######################] 100%
 diffutils-3.7-3-...   324.1 KiB  15.8 MiB/s 00:00 [######################] 100%
 autoconf-2.69-7-any   591.2 KiB  13.4 MiB/s 00:00 [######################] 100%
 automake-1.16.2-...   603.5 KiB  13.7 MiB/s 00:00 [######################] 100%
 libmicrohttpd-0....   202.9 KiB  15.2 MiB/s 00:00 [######################] 100%
 elfutils-0.181-1...   619.8 KiB  14.1 MiB/s 00:00 [######################] 100%
 binutils-2.35.1-...     5.3 MiB  13.3 MiB/s 00:00 [######################] 100%
 bison-3.7.2-1-x86_64  753.7 KiB  14.7 MiB/s 00:00 [######################] 100%
 fakeroot-1.25.3-...    70.2 KiB  22.9 MiB/s 00:00 [######################] 100%
 flex-2.6.4-3-x86_64   297.2 KiB  12.6 MiB/s 00:00 [######################] 100%
 libmpc-1.1.0-2-x...    65.1 KiB  10.6 MiB/s 00:00 [######################] 100%
 gcc-10.2.0-4-x86_64    31.5 MiB  13.3 MiB/s 00:02 [######################] 100%
 groff-1.22.4-3-x...  2044.3 KiB  13.6 MiB/s 00:00 [######################] 100%
 libtool-2.4.6+42...   407.4 KiB  13.3 MiB/s 00:00 [######################] 100%
 texinfo-6.7-3-x86_64 1397.6 KiB  13.6 MiB/s 00:00 [######################] 100%
 make-4.3-3-x86_64     481.6 KiB  13.8 MiB/s 00:00 [######################] 100%
 patch-2.7.6-8-x86_64   92.5 KiB  22.6 MiB/s 00:00 [######################] 100%
 pkgconf-1.7.3-1-...    58.2 KiB  0.00   B/s 00:00 [######################] 100%
 sudo-1.9.4-1-x86_64  1115.2 KiB  14.1 MiB/s 00:00 [######################] 100%
 which-2.21-5-x86_64    15.8 KiB  0.00   B/s 00:00 [######################] 100%
 mkinitcpio-busyb...   270.3 KiB  13.2 MiB/s 00:00 [######################] 100%
 mkinitcpio-29-1-any    42.2 KiB  0.00   B/s 00:00 [######################] 100%
 linux-lts-5.4.81...    68.4 MiB  13.2 MiB/s 00:05 [######################] 100%
 linux-firmware-2...   134.5 MiB  13.3 MiB/s 00:10 [######################] 100%
 libaio-0.3.112-2...     6.3 KiB  0.00   B/s 00:00 [######################] 100%
 thin-provisionin...   491.0 KiB  14.5 MiB/s 00:00 [######################] 100%
 lvm2-2.02.187-3-...  1477.0 KiB  12.3 MiB/s 00:00 [######################] 100%
 libedit-20191231...   107.2 KiB  8.05 MiB/s 00:00 [######################] 100%
 dnssec-anchors-2...     3.0 KiB  0.00   B/s 00:00 [######################] 100%
 ldns-1.7.1-2-x86_64   435.9 KiB  14.2 MiB/s 00:00 [######################] 100%
 openssh-8.4p1-2-...   906.3 KiB  13.8 MiB/s 00:00 [######################] 100%
 vi-1:070224-4-x86_64  152.2 KiB  14.9 MiB/s 00:00 [######################] 100%
 gpm-1.20.7.r38.g...   140.5 KiB  22.9 MiB/s 00:00 [######################] 100%
 lzo-2.10-3-x86_64      82.5 KiB  26.9 MiB/s 00:00 [######################] 100%
 btrfs-progs-5.9-...   860.6 KiB  14.0 MiB/s 00:00 [######################] 100%
 libxml2-2.9.10-7...  1346.6 KiB  14.0 MiB/s 00:00 [######################] 100%
 libcroco-0.6.13-...   155.3 KiB  15.2 MiB/s 00:00 [######################] 100%
 gc-8.0.4-4-x86_64     234.7 KiB  17.6 MiB/s 00:00 [######################] 100%
 guile-2.2.6-2-x86_64    6.4 MiB  13.2 MiB/s 00:00 [######################] 100%
 vim-runtime-8.2....     6.4 MiB  13.3 MiB/s 00:00 [######################] 100%
 vim-8.2.1989-3-x...  1766.2 KiB  13.6 MiB/s 00:00 [######################] 100%
 sshpass-1.06-3-x...     9.8 KiB  0.00   B/s 00:00 [######################] 100%
(151/151) checking keys in keyring                 [######################] 100%
(151/151) checking package integrity               [######################] 100%
(151/151) loading package files                    [######################] 100%
(151/151) checking for file conflicts              [######################] 100%
(151/151) checking available disk space            [######################] 100%
:: Processing package changes...
(  1/151) installing iana-etc                      [######################] 100%
(  2/151) installing filesystem                    [######################] 100%
(  3/151) installing linux-api-headers             [######################] 100%
(  4/151) installing tzdata                        [######################] 100%
(  5/151) installing glibc                         [######################] 100%
Optional dependencies for glibc
    gd: for memusagestat
(  6/151) installing gcc-libs                      [######################] 100%
(  7/151) installing ncurses                       [######################] 100%
(  8/151) installing readline                      [######################] 100%
(  9/151) installing bash                          [######################] 100%
Optional dependencies for bash
    bash-completion: for tab completion
( 10/151) installing attr                          [######################] 100%
( 11/151) installing acl                           [######################] 100%
( 12/151) installing gmp                           [######################] 100%
( 13/151) installing util-linux-libs               [######################] 100%
( 14/151) installing e2fsprogs                     [######################] 100%
( 15/151) installing gdbm                          [######################] 100%
( 16/151) installing db                            [######################] 100%
( 17/151) installing libxcrypt                     [######################] 100%
( 18/151) installing perl                          [######################] 100%
( 19/151) installing openssl                       [######################] 100%
Optional dependencies for openssl
    ca-certificates [pending]
( 20/151) installing libsasl                       [######################] 100%
( 21/151) installing libldap                       [######################] 100%
( 22/151) installing keyutils                      [######################] 100%
( 23/151) installing krb5                          [######################] 100%
( 24/151) installing libtirpc                      [######################] 100%
( 25/151) installing pambase                       [######################] 100%
( 26/151) installing libcap-ng                     [######################] 100%
( 27/151) installing audit                         [######################] 100%
( 28/151) installing pam                           [######################] 100%
( 29/151) installing libcap                        [######################] 100%
( 30/151) installing coreutils                     [######################] 100%
( 31/151) installing zlib                          [######################] 100%
( 32/151) installing xz                            [######################] 100%
( 33/151) installing bzip2                         [######################] 100%
( 34/151) installing libseccomp                    [######################] 100%
( 35/151) installing file                          [######################] 100%
( 36/151) installing findutils                     [######################] 100%
( 37/151) installing mpfr                          [######################] 100%
( 38/151) installing gawk                          [######################] 100%
( 39/151) installing pcre                          [######################] 100%
( 40/151) installing grep                          [######################] 100%
( 41/151) installing libgpg-error                  [######################] 100%
( 42/151) installing libgcrypt                     [######################] 100%
( 43/151) installing lz4                           [######################] 100%
( 44/151) installing zstd                          [######################] 100%
( 45/151) installing systemd-libs                  [######################] 100%
( 46/151) installing procps-ng                     [######################] 100%
( 47/151) installing sed                           [######################] 100%
( 48/151) installing tar                           [######################] 100%
( 49/151) installing libffi                        [######################] 100%
( 50/151) installing glib2                         [######################] 100%
Optional dependencies for glib2
    python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
    libelf: gresource inspection tool [pending]
( 51/151) installing libunistring                  [######################] 100%
( 52/151) installing icu                           [######################] 100%
( 53/151) installing libxml2                       [######################] 100%
( 54/151) installing libcroco                      [######################] 100%
( 55/151) installing gettext                       [######################] 100%
Optional dependencies for gettext
    git: for autopoint infrastructure updates
( 56/151) installing hwids                         [######################] 100%
( 57/151) installing kmod                          [######################] 100%
( 58/151) installing pciutils                      [######################] 100%
( 59/151) installing psmisc                        [######################] 100%
( 60/151) installing shadow                        [######################] 100%
( 61/151) installing util-linux                    [######################] 100%
Optional dependencies for util-linux
    python: python bindings to libmount
    words: default dictionary for look
( 62/151) installing less                          [######################] 100%
( 63/151) installing gzip                          [######################] 100%
( 64/151) installing licenses                      [######################] 100%
( 65/151) installing expat                         [######################] 100%
( 66/151) installing libarchive                    [######################] 100%
( 67/151) installing libtasn1                      [######################] 100%
( 68/151) installing libp11-kit                    [######################] 100%
( 69/151) installing p11-kit                       [######################] 100%
( 70/151) installing ca-certificates-utils         [######################] 100%
( 71/151) installing ca-certificates-mozilla       [######################] 100%
( 72/151) installing ca-certificates               [######################] 100%
( 73/151) installing libssh2                       [######################] 100%
( 74/151) installing libidn2                       [######################] 100%
( 75/151) installing libpsl                        [######################] 100%
( 76/151) installing libnghttp2                    [######################] 100%
( 77/151) installing curl                          [######################] 100%
( 78/151) installing npth                          [######################] 100%
( 79/151) installing libksba                       [######################] 100%
( 80/151) installing libassuan                     [######################] 100%
( 81/151) installing libsecret                     [######################] 100%
Optional dependencies for libsecret
    org.freedesktop.secrets: secret storage backend
( 82/151) installing pinentry                      [######################] 100%
Optional dependencies for pinentry
    gtk2: gtk2 backend
    qt5-base: qt backend
    gcr: gnome3 backend
( 83/151) installing nettle                        [######################] 100%
( 84/151) installing gnutls                        [######################] 100%
Optional dependencies for gnutls
    guile: for use with Guile bindings [pending]
( 85/151) installing sqlite                        [######################] 100%
( 86/151) installing gnupg                         [######################] 100%
Optional dependencies for gnupg
    libldap: gpg2keys_ldap [installed]
    libusb-compat: scdaemon
    pcsclite: scdaemon
( 87/151) installing gpgme                         [######################] 100%
( 88/151) installing pacman-mirrorlist             [######################] 100%
( 89/151) installing archlinux-keyring             [######################] 100%
( 90/151) installing pacman                        [######################] 100%
Optional dependencies for pacman
    perl-locale-gettext: translation support in makepkg-template
( 91/151) installing device-mapper                 [######################] 100%
( 92/151) installing popt                          [######################] 100%
( 93/151) installing json-c                        [######################] 100%
( 94/151) installing argon2                        [######################] 100%
( 95/151) installing cryptsetup                    [######################] 100%
( 96/151) installing dbus                          [######################] 100%
( 97/151) installing libmnl                        [######################] 100%
( 98/151) installing libnftnl                      [######################] 100%
( 99/151) installing libnl                         [######################] 100%
(100/151) installing libpcap                       [######################] 100%
(101/151) installing libnfnetlink                  [######################] 100%
(102/151) installing libnetfilter_conntrack        [######################] 100%
(103/151) installing iptables                      [######################] 100%
(104/151) installing kbd                           [######################] 100%
(105/151) installing libelf                        [######################] 100%
(106/151) installing pcre2                         [######################] 100%
(107/151) installing systemd                       [######################] 100%
Initializing machine ID from random generator.
Creating group sys with gid 3.
Creating group mem with gid 8.
Creating group ftp with gid 11.
Creating group mail with gid 12.
Creating group log with gid 19.
Creating group smmsp with gid 25.
Creating group proc with gid 26.
Creating group games with gid 50.
Creating group lock with gid 54.
Creating group network with gid 90.
Creating group floppy with gid 94.
Creating group scanner with gid 96.
Creating group power with gid 98.
Creating group adm with gid 999.
Creating group wheel with gid 998.
Creating group kmem with gid 997.
Creating group tty with gid 5.
Creating group utmp with gid 996.
Creating group audio with gid 995.
Creating group disk with gid 994.
Creating group input with gid 993.
Creating group kvm with gid 992.
Creating group lp with gid 991.
Creating group optical with gid 990.
Creating group render with gid 989.
Creating group storage with gid 988.
Creating group uucp with gid 987.
Creating group video with gid 986.
Creating group users with gid 985.
Creating group systemd-journal with gid 984.
Creating group rfkill with gid 983.
Creating group bin with gid 1.
Creating user bin (n/a) with uid 1 and gid 1.
Creating group daemon with gid 2.
Creating user daemon (n/a) with uid 2 and gid 2.
Creating user mail (n/a) with uid 8 and gid 12.
Creating user ftp (n/a) with uid 14 and gid 11.
Creating group http with gid 33.
Creating user http (n/a) with uid 33 and gid 33.
Creating group nobody with gid 65534.
Creating user nobody (Nobody) with uid 65534 and gid 65534.
Creating group dbus with gid 81.
Creating user dbus (System Message Bus) with uid 81 and gid 81.
Creating group systemd-journal-remote with gid 982.
Creating user systemd-journal-remote (systemd Journal Remote) with uid 982 and gid 982.
Creating group systemd-network with gid 981.
Creating user systemd-network (systemd Network Management) with uid 981 and gid 981.
Creating group systemd-resolve with gid 980.
Creating user systemd-resolve (systemd Resolver) with uid 980 and gid 980.
Creating group systemd-timesync with gid 979.
Creating user systemd-timesync (systemd Time Synchronization) with uid 979 and gid 979.
Creating group systemd-coredump with gid 978.
Creating user systemd-coredump (systemd Core Dumper) with uid 978 and gid 978.
Creating group uuidd with gid 68.
Creating user uuidd (n/a) with uid 68 and gid 68.
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service.
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target.
:: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your
   bootloader to replace sysvinit with systemd, or install systemd-sysvcompat
Optional dependencies for systemd
    libmicrohttpd: remote journald capabilities [pending]
    quota-tools: kernel-level quota management
    systemd-sysvcompat: symlink package to provide sysvinit binaries [pending]
    polkit: allow administration as unprivileged user
    curl: machinectl pull-tar and pull-raw [installed]
(108/151) installing systemd-sysvcompat            [######################] 100%
(109/151) installing iputils                       [######################] 100%
(110/151) installing iproute2                      [######################] 100%
Optional dependencies for iproute2
    linux-atm: ATM support
(111/151) installing base                          [######################] 100%
Optional dependencies for base
    linux: bare metal support
(112/151) installing m4                            [######################] 100%
(113/151) installing diffutils                     [######################] 100%
(114/151) installing autoconf                      [######################] 100%
(115/151) installing automake                      [######################] 100%
(116/151) installing libmicrohttpd                 [######################] 100%
(117/151) installing elfutils                      [######################] 100%
(118/151) installing binutils                      [######################] 100%
(119/151) installing bison                         [######################] 100%
(120/151) installing fakeroot                      [######################] 100%
(121/151) installing flex                          [######################] 100%
(122/151) installing libmpc                        [######################] 100%
(123/151) installing gcc                           [######################] 100%
Optional dependencies for gcc
    lib32-gcc-libs: for generating code for 32-bit ABI
(124/151) installing groff                         [######################] 100%
Optional dependencies for groff
    netpbm: for use together with man -H command interaction in browsers
    psutils: for use together with man -H command interaction in browsers
    libxaw: for gxditview
    perl-file-homedir: for use with glilypond
(125/151) installing libtool                       [######################] 100%
(126/151) installing texinfo                       [######################] 100%
(127/151) installing gc                            [######################] 100%
(128/151) installing guile                         [######################] 100%
(129/151) installing make                          [######################] 100%
(130/151) installing patch                         [######################] 100%
Optional dependencies for patch
    ed: for patch -e functionality
(131/151) installing pkgconf                       [######################] 100%
(132/151) installing sudo                          [######################] 100%
(133/151) installing which                         [######################] 100%
(134/151) installing mkinitcpio-busybox            [######################] 100%
(135/151) installing mkinitcpio                    [######################] 100%
Optional dependencies for mkinitcpio
    xz: Use lzma or xz compression for the initramfs image [installed]
    bzip2: Use bzip2 compression for the initramfs image [installed]
    lzop: Use lzo compression for the initramfs image
    lz4: Use lz4 compression for the initramfs image [installed]
    mkinitcpio-nfs-utils: Support for root filesystem on NFS
(136/151) installing linux-lts                     [######################] 100%
Optional dependencies for linux-lts
    crda: to set the correct wireless channels of your country
    linux-firmware: firmware images needed for some devices [pending]
(137/151) installing linux-firmware                [######################] 100%
(138/151) installing libaio                        [######################] 100%
(139/151) installing thin-provisioning-tools       [######################] 100%
(140/151) installing lvm2                          [######################] 100%
(141/151) installing libedit                       [######################] 100%
(142/151) installing dnssec-anchors                [######################] 100%
(143/151) installing ldns                          [######################] 100%
Optional dependencies for ldns
    libpcap: ldns-dpa tool [installed]
(144/151) installing openssh                       [######################] 100%
Optional dependencies for openssh
    xorg-xauth: X11 forwarding
    x11-ssh-askpass: input passphrase in X
    libfido2: FIDO/U2F support
(145/151) installing sshpass                       [######################] 100%
(146/151) installing vi                            [######################] 100%
Optional dependencies for vi
    s-nail: used by the preserve command for notification
(147/151) installing vim-runtime                   [######################] 100%
Optional dependencies for vim-runtime
    sh: support for some tools and macros [installed]
    python: demoserver example tool
    gawk: mve tools upport [installed]
(148/151) installing gpm                           [######################] 100%
(149/151) installing vim                           [######################] 100%
Optional dependencies for vim
    python2: Python 2 language support
    python: Python 3 language support
    ruby: Ruby language support
    lua: Lua language support
    perl: Perl language support [installed]
    tcl: Tcl language support
(150/151) installing lzo                           [######################] 100%
(151/151) installing btrfs-progs                   [######################] 100%
Optional dependencies for btrfs-progs
    python: libbtrfsutil python bindings
    e2fsprogs: btrfs-convert [installed]
    reiserfsprogs: btrfs-convert
:: Running post-transaction hooks...
( 1/14) Creating system user accounts...
( 2/14) Updating journal message catalog...
( 3/14) Reloading system manager configuration...
Running in chroot, ignoring command 'daemon-reload'
( 4/14) Updating udev hardware database...
( 5/14) Applying kernel sysctl settings...
Not setting net/ipv4/conf/all/rp_filter (explicit setting exists).
Not setting net/ipv4/conf/default/rp_filter (explicit setting exists).
Not setting net/ipv4/conf/all/accept_source_route (explicit setting exists).
Not setting net/ipv4/conf/default/accept_source_route (explicit setting exists).
Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
( 6/14) Creating temporary files...
( 7/14) Reloading device manager configuration...
Running in chroot, ignoring request.
( 8/14) Arming ConditionNeedsUpdate...
( 9/14) Rebuilding certificate stores...
(10/14) Updating module dependencies...
(11/14) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
==> Starting build: 5.4.81-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect
==> Starting build: 5.4.81-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful
(12/14) Reloading system bus configuration...
Running in chroot, ignoring command 'try-reload-or-restart'
(13/14) Warn about old perl modules
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_MESSAGES = "",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
(14/14) Updating the info directory file...
pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass v  21.36s user 7.43s system 45% cpu 1:03.84 total
root@archiso ~ #

In den Mount-Point

  • /mnt und alle darunterliegenden,

werden nachfolgende Paketgruppen bzw. Pakete

  • base - Metapaket für ein minimales System.
  • base-devel - Gruppe für Pakete zum Paketbau (empfohlen).
  • linux-lts - Der Arch Linux (Long Time Support)-Kernel. (Alternativen: linux, linux-hardened)
  • linux-firmware - Firmware für verschiedene Hardware.
  • lvm2 - Einbindung von LVM 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.

/etc/fstab erstellen

Nachfolgender Befehl erzeugt die Konfigurationsdatei /etc/fstab:

root@archiso ~ # genfstab -Up /mnt > /mnt/etc/fstab

Der so erzeugte Inhalt, kann mit nachfolgendem Befehl überprüft werden und sollte eine Ausgabe wie die nachfolgende zum Vorschein bringen:

root@archiso ~ # cat /mnt/etc/fstab
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/         	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=256,subvol=/@root,subvol=@root	0 0
 
# /dev/mapper/archlinux-tmp LABEL=TMP
UUID=9c21c98c-57ea-4b0d-9064-4584393cc97f	/tmp      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-home LABEL=HOME
UUID=85d0ca9b-def5-4478-9f75-ce20b121a49d	/home     	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-var_log LABEL=VAR_LOG
UUID=3aca2eca-ab55-4655-a844-cac43f8fea6a	/var/log  	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-var_pkg LABEL=VAR_PKG
UUID=24b7d52d-ba82-4173-b730-daca60f076e8	/var/cache/pacman/pkg	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/var      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var,subvol=@var	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/srv      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv,subvol=@srv	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/opt      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt,subvol=@opt	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/usr/local	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local,subvol=@usr_local	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/btrfs    	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-swap LABEL=SWAP
UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8	none      	swap      	defaults  	0 0
 
root@archiso ~ #

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

Änderungen

  1. Entfernen der subvolid beim Eintrag für das / (root)-Verzeichnis, da sonst nicht von einem „Snapshot“ gestartet werden kann !!!.

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

root@archiso ~ # cat /mnt/etc/fstab
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/         	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvol=/@root,subvol=@root	0 0
 
# /dev/mapper/archlinux-tmp LABEL=TMP
UUID=9c21c98c-57ea-4b0d-9064-4584393cc97f	/tmp      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-home LABEL=HOME
UUID=85d0ca9b-def5-4478-9f75-ce20b121a49d	/home     	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-var_log LABEL=VAR_LOG
UUID=3aca2eca-ab55-4655-a844-cac43f8fea6a	/var/log  	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-var_pkg LABEL=VAR_PKG
UUID=24b7d52d-ba82-4173-b730-daca60f076e8	/var/cache/pacman/pkg	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/var      	btrfs     	rw,relatime,nodatacow,compress=zstd:3,space_cache=v2,subvolid=262,subvol=/@var,subvol=@var	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/srv      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=263,subvol=/@srv,subvol=@srv	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/opt      	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=264,subvol=/@opt,subvol=@opt	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/usr/local	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=265,subvol=/@usr_local,subvol=@usr_local	0 0
 
# /dev/mapper/archlinux-root LABEL=ROOT
UUID=1c250bce-9e86-4d82-b921-3eca687f8403	/btrfs    	btrfs     	rw,relatime,compress=zstd:3,space_cache=v2,subvolid=5,subvol=/	0 0
 
# /dev/mapper/archlinux-swap LABEL=SWAP
UUID=b76e9dd3-ffc3-483d-8e2b-fd397bf7c4a8	none      	swap      	defaults  	0 0
 
root@archiso ~ #

arch-chroot /mnt

Jetzt ist es an der Zeit, in das installierte System zu wechseln und weitere Konfigurationen vorzunehmen, was mit nachfolgendem Befehl durchgeführt werden kann:

root@archiso ~ # arch-chroot /mnt/
[root@archiso /]#

:!: WICHTIG - Der Prompt sollte sich nun auf [root@archiso /]# geändert haben!

/etc/hostname

Nachfolgender Befehl setzt den Hostnamen für den Server:

# echo archlinux > /etc/hostname

/etc/locale.conf

Nachfolgender Befehl setzt die Systemsprache auf English-US Ausprägung UTF-8

(Für Deutsch-DE Ausprägung UTF-8, wäre de_DE.UTF-8 zu setzen!)

# echo LANG=en_US.UTF-8 > /etc/locale.conf

/etc/locale.gen

Nachfolgende Veränderungen der Konfigurationsdatei /etc/locale.gen

  • en_US.UTF-8 UTF-8
  • en_US ISO-8859-1

setzen die erweiterten Systemsprachenspezifikation auf English-US Ausprägung UTF-8 durch ein kommentieren der entsprechenden Systemsprache.

(Für Deutsch-DE Ausprägung UTF-8 wäre

  • #de_DE.UTF-8 UTF-8
  • #de_DE ISO-8859-1
  • #de_DE@euro ISO-8859-15

einzukommentieren)

Nachfolgend soll die Konfigurationsdatei mit dem Text-Editor vim entsprechend abgeändert werden:

[root@archiso /]# vim /etc/locale.gen

Nachfolgender Befehl gibt zur Kontrolle, nur die ein kommentieren Zeilen der Konfigurationsdatei /etc/locale.gen aus:

[root@archiso /]# egrep -v '(^#|^$)' /etc/locale.gen
en_US.UTF-8 UTF-8  
en_US ISO-8859-1

Der abschließende Befehl setzt die Konfiguration dann im System um:

[root@archiso /]# locale-gen
Generating locales...
  en_US.UTF-8... done
  en_US.ISO-8859-1... done
Generation complete.

/etc/vconsole.conf

Nachfolgende Befehle legen das Tastaturlayout:

[root@archiso /]# echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf

und die Schriftart der shell / console fest:

[root@archiso /]# echo FONT=lat9w-16 >> /etc/vconsole.conf

/etc/localtime

Nachfolgender Befehl legt einen Verweis (Link) auf die zu verwendende Zeitzone, hier Europe/Berlin fest:

[root@archiso /]# ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

/etc/hosts

Nachfolgende Befehle erstellen die Konfigurationsdatei /etc/hosts und füllen diese mit den Standardeinträgen für localhost aus:

[root@archiso /]# echo -e '#<ip-address>	<hostname.domain.org>	<hostname>' >> /etc/hosts
[root@archiso /]# echo -e '127.0.0.1	localhost.localdomain	localhost' >> /etc/hosts
[root@archiso /]# echo -e '::1		localhost.localdomain	localhost' >> /etc/hosts

:!: HINWEIS - Eine Ausrichtung der einzelnen Zeilen muss ebenfalls durch Verwendung des Texteditors vim durchgeführt werden.

Nachfolgend soll die Konfigurationsdatei mit dem Text-Editor vim entsprechend abgeändert werden:

[root@archiso /]# vim /etc/hosts

Der Inhalt der Konfigurationsdatei /etc/hosts sollte dann wie folgt aussehen:

[root@archiso /]# cat /etc/hosts
# Static table lookup for hostnames.
# See hosts(5) for details.

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   localhost
::1             localhost.localdomain   localhost

/etc/resolv.conf

:!: HINWEIS - Der Namensserver aus dem LIVE-System sollte bereits vorhanden sein!

Zuerst sollte die Konfigurationsdatei /etc/resolv.conf durch nachfolgenden Befehl überprüft werden, ob diese nicht bereits ausreichend konfiguriert ist:

[root@archiso /]# cat /etc/resolv.conf
# Resolver configuration file.
# See resolv.conf(5) for details.
nameserver 192.168.1.20

In der Konfigurationsdatei /etc/resolv.conf können nun weiter sich im Netzwerk verfügbaren Namensserver (mindestens ein Namensserver), oder zusätzliche Namensserver aus dem Internet gesetzt werden, was mit nachfolgenden Befehl durchgeführt werden kann.

:!: HINWEIS - Die Wiederholung des Befehls mit weiteren Namensservern erweitert die Datei entsprechend!

[root@archiso /]# echo 'nameserver 192.168.1.20' > /etc/resolv.conf

/etc/mkinitcpio.conf

Nachfolgende Ergänzung in der Konfigurationsdatei

  • /etc/mkinitcpio.conf

muss zwingend durchgeführt werden.

Zuerst soll aber eine Sicherungskopie der Konfigurationsdatei /etc/mkinitcpio.conf erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archiso /]# cp -a /etc/mkinitcpio.conf /etc/mkinitcpio.conf.orig

Anschließend muss das Laden des systembedingten, sogenannten HOOKS wie folgtergänzt werden, wie nachfolgend gezeigt:

[root@archiso /]# vim /etc/mkinitcpio.conf

(Nur relevanter Ausschnitt)

VORHER:

BINARIES()

bzw.

HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

NACHHER:

# Tachtler
# default: BINARIES()
BINARIES(/usr/bin/btrfs)

bzw.

# Tachtler
# default: HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
HOOKS=(base udev autodetect modconf block lvm2 btrfs filesystems keymap keyboard)

Erklärungen

  • BINARIES(/usr/bin/btrfs)

Wenn es nach einem Neustart Probleme beim Neustart geben sollte, würden damit die btrfs-tools zur Verfügung stehen.

  • HOOKS=(base udev autodetect modconf block btrfs filesystems keymap keyboard)

Nachfolgend wurde die HOOKs

  1. lvm2 - (vor filesystem)
  2. btrfs - (vor filesystem)
  3. keymap - (vor keyboard)

hinzugefügt und dafür am Ende der Zeile der HOOK:

  1. fsck

entfernt.

:!: WICHTIG - Das hinzufügen des HOOKs lvm2 ist sehr wichtig, da sonst das LVM nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!

:!: WICHTIG - Das hinzufügen des HOOKs btrfs ist sehr wichtig, da sonst das Btrfs z.B. mit einer RAID-Konfiguration nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!

:!: HINWEIS - Das hinzufügen des HOOKs keymap ist kann hilfreich sein, da bei Problemen beim Neustart von ArchLinux weitere Tastaturlayouts zur Verfügung stehen und nicht nur das Tastaturlayout „US-English“.

:!: HINWEIS - Bei den verwendeten Dateisystemen, swap und btrfs gibt es keinen file system check (fsck), deswegen kann hier auf fsck verzichtet werden!

initramfs: mkinitcpio

Durch den nachfolgenden Befehl wird die initramfs-Erstellung durchgeführt:

[root@archiso /]# mkinitcpio -p linux-lts
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
==> Starting build: 5.4.81-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [lvm2]
  -> Running build hook: [btrfs]
  -> Running build hook: [filesystems]
  -> Running build hook: [keymap]
  -> Running build hook: [keyboard]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect
==> Starting build: 5.4.81-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [lvm2]
  -> Running build hook: [btrfs]
  -> Running build hook: [filesystems]
  -> Running build hook: [keymap]
  -> Running build hook: [keyboard]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful
[root@archiso /]#

Bootloader: GRUB

Zum Start des Servers ist ein sogenannter „Bootloader“ erforderlich. Hier soll der „Bootloader“

  • GRUB

installiert werden, was mit nachfolgendem Befehl durchgeführt werden soll:

[root@archiso /]# pacman -S --noconfirm grub
resolving dependencies...
looking for conflicting packages...

Packages (1) grub-2:2.04-8

Total Download Size:    6.74 MiB
Total Installed Size:  32.91 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 grub-2:2.04-8-x86_64    6.7 MiB  12.4 MiB/s 00:01 [######################] 100%
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) installing grub                              [######################] 100%
Generate your bootloader configuration with:
  grub-mkconfig -o /boot/grub/grub.cfg
Optional dependencies for grub
    freetype2: For grub-mkfont usage
    fuse2: For grub-mount usage
    dosfstools: For grub-mkrescue FAT FS and EFI support
    efibootmgr: For grub-install EFI support
    libisoburn: Provides xorriso for generating grub rescue iso using
    grub-mkrescue
    os-prober: To detect other OSes when generating grub.cfg in BIOS systems
    mtools: For grub-mkrescue FAT FS support
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the info directory file...
[root@archiso /]#

Anschließend ist die Konfiguration von GRUB für das Starten von der Festplatte einzurichten, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archiso /]# grub-install /dev/vda
Installing for i386-pc platform.
Installation finished. No error reported.
[root@archiso /]#

:!: HINWEIS - Falls beim starten und herunterfahren eine Ausgabe der gestarteten bzw. beendeten Dienste/Daemons erfolgen soll, kann dies durch eine Anpassung der Konfigurationsdatei

  • /etc/default/grub

wie nachfolgend dargestellt geändert werden:

Die Konfiguratiosndatei /etc/default/grub kann mit dem Text-Editor vim wie folgt editiert werden:

[root@archiso /]# vim /etc/default/grub

(Nur relevanter Ausschnitt:)

Vorher:

# GRUB boot loader configuration
 
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""
 
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

Nachher

# GRUB boot loader configuration
 
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
# Tachtler
# default: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"
GRUB_CMDLINE_LINUX=""
 
# Preload both GPT and MBR modules so that they are not missed
# Tachtler
# default: GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"

Erklärung:

  • GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"

Damit Meldungen des systemd-Dienstes/Daemon zu sehen sind, muss der Parameter quit entfernt werden und der Parameter net.ifnames=0 hinzugefügt werden. Der Paramater net.ifnames=0 sorgt dafür, das als Bezeichner bei Netzwerkkarten wieder die Notation ethX (Das X steht für eine Zahl) verwendet wird!

  • GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"

Am Ende der Konfigurationszeile wurde das Modul - lvm hinzugefügt, da das Starten durch den „Bootloader“ - GRUB von einer LVM-Partition erfolgt.

Abschließend muss noch die GRUB-Konfiguration generiert werden, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot: initramfs-linux-lts-fallback.img
done
[root@archiso /]#

Passwort: root

Es ist sinnvoll, dass der Benutzer root im „permanenten“-System ein Passwort besitzt, was mit nachfolgendem Befehl gesetzt werden kann:

[root@archiso /]# passwd
New password: 
Retype new password: 
passwd: password updated successfully

Das Passwort ist in der shell hinter New password: einzugeben und mit der [Return/Enter]-Taste zu bestätigen. Anschließend ist in der shell hinter Retype new password: das gleiche Passwort erneut einzugeben und ebenfalls mit der [Return/Enter]-Taste zu bestätigen.

Neustart

Wenn alle Konfigurationen durchgeführt sind, kann nun das installierte ArchLinux mit nachfolgendem Befehl verlassen werden:

[root@archiso /]# exit
exit
arch-chroot /mnt/  12.77s user 2.38s system 0% cpu 43:41.38 total
root@archiso ~ #

:!: WICHTIG - Der Prompt sollte sich nun wieder auf root@archiso ~ # geändert haben!

Der eigentliche Neustart wird dann mit nachfolgendem Befehl durchgeführt:

root@archiso ~ # systemctl reboot

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

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_logout

Damit die Konfigurationsdatei ~/.bash_logout auch angezogen wird, ist nachfolgende Konfigurationsdatei

  • ~/.bash_logout

falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:

[root@archlinux ~]# cp -a /etc/skel/.bash_logout ~/.bash_logout

Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:

[root@archlinux ~]# cat ~/.bash_logout 
#
# ~/.bash_logout
#

~/.bash_profile

Damit die Konfigurationsdatei ~/.bashrc auch angezogen wird, ist nachfolgende Konfigurationsdatei

  • ~/.bash_profile

falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:

[root@archlinux ~]# cp -a /etc/skel/.bash_profile ~/.bash_profile

Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:

[root@archlinux ~]# cat ~/.bash_profile
#
# ~/.bash_profile
#
 
[[ -f ~/.bashrc ]] && . ~/.bashrc

~/.bashrc

Wer z.B. Nutzer von CentOS ist, hat evtl. den Befehl ll lieb gewonnen, welcher eigentlich nur ein Alias für den Befehl

  • ls -l –color=auto

ist.

Um sicher zu stellen, dass die Konfigurationsdatei

  • ~/.bashrc

auch vorhanden ist, ist diese, falls nicht schon vorhanden, wie folgt aus einem „Skeleton“ zu kopieren:

[root@archlinux ~]# cp -a /etc/skel/.bashrc ~/.bashrc

Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:

[root@archlinux ~]# cat ~/.bashrc
#
# ~/.bashrc
#
 
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
 
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '

Um auf diesen „Annehmlichkeit“ auch unter ArchLinux nicht verzichten zu müssen, kann in nachfolgendem Verzeichnis die vorhandene Konfigurationsdatei mit nachfolgendem Namen ergänzt werden:

  • ~/.bashrc

Der Inhalt, welcher hier an z.B. CentOS angelehnt ist, könnte dann wie folgt aussehen:

[root@archlinux ~]# vim ~/.bashrc
#
# ~/.bashrc
#
 
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
 
# Tachtler
# default: alias ls='ls --color=auto'
#alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
 
# Tachtler - NEW -
alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

:!: HINWEIS - Nach der Beendigung z.B. eines shell-Fensters und dem Neustart von einem shell-Fenster, steht die neue Funktionalität zur Verfügung!

~/.vimrc

Wer z.B. Nutzer von CentOS ist, hat evtl. die Möglichkeit mit der Computer-Mouse/Maus Texte markieren zu können, ohne in den –VISIBLE– Modus zu wechseln und ein paar andere Einstellungen lieb gewonnen, welche eigentlich nur ein paar Einträge wie folgt

  • syntax on - Einschalten des Syntax-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

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_lvm_und_btrfs.1607485344.txt.gz · Zuletzt geändert: 2020/12/09 04:42 von klaus