Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_minimal_server_installation_uefi-boot

ArchLinux - Minimal Server Installation - UEFI-Boot

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

Herunterladen

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

Als Beispiel-Quelle kann hier nachfolgender Link dienen:

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

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

USB-Stick erstellen

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

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

Start: ISO-Image

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

BOOT

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

ArchLinux - ISO - UEFI-Boot

Durch drücken der [Eingabe|Return]-Taste auf dem Menüpunkt Arch Linux archiso x86_64 UEFI CD wird ein initialer Start durchgeführt. Nach erfolgreichem Start des „Live“„-Images, sollte nachfolgender Bildschirm erscheinen.

:!: HINWEIS - Eine Anmeldung als Benutzer root ist bereits erfolgt!

Vorbereitungen

Um die folgenden Installationsschritte durchführen zu können, werden nachfolgende Gegebenheiten vorausgesetzt.

  1. Es besteht die Möglichkeit, eine Anbindung an das Internet zu konfigurieren

Tastaturlayout: deutsch

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

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

root@archiso ~ # loadkeys de-latin1-nodeadkeys
Der Buchstabe [y] befindet sich auf der englischen Tastatur auf der Taste [z].
Das Zeichen [-] befindet sich auf der englischen Tastatur auf der Taste [ß].

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

Passwort: root

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

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

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

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

Netzwerkkarte: manuelle Konfiguration

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

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

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

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

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

root@archiso ~ # ip link set up dev ens3

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

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

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

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

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

root@archiso ~ # ip route add default via 192.168.1.10

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

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

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

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

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

Namensauflösung: /etc/resolv.conf

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

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

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

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

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

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

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

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

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

SSH-Dienst: starten

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

root@archiso ~ # systemctl start sshd.service

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

root@archiso ~ # systemctl status sshd.service
● sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese>
   Active: active (running) since Sun 2020-01-10 08:28:08 UTC; 8s ago
 Main PID: 822 (sshd)
    Tasks: 1 (limit: 2332)
   Memory: 2.0M
   CGroup: /system.slice/sshd.service
           └─822 /usr/bin/sshd -D

Jan 10 08:28:08 archiso systemd[1]: Started OpenSSH Daemon.
Jan 10 08:28:08 archiso sshd[882]: Server listening on 0.0.0.0 port 22.
Jan 10 08:28:08 archiso sshd[882]: Server listening on :: port 22.

Verbindung: SSH-Login (root)

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

$ ssh root@192.168.1.250
The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established.
ECDSA key fingerprint is SHA256:AizXWHnKF2FQHZxGpuPW8Wk/TG/NZYuzNbwLxmmGCOw.
ECDSA key fingerprint is MD5:a0:b5:24:1a:f5:84:81:14:b3:ec:2f:7c:3a:dd:1a:7f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.250' (ECDSA) to the list of known hosts.
root@192.168.1.250's password: 
Last login: Fri Jan 10 06:50:29 2020
root@archiso ~ #

Partitionierung: gdisk

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

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

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

Phyische Festplatte/LVM Größe Mount-Point Dateisystem
/dev/vda
/dev/vda1
/dev/vda1 1 GB /boot vfat
/dev/vda2
/dev/mapper/archlinux-swap 2 GB [SWAP] swap
/dev/mapper/archlinux-root 10 GB / ext4
/dev/mapper/archlinux-home 1 GB /home ext4
/dev/mapper/archlinux-var 3 GB /var ext4
/dev/mapper/archlinux-var_log 2 GB /var/log ext4
SUMME 19 GB

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

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

root@archiso ~ # gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.
Disk /dev/vda: 41943040 sectors, 20.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): E888AA52-DE04-4F40-B69A-8E6DBC289E09
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 41942973 sectors (20.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name

Schritt 1: gdisk 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 ~ # gdisk /dev/vda
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help):

Schritt 2: Erste Partition anlegen

Durch nachfolgende Befehle wird eine

  • neue „primäre“ Partition
  • mit der Nummer 1
  • und einer Größe von 1 GB angelegt:

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. 1
  3. [Enter/Return]-Taste = Bestätigung für „First sector (34-41943006, default = 2048)“
  4. die Eingabe der Größe, durch +1024M
  5. und Eingabe des Dateisystem-Codes: ef00

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1024M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System'

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

Command (? for help): p
Disk /dev/vda: 41943040 sectors, 20.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A6781D91-5CDD-4FDC-BDC8-B27326934B17
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 39845821 sectors (19.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  EF00  EFI System

Schritt 3: Zweite Partition anlegen

Durch nachfolgende Befehle wird eine

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

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. 2
  3. [Enter/Return]-Taste = Bestätigung für „First sector …“
  4. [Enter/Return]-Taste = Bestätigung für „Last sector …“
  5. und Eingabe des Dateisystem-Codes: 8e00

Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-41943006, default = 2099200) or {+-}size{KMGTP}: 
Last sector (2099200-41943006, default = 41943006) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00
Changed type of partition to 'Linux LVM'

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

Command (? for help): p
Disk /dev/vda: 41943040 sectors, 20.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A6781D91-5CDD-4FDC-BDC8-B27326934B17
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  EF00  EFI System
   2         2099200        41943006   19.0 GiB    8E00  Linux LVM

Schritt 4: Partitionstabelle schreiben

Anschließend sind nun die Tasten

  1. w
  2. und zur Bestätigung Y

zu drücken, um die Änderung auch tatsächlich in die Partitionstabelle der Festplatte zu schreiben:

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/vda.
The operation has completed successfully.

LVM

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

Schritt 1: Phys. Volume anlegen

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

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

Schritt 2: Volume Gruppe anlegen

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

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

Schritt 3: Logische Volumes anlegen

Nachfolgende Befehle legen die logischen Volumes

  • /dev/mapper/archlinux-swap
  • /dev/mapper/archlinux-root
  • /dev/mapper/archlinux-home
  • /dev/mapper/archlinux-var
  • /dev/mapper/archlinux-var_log

an:

root@archiso ~ # lvcreate --name swap -L2048M archlinux
  Logical volume "swap" created.
root@archiso ~ # lvcreate --name root -L10240M archlinux
  Logical volume "root" created.
root@archiso ~ # lvcreate --name home -L1024M archlinux
  Logical volume "home" created.
root@archiso ~ # lvcreate --name var -L3072M archlinux
  Logical volume "var" created.
root@archiso ~ # lvcreate --name var_log -L2048M archlinux
  Logical volume "var_log" created.

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

root@archiso ~ # lsblk /dev/vda
NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda                   254:0    0  20G  0 disk 
├─vda1                254:1    0   1G  0 part 
└─vda2                254:2    0  19G  0 part 
  ├─archlinux-swap    253:0    0   2G  0 lvm  
  ├─archlinux-root    253:1    0  10G  0 lvm  
  ├─archlinux-home    253:2    0   1G  0 lvm  
  ├─archlinux-var     253:3    0   3G  0 lvm  
  └─archlinux-var_log 253:4    0   2G  0 lvm

Dateisysteme formatieren

Nachfolgende Befehle formatieren die zuvor erstellen Partitionen mit einem Dateisystem, je nach Partitionstyp:

root@archiso ~ # mkfs.fat -F 32 -n EFIBOOT /dev/vda1
mkfs.fat 4.1 (2017-01-24)
root@archiso ~ # mkswap /dev/mapper/archlinux-swap
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=9399a618-575f-4ef2-bfaf-6b259c1147fd
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-root
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: 4df0fcd7-fade-4887-81c5-fdc78f96572d
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-home
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 777a7860-c768-4277-8c0c-c9194fcd2ec5
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-var
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: c341665d-3f02-4fff-bfd5-346233987ccc
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 
root@archiso ~ # mkfs.ext4 /dev/mapper/archlinux-var_log
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 524288 4k blocks and 131072 inodes
Filesystem UUID: 7f70accb-6bc6-47be-85a6-cf6fb86a6958
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

Partitonen einhängen

Nachfolgende Befehle hängen die zuvor erstellen Mount-Points in das Dateisystem des Servers ein:

:!: WICHTIG - Zuerst die root-Partition (/dev/mapper/archlinux-root) auf den Mount-Point /mnt

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

Anschließend müssen für die weiteren Mount-Points unterhalb von / (root) durch nachfolgende Befehle, die entsprechenden Verzeichnisse erst erstellt werden:

root@archiso ~ # mkdir /mnt/boot
root@archiso ~ # mkdir /mnt/home
root@archiso ~ # mkdir /mnt/var

:!: HINWEIS - /var/log fehlt, da zuerst /var als Mount-Point eingehängt werden muss!

Nachfolgender Befehl überprüft, ob alle vorangegangenen Befehle korrekt ausgeführt wurden. Es sollte eine Verzeichnisstruktur wie die nachfolgende angelegt worden sein:

root@archiso ~ # ls -l /mnt 
total 28
drwxr-xr-x 2 root root  4096 Jan 10 09:28 boot
drwxr-xr-x 2 root root  4096 Jan 10 09:28 home
drwx------ 2 root root 16384 Jan 10 09:25 lost+found
drwxr-xr-x 2 root root  4096 Jan 10 09:28 var

Anschließend können nun alle weiteren Mount-Points eingehängt werden, was mit nachfolgenden Befehlen durchgeführt wird:

Zuerst wird die /boot-Partition, mit nachfolgendem Befehl eingehängt werden:

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

Anschließend wird die [SWAP]-Partition aktiviert, was mit nachfolgender Befehl realisiert wird:

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

Anschließend folgen alle restlichen Mount-Points aus dem LVM:

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

Jetzt muss noch nach dem Einhängen des Mount-Points - /var ein Verzeichnis für /var/log mit nachfolgendem Befehl erstellt werden:

root@archiso ~ # mkdir /mnt/var/log

Somit kann nun auch der letzte Mount-Point - /var/log eingehängt werden:

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

Nachfolgender Befehl überprüft, ob die vorhergehenden Aktionen korrekt durchgeführt wurden und sollte eine Ausgabe wie die folgende darstellen:

root@archiso ~ # lsblk /dev/vda
NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda                   254:0    0  20G  0 disk 
├─vda1                254:1    0   1G  0 part /mnt/boot
└─vda2                254:2    0  19G  0 part 
  ├─archlinux-swap    253:0    0   2G  0 lvm  [SWAP]
  ├─archlinux-root    253:1    0  10G  0 lvm  /mnt
  ├─archlinux-home    253:2    0   1G  0 lvm  /mnt/home
  ├─archlinux-var     253:3    0   3G  0 lvm  /mnt/var
  └─archlinux-var_log 253:4    0   2G  0 lvm  /mnt/var/log

Installation: Basissystem

/etc/pacman.d/mirrorlist

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

Dazu ist die Optimierung der Konfigurationsdatei

  • /etc/pacman.d/mirrorlist

erforderlich.

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

root@archiso ~ # cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig

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

root@archiso ~ # grep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.orig | sed '/--/d' > /etc/pacman.d/mirrorlist

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

root@archiso ~ # cat /etc/pacman.d/mirrorlist
## Germany
Server = http://artfiles.org/archlinux.org/$repo/os/$arch
## Germany
Server = http://archlinux.thaller.ws/$repo/os/$arch
## Germany
Server = http://mirror.f4st.host/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.fau.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.netcologne.de/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/$arch
## Germany
Server = http://www.gutscheindrache.com/mirror/archlinux/$repo/os/$arch
## Germany
Server = http://packages.oth-regensburg.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirrors.n-ix.net/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.checkdomain.de/archlinux/$repo/os/$arch
## Germany
Server = http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/$arch
## Germany
Server = http://linux.rz.rub.de/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.chaoticum.net/arch/$repo/os/$arch
## Germany
Server = http://ftp.gwdg.de/pub/linux/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.fra10.de.leaseweb.net/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.selfnet.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.metalgamer.eu/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.23media.com/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.ubrco.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.orbit-os.com/archlinux/$repo/os/$arch
## Germany
Server = http://arch.jensgutermuth.de/$repo/os/$arch
## Germany
Server = http://arch.eckner.net/archlinux/$repo/os/$arch
## Germany
Server = http://archlinux.honkgong.info/$repo/os/$arch
## Germany
Server = http://ftp.wrz.de/pub/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.wtnet.de/arch/$repo/os/$arch
## Germany
Server = http://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.mikrogravitation.org/archlinux/$repo/os/$arch
## Germany
Server = http://mirror.united-gameserver.de/archlinux/$repo/os/$arch
## Germany
Server = http://mirrors.niyawe.de/archlinux/$repo/os/$arch
## Germany
Server = http://archlinux.mirror.iphh.net/$repo/os/$arch
## Germany
Server = http://ftp.uni-hannover.de/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/$arch
## Germany
Server = http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/$arch

Basissystem: /mnt

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

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

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

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

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

Packages (147) acl-2.2.53-2  archlinux-keyring-20200108-1  argon2-20190702-2
               attr-2.4.48-2  audit-2.8.5-6  bash-5.0.011-2  bzip2-1.0.8-3
               ca-certificates-20181109-3  ca-certificates-mozilla-3.49.2-1
               ca-certificates-utils-20181109-3  coreutils-8.31-3
               cracklib-2.9.7-2  cryptsetup-2.2.2-1  curl-7.68.0-1  db-5.3.28-5
               dbus-1.12.16-5  device-mapper-2.02.186-5  diffutils-3.7-3
               dnssec-anchors-20190629-2  e2fsprogs-1.45.5-1  expat-2.2.9-3
               filesystem-2019.10-2  gc-8.0.4-3  gcc-libs-9.2.0-4
               gdbm-1.18.1-3  glib2-2.62.4-1  glibc-2.30-3  gmp-6.1.2-3
               gnupg-2.2.19-1  gnutls-3.6.11.1-1  gpgme-1.13.1-3
               gpm-1.20.7.r27.g1fd1941-2  guile-2.2.6-1  hwids-20191025-2
               iana-etc-20191231-1  icu-65.1-2  iproute2-5.4.0-2
               iptables-1:1.8.4-1  iputils-20190709-2  json-c-0.13.1-3
               kbd-2.2.0-5  keyutils-1.6.1-3  kmod-26-3  krb5-1.17-2
               ldns-1.7.1-2  less-551-3  libaio-0.3.112-2  libarchive-3.4.1-1
               libassuan-2.5.3-2  libcap-2.29-1  libcap-ng-0.7.10-1
               libcroco-0.6.13-1  libedit-20191231_3.1-1  libelf-0.177-2
               libffi-3.2.1-4  libgcrypt-1.8.5-2  libgpg-error-1.36-3
               libidn2-2.3.0-1  libksba-1.3.5-2  libldap-2.4.48-2
               libmnl-1.0.4-3  libmpc-1.1.0-2  libnetfilter_conntrack-1.0.7-1
               libnfnetlink-1.0.1-3  libnftnl-1.1.5-1  libnghttp2-1.39.2-2
               libnl-3.5.0-2  libpcap-1.9.1-2  libpsl-0.21.0-2
               libsasl-2.1.27-2  libseccomp-2.4.1-3  libsecret-0.20.0-1
               libssh2-1.9.0-2  libtasn1-4.15.0-1  libtirpc-1.2.5-1
               libunistring-0.9.10-2  libusb-1.0.23-2  libutil-linux-2.35-1
               libxml2-2.9.10-1  licenses-20191011-2  linux-api-headers-5.3.1-2
               lz4-1:1.9.2-2  mkinitcpio-27-2  mkinitcpio-busybox-1.31.1-1
               mpfr-4.0.2-2  ncurses-6.1-7  nettle-3.5.1-2  npth-1.6-2
               openssl-1.1.1.d-2  p11-kit-0.23.19-1
               pacman-mirrorlist-20200103-1  pam-1.3.1-2  pambase-20190105.1-2
               pciutils-3.6.2-2  pcre-8.43-2  pcre2-10.34-3  perl-5.30.1-1
               pinentry-1.1.0-5  popt-1.16-12  procps-ng-3.3.15-2
               psmisc-23.3-2  readline-8.0.001-2  shadow-4.8-1  sqlite-3.30.1-2
               systemd-244.1-1  systemd-libs-244.1-1
               systemd-sysvcompat-244.1-1  tar-1.32-3
               thin-provisioning-tools-0.8.5-3  tzdata-2019c-3
               util-linux-2.35-1  vim-runtime-8.2.0100-1  xz-5.2.4-2
               zlib-1:1.2.11-4  zstd-1.4.4-1  autoconf-2.69-6
               automake-1.16.1-2  base-2-2  binutils-2.33.1-2  bison-3.5-1
               fakeroot-1.24-2  file-5.38-1  findutils-4.7.0-2  flex-2.6.4-3
               gawk-5.0.1-2  gcc-9.2.0-4  gettext-0.20.1-3  grep-3.4-1
               groff-1.22.4-3  gzip-1.10-3  libtool-2.4.6+42+gb88cebd5-8
               linux-firmware-20191220.6871bff-1  linux-lts-4.19.98-1
               lvm2-2.02.186-5  m4-1.4.18-3  make-4.2.1-4  openssh-8.1p1-2
               pacman-5.2.1-4  patch-2.7.6-8  pkgconf-1.6.3-3  sed-4.8-1
               sshpass-1.06-2  sudo-1.8.30-1  texinfo-6.7-2  vi-1:070224-4
               vim-8.2.0100-1  which-2.21-5

Total Download Size:    339.00 MiB
Total Installed Size:  1420.10 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 iana-etc-2019123...   387.8 KiB  1452 KiB/s 00:00 [######################] 100%
 filesystem-2019....    27.8 KiB  1636 KiB/s 00:00 [######################] 100%
 linux-api-header...   997.7 KiB  1454 KiB/s 00:01 [######################] 100%
 tzdata-2019c-3-x...   341.5 KiB  1485 KiB/s 00:00 [######################] 100%
 glibc-2.30-3-x86_64     9.1 MiB  1450 KiB/s 00:06 [######################] 100%
 gcc-libs-9.2.0-4...    28.3 MiB  1454 KiB/s 00:20 [######################] 100%
 ncurses-6.1-7-x86_64 1067.1 KiB  1456 KiB/s 00:01 [######################] 100%
 readline-8.0.001...   296.4 KiB  1235 KiB/s 00:00 [######################] 100%
 bash-5.0.011-2-x...  1538.5 KiB  1442 KiB/s 00:01 [######################] 100%
 attr-2.4.48-2-x86_64   65.0 KiB  1512 KiB/s 00:00 [######################] 100%
 acl-2.2.53-2-x86_64   131.9 KiB  1374 KiB/s 00:00 [######################] 100%
 gmp-6.1.2-3-x86_64    407.2 KiB  1475 KiB/s 00:00 [######################] 100%
 libcap-2.29-1-x86_64   49.8 KiB  1508 KiB/s 00:00 [######################] 100%
 gdbm-1.18.1-3-x86_64  160.4 KiB  1458 KiB/s 00:00 [######################] 100%
 db-5.3.28-5-x86_64   1098.0 KiB  1458 KiB/s 00:01 [######################] 100%
 perl-5.30.1-1-x86_64   14.2 MiB  1456 KiB/s 00:10 [######################] 100%
 openssl-1.1.1.d-...     3.4 MiB  1456 KiB/s 00:02 [######################] 100%
 coreutils-8.31-3...     2.4 MiB  1455 KiB/s 00:02 [######################] 100%
 zlib-1:1.2.11-4-...    81.5 KiB  1509 KiB/s 00:00 [######################] 100%
 xz-5.2.4-2-x86_64     231.3 KiB  1473 KiB/s 00:00 [######################] 100%
 bzip2-1.0.8-3-x86_64   53.4 KiB  1620 KiB/s 00:00 [######################] 100%
 libseccomp-2.4.1...    75.1 KiB  1501 KiB/s 00:00 [######################] 100%
 file-5.38-1-x86_64    314.2 KiB  1475 KiB/s 00:00 [######################] 100%
 findutils-4.7.0-...   454.6 KiB  1452 KiB/s 00:00 [######################] 100%
 mpfr-4.0.2-2-x86_64   314.0 KiB  1447 KiB/s 00:00 [######################] 100%
 gawk-5.0.1-2-x86_64  1096.3 KiB  1456 KiB/s 00:01 [######################] 100%
 pcre-8.43-2-x86_64    931.2 KiB  1363 KiB/s 00:01 [######################] 100%
 grep-3.4-1-x86_64     204.2 KiB  1459 KiB/s 00:00 [######################] 100%
 libgpg-error-1.3...   192.9 KiB  1418 KiB/s 00:00 [######################] 100%
 libgcrypt-1.8.5-...   485.4 KiB  1458 KiB/s 00:00 [######################] 100%
 lz4-1:1.9.2-2-x86_64  109.4 KiB  1440 KiB/s 00:00 [######################] 100%
 systemd-libs-244...   418.9 KiB  1460 KiB/s 00:00 [######################] 100%
 procps-ng-3.3.15...   340.7 KiB  1462 KiB/s 00:00 [######################] 100%
 sed-4.8-1-x86_64      237.9 KiB  1487 KiB/s 00:00 [######################] 100%
 tar-1.32-3-x86_64     742.3 KiB  1428 KiB/s 00:01 [######################] 100%
 libffi-3.2.1-4-x...    31.3 KiB  1566 KiB/s 00:00 [######################] 100%
 libutil-linux-2....   409.0 KiB  1461 KiB/s 00:00 [######################] 100%
 glib2-2.62.4-1-x...     2.4 MiB  1455 KiB/s 00:02 [######################] 100%
 libunistring-0.9...   498.6 KiB  1466 KiB/s 00:00 [######################] 100%
 icu-65.1-2-x86_64       8.9 MiB  1434 KiB/s 00:06 [######################] 100%
 gettext-0.20.1-3...  1929.0 KiB  1454 KiB/s 00:01 [######################] 100%
 hwids-20191025-2-any  370.9 KiB  1466 KiB/s 00:00 [######################] 100%
 kmod-26-3-x86_64      113.9 KiB  1499 KiB/s 00:00 [######################] 100%
 pciutils-3.6.2-2...    86.8 KiB  1524 KiB/s 00:00 [######################] 100%
 psmisc-23.3-2-x86_64  110.1 KiB  1488 KiB/s 00:00 [######################] 100%
 cracklib-2.9.7-2...   250.4 KiB  1473 KiB/s 00:00 [######################] 100%
 e2fsprogs-1.45.5...  1195.4 KiB  1458 KiB/s 00:01 [######################] 100%
 libsasl-2.1.27-2...   136.2 KiB  1404 KiB/s 00:00 [######################] 100%
 libldap-2.4.48-2...   282.2 KiB  1462 KiB/s 00:00 [######################] 100%
 keyutils-1.6.1-3...    88.3 KiB  1472 KiB/s 00:00 [######################] 100%
 krb5-1.17-2-x86_64   1219.1 KiB  1458 KiB/s 00:01 [######################] 100%
 libtirpc-1.2.5-1...   170.0 KiB  1505 KiB/s 00:00 [######################] 100%
 pambase-20190105...     2.9 KiB  0.00   B/s 00:00 [######################] 100%
 pam-1.3.1-2-x86_64    559.6 KiB  1461 KiB/s 00:00 [######################] 100%
 libcap-ng-0.7.10...    35.7 KiB  1552 KiB/s 00:00 [######################] 100%
 audit-2.8.5-6-x86_64  338.5 KiB  1240 KiB/s 00:00 [######################] 100%
 shadow-4.8-1-x86_64  1109.2 KiB  1459 KiB/s 00:01 [######################] 100%
 util-linux-2.35-...     2.4 MiB  1457 KiB/s 00:02 [######################] 100%
 less-551-3-x86_64     100.9 KiB  1442 KiB/s 00:00 [######################] 100%
 gzip-1.10-3-x86_64     77.8 KiB  1556 KiB/s 00:00 [######################] 100%
 licenses-2019101...    66.8 KiB  1553 KiB/s 00:00 [######################] 100%
 expat-2.2.9-3-x86_64   94.6 KiB  1501 KiB/s 00:00 [######################] 100%
 zstd-1.4.4-1-x86_64   391.9 KiB  1473 KiB/s 00:00 [######################] 100%
 libarchive-3.4.1...   499.2 KiB  1468 KiB/s 00:00 [######################] 100%
 libtasn1-4.15.0-...   116.1 KiB  1507 KiB/s 00:00 [######################] 100%
 device-mapper-2....   291.3 KiB  1457 KiB/s 00:00 [######################] 100%
 popt-1.16-12-x86_64    62.9 KiB  1337 KiB/s 00:00 [######################] 100%
 json-c-0.13.1-3-...    45.0 KiB  1501 KiB/s 00:00 [######################] 100%
 argon2-20190702-...    30.2 KiB  1775 KiB/s 00:00 [######################] 100%
 cryptsetup-2.2.2...   470.1 KiB  1451 KiB/s 00:00 [######################] 100%
 dbus-1.12.16-5-x...   298.3 KiB  1462 KiB/s 00:00 [######################] 100%
 libmnl-1.0.4-3-x...    10.4 KiB  1491 KiB/s 00:00 [######################] 100%
 libnftnl-1.1.5-1...    61.1 KiB  1528 KiB/s 00:00 [######################] 100%
 libnl-3.5.0-2-x86_64  364.7 KiB  1482 KiB/s 00:00 [######################] 100%
 libusb-1.0.23-2-...    57.0 KiB  1541 KiB/s 00:00 [######################] 100%
 libpcap-1.9.1-2-...   240.0 KiB  1473 KiB/s 00:00 [######################] 100%
 iptables-1:1.8.4...   426.5 KiB  1471 KiB/s 00:00 [######################] 100%
 kbd-2.2.0-5-x86_64   1135.6 KiB  1461 KiB/s 00:01 [######################] 100%
 libidn2-2.3.0-1-...   115.9 KiB  1505 KiB/s 00:00 [######################] 100%
 libelf-0.177-2-x...   373.5 KiB  1415 KiB/s 00:00 [######################] 100%
 pcre2-10.34-3-x86_64 1038.5 KiB  1454 KiB/s 00:01 [######################] 100%
 systemd-244.1-1-...     4.9 MiB  1454 KiB/s 00:03 [######################] 100%
 p11-kit-0.23.19-...   590.2 KiB  1464 KiB/s 00:00 [######################] 100%
 ca-certificates-...     8.2 KiB  2039 KiB/s 00:00 [######################] 100%
 ca-certificates-...   336.5 KiB  1482 KiB/s 00:00 [######################] 100%
 ca-certificates-...     2.1 KiB  0.00   B/s 00:00 [######################] 100%
 libssh2-1.9.0-2-...   205.8 KiB  1470 KiB/s 00:00 [######################] 100%
 libpsl-0.21.0-2-...    73.2 KiB  1463 KiB/s 00:00 [######################] 100%
 libnghttp2-1.39....    86.7 KiB  1522 KiB/s 00:00 [######################] 100%
 curl-7.68.0-1-x86_64 1018.0 KiB  1454 KiB/s 00:01 [######################] 100%
 npth-1.6-2-x86_64      12.8 KiB  1825 KiB/s 00:00 [######################] 100%
 libksba-1.3.5-2-...   116.6 KiB  1535 KiB/s 00:00 [######################] 100%
 libassuan-2.5.3-...    85.0 KiB  1491 KiB/s 00:00 [######################] 100%
 libsecret-0.20.0...   236.6 KiB  1479 KiB/s 00:00 [######################] 100%
 pinentry-1.1.0-5...   101.6 KiB  1517 KiB/s 00:00 [######################] 100%
 nettle-3.5.1-2-x...   329.4 KiB  1497 KiB/s 00:00 [######################] 100%
 gnutls-3.6.11.1-...     2.6 MiB  1460 KiB/s 00:02 [######################] 100%
 sqlite-3.30.1-2-...  1402.0 KiB  1460 KiB/s 00:01 [######################] 100%
 gnupg-2.2.19-1-x...     2.1 MiB  1457 KiB/s 00:01 [######################] 100%
 gpgme-1.13.1-3-x...   410.9 KiB  1468 KiB/s 00:00 [######################] 100%
 pacman-mirrorlis...     5.9 KiB  1483 KiB/s 00:00 [######################] 100%
 archlinux-keyrin...   868.3 KiB  1454 KiB/s 00:01 [######################] 100%
 pacman-5.2.1-4-x...   836.6 KiB  1460 KiB/s 00:01 [######################] 100%
 systemd-sysvcomp...     7.7 KiB  2.49 MiB/s 00:00 [######################] 100%
 iputils-20190709...    92.1 KiB  1462 KiB/s 00:00 [######################] 100%
 iproute2-5.4.0-2...   906.4 KiB  1453 KiB/s 00:01 [######################] 100%
 base-2-2-any            2.1 KiB  0.00   B/s 00:00 [######################] 100%
 m4-1.4.18-3-x86_64    169.4 KiB  1499 KiB/s 00:00 [######################] 100%
 diffutils-3.7-3-...   324.1 KiB  1473 KiB/s 00:00 [######################] 100%
 autoconf-2.69-6-any   585.5 KiB  1464 KiB/s 00:00 [######################] 100%
 automake-1.16.1-...   598.7 KiB  1460 KiB/s 00:00 [######################] 100%
 binutils-2.33.1-...     4.6 MiB  1459 KiB/s 00:03 [######################] 100%
 bison-3.5-1-x86_64    637.9 KiB  1460 KiB/s 00:00 [######################] 100%
 fakeroot-1.24-2-...    67.0 KiB  1523 KiB/s 00:00 [######################] 100%
 flex-2.6.4-3-x86_64   297.2 KiB  1457 KiB/s 00:00 [######################] 100%
 libmpc-1.1.0-2-x...    65.1 KiB  1479 KiB/s 00:00 [######################] 100%
 gcc-9.2.0-4-x86_64     33.9 MiB  1452 KiB/s 00:24 [######################] 100%
 groff-1.22.4-3-x...  2044.3 KiB  1456 KiB/s 00:01 [######################] 100%
 libtool-2.4.6+42...   399.5 KiB  1458 KiB/s 00:00 [######################] 100%
 texinfo-6.7-2-x86_64 1301.6 KiB  1451 KiB/s 00:01 [######################] 100%
 make-4.2.1-4-x86_64   411.2 KiB  1469 KiB/s 00:00 [######################] 100%
 patch-2.7.6-8-x86_64   92.5 KiB  1469 KiB/s 00:00 [######################] 100%
 pkgconf-1.6.3-3-...    54.7 KiB  1609 KiB/s 00:00 [######################] 100%
 sudo-1.8.30-1-x86_64  870.4 KiB  1468 KiB/s 00:01 [######################] 100%
 which-2.21-5-x86_64    15.8 KiB  1579 KiB/s 00:00 [######################] 100%
 mkinitcpio-busyb...   254.8 KiB  1499 KiB/s 00:00 [######################] 100%
 mkinitcpio-27-2-any    40.7 KiB  1769 KiB/s 00:00 [######################] 100%
 linux-lts-4.19.9...    64.3 MiB  1450 KiB/s 00:45 [######################] 100%
 linux-firmware-2...    94.1 MiB  1451 KiB/s 01:06 [######################] 100%
 libaio-0.3.112-2...     6.3 KiB  1587 KiB/s 00:00 [######################] 100%
 thin-provisionin...   389.1 KiB  1474 KiB/s 00:00 [######################] 100%
 lvm2-2.02.186-5-...  1456.0 KiB  1462 KiB/s 00:01 [######################] 100%
 libedit-20191231...   106.9 KiB  1527 KiB/s 00:00 [######################] 100%
 dnssec-anchors-2...     3.1 KiB  0.00   B/s 00:00 [######################] 100%
 ldns-1.7.1-2-x86_64   435.9 KiB  1468 KiB/s 00:00 [######################] 100%
 openssh-8.1p1-2-...   755.9 KiB  1465 KiB/s 00:01 [######################] 100%
 vi-1:070224-4-x86_64  152.2 KiB  1478 KiB/s 00:00 [######################] 100%
 gpm-1.20.7.r27.g...   132.0 KiB  1467 KiB/s 00:00 [######################] 100%
 libxml2-2.9.10-1...  1267.4 KiB  1462 KiB/s 00:01 [######################] 100%
 libcroco-0.6.13-...   146.0 KiB  1505 KiB/s 00:00 [######################] 100%
 libnfnetlink-1.0...    16.4 KiB  1640 KiB/s 00:00 [######################] 100%
 libnetfilter_con...    47.5 KiB  1584 KiB/s 00:00 [######################] 100%
 gc-8.0.4-3-x86_64     221.1 KiB  1474 KiB/s 00:00 [######################] 100%
 guile-2.2.6-1-x86_64    5.6 MiB  1458 KiB/s 00:04 [######################] 100%
 vim-runtime-8.2....     6.2 MiB  1452 KiB/s 00:04 [######################] 100%
 vim-8.2.0100-1-x...  1596.4 KiB  1461 KiB/s 00:01 [######################] 100%
 sshpass-1.06-2-x...     9.3 KiB  1555 KiB/s 00:00 [######################] 100%
(147/147) checking keys in keyring                 [######################] 100%
(147/147) checking package integrity               [######################] 100%
(147/147) loading package files                    [######################] 100%
(147/147) checking for file conflicts              [######################] 100%
:: Processing package changes...
(  1/147) installing iana-etc                      [######################] 100%
(  2/147) installing filesystem                    [######################] 100%
(  3/147) installing linux-api-headers             [######################] 100%
(  4/147) installing tzdata                        [######################] 100%
(  5/147) installing glibc                         [######################] 100%
Optional dependencies for glibc
    gd: for memusagestat
(  6/147) installing gcc-libs                      [######################] 100%
(  7/147) installing ncurses                       [######################] 100%
(  8/147) installing readline                      [######################] 100%
(  9/147) installing bash                          [######################] 100%
Optional dependencies for bash
    bash-completion: for tab completion
( 10/147) installing attr                          [######################] 100%
( 11/147) installing acl                           [######################] 100%
( 12/147) installing gmp                           [######################] 100%
( 13/147) installing libcap                        [######################] 100%
( 14/147) installing gdbm                          [######################] 100%
( 15/147) installing db                            [######################] 100%
( 16/147) installing perl                          [######################] 100%
( 17/147) installing openssl                       [######################] 100%
Optional dependencies for openssl
    ca-certificates [pending]
( 18/147) installing coreutils                     [######################] 100%
( 19/147) installing zlib                          [######################] 100%
( 20/147) installing xz                            [######################] 100%
( 21/147) installing bzip2                         [######################] 100%
( 22/147) installing libseccomp                    [######################] 100%
( 23/147) installing file                          [######################] 100%
( 24/147) installing findutils                     [######################] 100%
( 25/147) installing mpfr                          [######################] 100%
( 26/147) installing gawk                          [######################] 100%
( 27/147) installing pcre                          [######################] 100%
( 28/147) installing grep                          [######################] 100%
( 29/147) installing libgpg-error                  [######################] 100%
( 30/147) installing libgcrypt                     [######################] 100%
( 31/147) installing lz4                           [######################] 100%
( 32/147) installing systemd-libs                  [######################] 100%
( 33/147) installing procps-ng                     [######################] 100%
( 34/147) installing sed                           [######################] 100%
( 35/147) installing tar                           [######################] 100%
( 36/147) installing libffi                        [######################] 100%
( 37/147) installing libutil-linux                 [######################] 100%
( 38/147) installing glib2                         [######################] 100%
Optional dependencies for glib2
    python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
    libelf: gresource inspection tool [pending]
( 39/147) installing libunistring                  [######################] 100%
( 40/147) installing icu                           [######################] 100%
( 41/147) installing libxml2                       [######################] 100%
( 42/147) installing libcroco                      [######################] 100%
( 43/147) installing gettext                       [######################] 100%
Optional dependencies for gettext
    git: for autopoint infrastructure updates
( 44/147) installing hwids                         [######################] 100%
( 45/147) installing kmod                          [######################] 100%
( 46/147) installing pciutils                      [######################] 100%
( 47/147) installing psmisc                        [######################] 100%
( 48/147) installing cracklib                      [######################] 100%
( 49/147) installing e2fsprogs                     [######################] 100%
( 50/147) installing libsasl                       [######################] 100%
( 51/147) installing libldap                       [######################] 100%
( 52/147) installing keyutils                      [######################] 100%
( 53/147) installing krb5                          [######################] 100%
( 54/147) installing libtirpc                      [######################] 100%
( 55/147) installing pambase                       [######################] 100%
( 56/147) installing pam                           [######################] 100%
( 57/147) installing libcap-ng                     [######################] 100%
( 58/147) installing audit                         [######################] 100%
( 59/147) installing shadow                        [######################] 100%
( 60/147) installing util-linux                    [######################] 100%
Optional dependencies for util-linux
    python: python bindings to libmount
    words: default dictionary for look
( 61/147) installing less                          [######################] 100%
( 62/147) installing gzip                          [######################] 100%
( 63/147) installing licenses                      [######################] 100%
( 64/147) installing expat                         [######################] 100%
( 65/147) installing zstd                          [######################] 100%
( 66/147) installing libarchive                    [######################] 100%
( 67/147) installing libtasn1                      [######################] 100%
( 68/147) installing device-mapper                 [######################] 100%
( 69/147) installing popt                          [######################] 100%
( 70/147) installing json-c                        [######################] 100%
( 71/147) installing argon2                        [######################] 100%
( 72/147) installing cryptsetup                    [######################] 100%
( 73/147) installing dbus                          [######################] 100%
( 74/147) installing libmnl                        [######################] 100%
( 75/147) installing libnftnl                      [######################] 100%
( 76/147) installing libnl                         [######################] 100%
( 77/147) installing libusb                        [######################] 100%
( 78/147) installing libpcap                       [######################] 100%
( 79/147) installing libnfnetlink                  [######################] 100%
( 80/147) installing libnetfilter_conntrack        [######################] 100%
( 81/147) installing iptables                      [######################] 100%
( 82/147) installing kbd                           [######################] 100%
( 83/147) installing libidn2                       [######################] 100%
( 84/147) installing libelf                        [######################] 100%
( 85/147) installing pcre2                         [######################] 100%
( 86/147) installing systemd                       [######################] 100%
Initializing machine ID from KVM UUID.
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service.
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target.
:: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your
   bootloader to replace sysvinit with systemd, or install systemd-sysvcompat
Optional dependencies for systemd
    libmicrohttpd: remote journald capabilities
    quota-tools: kernel-level quota management
    systemd-sysvcompat: symlink package to provide sysvinit binaries [pending]
    polkit: allow administration as unprivileged user
    curl: machinectl pull-tar and pull-raw [pending]
( 87/147) installing p11-kit                       [######################] 100%
Created symlink /etc/systemd/user/sockets.target.wants/p11-kit-server.socket → /usr/lib/systemd/user/p11-kit-server.socket.
( 88/147) installing ca-certificates-utils         [######################] 100%
( 89/147) installing ca-certificates-mozilla       [######################] 100%
( 90/147) installing ca-certificates               [######################] 100%
( 91/147) installing libssh2                       [######################] 100%
( 92/147) installing libpsl                        [######################] 100%
( 93/147) installing libnghttp2                    [######################] 100%
( 94/147) installing curl                          [######################] 100%
( 95/147) installing npth                          [######################] 100%
( 96/147) installing libksba                       [######################] 100%
( 97/147) installing libassuan                     [######################] 100%
( 98/147) installing libsecret                     [######################] 100%
Optional dependencies for libsecret
    org.freedesktop.secrets: secret storage backend
( 99/147) installing pinentry                      [######################] 100%
Optional dependencies for pinentry
    gtk2: gtk2 backend
    qt5-base: qt backend
    gcr: gnome3 backend
(100/147) installing nettle                        [######################] 100%
(101/147) installing gnutls                        [######################] 100%
Optional dependencies for gnutls
    guile: for use with Guile bindings [pending]
(102/147) installing sqlite                        [######################] 100%
(103/147) installing gnupg                         [######################] 100%
Optional dependencies for gnupg
    libldap: gpg2keys_ldap [installed]
    libusb-compat: scdaemon
    pcsclite: scdaemon
(104/147) installing gpgme                         [######################] 100%
(105/147) installing pacman-mirrorlist             [######################] 100%
(106/147) installing archlinux-keyring             [######################] 100%
(107/147) installing pacman                        [######################] 100%
Optional dependencies for pacman
    perl-locale-gettext: translation support in makepkg-template
(108/147) installing systemd-sysvcompat            [######################] 100%
(109/147) installing iputils                       [######################] 100%
Optional dependencies for iputils
    xinetd: for tftpd
(110/147) installing iproute2                      [######################] 100%
Optional dependencies for iproute2
    linux-atm: ATM support
(111/147) installing base                          [######################] 100%
Optional dependencies for base
    linux: bare metal support
(112/147) installing m4                            [######################] 100%
(113/147) installing diffutils                     [######################] 100%
(114/147) installing autoconf                      [######################] 100%
(115/147) installing automake                      [######################] 100%
(116/147) installing binutils                      [######################] 100%
(117/147) installing bison                         [######################] 100%
(118/147) installing fakeroot                      [######################] 100%
(119/147) installing flex                          [######################] 100%
(120/147) installing libmpc                        [######################] 100%
(121/147) installing gcc                           [######################] 100%
Optional dependencies for gcc
    lib32-gcc-libs: for generating code for 32-bit ABI
(122/147) installing groff                         [######################] 100%
Optional dependencies for groff
    netpbm: for use together with man -H command interaction in browsers
    psutils: for use together with man -H command interaction in browsers
    libxaw: for gxditview
    perl-file-homedir: for use with glilypond
(123/147) installing libtool                       [######################] 100%
(124/147) installing texinfo                       [######################] 100%
(125/147) installing gc                            [######################] 100%
(126/147) installing guile                         [######################] 100%
(127/147) installing make                          [######################] 100%
(128/147) installing patch                         [######################] 100%
Optional dependencies for patch
    ed: for patch -e functionality
(129/147) installing pkgconf                       [######################] 100%
(130/147) installing sudo                          [######################] 100%
(131/147) installing which                         [######################] 100%
(132/147) installing mkinitcpio-busybox            [######################] 100%
(133/147) installing mkinitcpio                    [######################] 100%
Optional dependencies for mkinitcpio
    xz: Use lzma or xz compression for the initramfs image [installed]
    bzip2: Use bzip2 compression for the initramfs image [installed]
    lzop: Use lzo compression for the initramfs image
    lz4: Use lz4 compression for the initramfs image [installed]
    mkinitcpio-nfs-utils: Support for root filesystem on NFS
(134/147) installing linux-lts                     [######################] 100%
Optional dependencies for linux-lts
    crda: to set the correct wireless channels of your country
    linux-firmware: firmware images needed for some devices [pending]
(135/147) installing linux-firmware                [######################] 100%
(136/147) installing libaio                        [######################] 100%
(137/147) installing thin-provisioning-tools       [######################] 100%
(138/147) installing lvm2                          [######################] 100%
(139/147) installing libedit                       [######################] 100%
(140/147) installing dnssec-anchors                [######################] 100%
(141/147) installing ldns                          [######################] 100%
Optional dependencies for ldns
    libpcap: ldns-dpa tool [installed]
(142/147) installing openssh                       [######################] 100%
Optional dependencies for openssh
    xorg-xauth: X11 forwarding
    x11-ssh-askpass: input passphrase in X
(143/147) installing sshpass                       [######################] 100%
(144/147) installing vi                            [######################] 100%
Optional dependencies for vi
    s-nail: used by the preserve command for notification
(145/147) installing vim-runtime                   [######################] 100%
Optional dependencies for vim-runtime
    sh: support for some tools and macros [installed]
    python: demoserver example tool
    gawk: mve tools upport [installed]
(146/147) installing gpm                           [######################] 100%
(147/147) installing vim                           [######################] 100%
Optional dependencies for vim
    python2: Python 2 language support
    python: Python 3 language support
    ruby: Ruby language support
    lua: Lua language support
    perl: Perl language support [installed]
    tcl: Tcl language support
:: Running post-transaction hooks...
( 1/14) Creating system user accounts...
( 2/14) Updating journal message catalog...
( 3/14) Reloading system manager configuration...
Running in chroot, ignoring request: daemon-reload
( 4/14) Updating udev hardware database...
( 5/14) Applying kernel sysctl settings...
( 6/14) Creating temporary files...
( 7/14) Reloading device manager configuration...
Running in chroot, ignoring request.
( 8/14) Arming ConditionNeedsUpdate...
( 9/14) Updating module dependencies...
(10/14) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
==> Starting build: 4.19.98-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect
==> Starting build: 4.19.98-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful
(11/14) Reloading system bus configuration...
Running in chroot, ignoring request: try-reload-or-restart
(12/14) Warn about old perl modules
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_MESSAGES = "",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
(13/14) Updating the info directory file...
(14/14) Rebuilding certificate stores...
pacstrap /mnt base base-devel linux-lts linux-firmware lvm2 openssh sshpass v  32.27s user 7.97s system 13% cpu 4:48.26 total

In den Mount-Point

  • /mnt und alle darunterliegenden,

werden nachfolgende Paketgruppen bzw. Pakete

  • base - Metapaket für ein minimales System.
  • base-devel - Gruppe für Pakete zum Paketbau (empfohlen).
  • linux-lts - Der Arch Linux (Long Time Support)-Kernel. (Alternativen: linux, linux-hardened)
  • linux-firmware - Firmware für verschiedene Hardware.
  • lvm2 - Einbindung von LVM Volumes
  • vi - Texteditor für die shell
  • vim - Texteditor für die shell mit Text-Highlighting

installiert.

Optional, aber dringend empfohlen, ist nachfolgendes Paket:

  • openssh - SSH-Server und SSH-Werkzeuge, da sonst kein SSH-Login auf den Server möglich ist.
  • sshpass - SSH-Client ermöglichen, ein Passwort interaktiv abzufragen.

Systemkonfiguration: /mnt

/etc/fstab erstellen

Nachfolgender Befehl erzeugt die Konfigurationsdatei /etc/fstab:

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

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

root@archiso ~ # cat /mnt/etc/fstab
# /dev/mapper/archlinux-root
UUID=ca7daa0b-5b2a-4d0d-b254-63f48ae927b5	/         	ext4      	rw,relatime	0 1

# /dev/vda1 LABEL=EFIBOOT
UUID=B616-2763      	/boot     	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/mapper/archlinux-home
UUID=b809dbd5-db40-42de-add1-188d9ab6dde4	/home     	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-var
UUID=5eca73c4-afe2-4fce-a7cc-57481a0c7a7d	/var      	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-var_log
UUID=1e0773ba-9454-41a9-939d-b2895ff271ce	/var/log  	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-swap
UUID=48a4d55a-4d81-4864-b075-22c4a40b3330	none      	swap      	defaults  	0 0

arch-chroot /mnt

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

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

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

/etc/hostname

Nachfolgender Befehl setzt den Hostnamen für den Server:

# echo archlinux > /etc/hostname

/etc/locale.conf

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

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

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

/etc/locale.gen

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

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

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

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

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

einzukommentieren)

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

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

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

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

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

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

/etc/vconsole.conf

Nachfolgende Befehle legen das Tastaturlayout:

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

und die Schriftart der shell / console fest:

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

/etc/localtime

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

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

/etc/hosts

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

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

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

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

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

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

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

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

/etc/resolv.conf

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

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

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

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

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

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

/etc/mkinitcpio.conf

:!: WICHTIG - Nachfolgende Anpassung ist sehr wichtig, da sonst das LVM nicht genutzt werden kann und der Start von der Festplatte von ArchLinux fehl schlägt!

Nachfolgende Ergänzung in der Konfigurationsdatei

  • /etc/mkinitcpio.conf

muss zwingend durchgeführt werden.

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

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

Anschließend muss das Laden des systembedingten, sogenannten HOOKS

  • lvm2

wie folgt VOR dem Schlüsselwort filesystems ergänzt werden, wie nachfolgend gezeigt:

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

(Nur relevanter Ausschnitt) VORHER:

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

NACHHER:

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

initramfs: mkinitcpio

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

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

Bootloader: systemd-boot

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

  • systemd-boot

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

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

Packages (4) efivar-37-3  dosfstools-4.1-3  efibootmgr-16-2  gptfdisk-1.0.4-1

Total Download Size:   0.35 MiB
Total Installed Size:  1.30 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 efivar-37-3-x86_64    101.1 KiB   945 KiB/s 00:00 [######################] 100%
 efibootmgr-16-2-...    19.4 KiB  1938 KiB/s 00:00 [######################] 100%
 dosfstools-4.1-3...    57.4 KiB  1436 KiB/s 00:00 [######################] 100%
 gptfdisk-1.0.4-1...   183.0 KiB  1488 KiB/s 00:00 [######################] 100%
(4/4) checking keys in keyring                     [######################] 100%
(4/4) checking package integrity                   [######################] 100%
(4/4) loading package files                        [######################] 100%
(4/4) checking for file conflicts                  [######################] 100%
(4/4) checking available disk space                [######################] 100%
:: Processing package changes...
(1/4) installing efivar                            [######################] 100%
(2/4) installing efibootmgr                        [######################] 100%
(3/4) installing dosfstools                        [######################] 100%
(4/4) installing gptfdisk                          [######################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

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

[root@archiso /]# bootctl install
Created "/boot/EFI".
Created "/boot/EFI/systemd".
Created "/boot/EFI/BOOT".
Created "/boot/loader".
Created "/boot/loader/entries".
Created "/boot/EFI/Linux".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/BOOT/BOOTX64.EFI".
Created "/boot/3971a9bf81694163a6887fd8e5d57abe".
Random seed file /boot/loader/random-seed successfully written (512 bytes).
Not installing system token, since we are running in a virtualized environment.
Created EFI boot entry "Linux Boot Manager".

Als nächstes muss der entsprechende Kernel-Boot-Menü-Eintrag in der neu anzulegenden Konfigurationsdatei:

  • /boot/loader/entries/arch-uefi.conf

mit nachfolgendem Inhalt erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archiso /]# vim /boot/loader/entries/arch-uefi.conf
title    Arch Linux
linux    /vmlinuz-linux-lts
initrd   /initramfs-linux-lts.img
options  root=/dev/mapper/archlinux-root rw resume=/dev/mapper/archlinux-swap net.ifnames=0

Anschließend sollte noch der entsprechende „fallback“ Kernel-Boot-Menü-Eintrag in der neu anzulegenden Konfigurationsdatei:

  • /boot/loader/entries/arch-uefi-fallback.conf

mit nachfolgendem Inhalt erstellt werden, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archiso /]# vim /boot/loader/entries/arch-uefi-fallback.conf
title    Arch Linux Fallback
linux    /vmlinuz-linux-lts
initrd   /initramfs-linux-lts-fallback.img
options  root=/dev/mapper/archlinux-root rw resume=/dev/mapper/archlinux-swap net.ifnames=0

Anschließend muss noch die entsprechende „Loader“-Konfigurationsdatei

  • /boot/loader/loader.conf

angepasst werden, was mit nachfolgendem Befehl und Inhalt notwendig ist:

[root@archiso /]# vim /boot/loader/loader.conf
# Tachtler
# default: #timeout 3
timeout 5
# Tachtler
# default: #console-mode keep
console-mode max
# Tachtler
# default: default 3971a9bf81694163a6887fd8e5d57abe-*
default arch-uefi
# Tachtler
editor no

Erklärungen

  • default arch-uefi

default - definiert den Standardeintrag, der automatisch gebootet wird. Der Name richtet sich nach der zugehörigen Konfigurationsdatei, wie zuvor definiert, ohne die Endung .conf

  • timeout 5

timeout - die Zeitspanne, nach der der Standardeintrag automatisch gebootet wird. Beträgt dies 0 oder existiert kein entsprechender Eintrag, wird automatisch ohne Nachfrage gebootet.

:!: HINWEIS - In diesem Fall kommt man nur durch Drücken der [Leer/Space]-Taste in das Auswahlmenü.

  • console-mode max

console-mode – ändert den UEFI-Konsolenmodus:

  • 0 - für 80×25
  • 1 - für 80×50
  • 2 - und höher für keine Standard Optionen welche durch UEFI-Firmware unterstütz wird
  • auto - wählt automatisch einen geeigneten Modus aus
  • max - steht für den höchsten verfügbaren Modus
  • keep - (Standard) für den Firmware-Modus
  • editor no

editor - der Kernelparameter-Editor:

  • yes - ist der (Standard) und steht für aktiviert
  • no - steht für deaktiviert und wird empfohlen

:!: WICHTIG - Da durch das Hinzufügen des Kernel-Parameters init=/bin/bash das root-Passwort umgangen werden kann, sollte dieser Wert auf - no - gesetzte werden!

Nicht gesetzte zusätzlich Werte

  • auto-entries 1

auto-entries - Zeigt automatische Einträge für ein anderes Betriebssystem wie z.B. Windows, EFI Shell und den Standard-Loader an, wenn der Wert auf

  • 1 - (Standard) gesetzt ist
  • 0 - blendet die zuvor genannten Menüeinträge aus
  • auto-firmware 1

auto-firmware - Zeigt den Eintrag UEFI-Firmwareeinstellungen an, wenn der Wert auf

  • 1 - (Standard) gesetzt ist
  • 0 - blendet die zuvor genannten Menüeinträge aus

Damit die Änderungen an der Konfigurationsdatei /boot/loader/loader.conf wirksam werden, ist nachfolgender Befehl auszuführen:

[root@archlinux ~]# bootctl update
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/BOOT/BOOTX64.EFI".

Zum Abaschluss sind nun die entsprechenden Einträge im EFI via EFISTUN zu erstellen, was mit den beiden nachfolgenden Befehlen durchzuführen ist:

[root@archiso /]# efibootmgr -c -d /dev/vda -p 1 -l \vmlinuz-linux-lts -L "Arch Linux LTS efistub" -u "initrd=/initramfs-linux-lts.img root=/dev/mapper/archlinux-root rw"
[root@archiso /]# efibootmgr -c -d /dev/vda -p 1 -l \vmlinuz-linux-lts -L "Arch Linux LTS efistub" -u "initrd=/initramfs-linux-lts.img root=/dev/mapper/archlinux-root rw"
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0004,0003,0001,0002,0000
Boot0000* UiApp
Boot0001* UEFI QEMU DVD-ROM QM00001 
Boot0002* UEFI Misc Device
Boot0003* Linux Boot Manager
Boot0004* Arch Linux LTS efistub

[root@archiso /]# efibootmgr -c -d /dev/vda -p 1 -l \vmlinuz-linux-lts -L "Arch Linux LTS fallback efistub" -u "initrd=/initramfs-linux-lts-fallback.img root=/dev/mapper/archlinux-root rw"
[root@archiso /]# efibootmgr -c -d /dev/vda -p 1 -l \vmlinuz-linux-lts -L "Arch Linux LTS fallback efistub" -u "initrd=/initramfs-linux-lts-fallback.img root=/dev/mapper/archlinux-root rw"
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0005,0004,0003,0001,0002,0000
Boot0000* UiApp
Boot0001* UEFI QEMU DVD-ROM QM00001 
Boot0002* UEFI Misc Device
Boot0003* Linux Boot Manager
Boot0004* Arch Linux LTS efistub
Boot0005* Arch Linux LTS fallback efistub

Zusätzlich zur Anzeige eines Boot-Menüs, muss auch noch die Boot-Reihenfolge mit nachfolgendem Befehl noch entsprechend gesetzt werden:

[root@archiso /]# efibootmgr --bootorder 0003,0004,0005,0002,0001,0000
BootCurrent: 0005
Timeout: 0 seconds
BootOrder: 0003,0004,0005,0002,0000
Boot0000* UiApp
Boot0001* UEFI QEMU DVD-ROM QM00001 
Boot0002* UEFI Misc Device
Boot0003* Linux Boot Manager
Boot0004* Arch Linux LTS efistub
Boot0005* Arch Linux LTS fallback efistub

:!: WICHTIG - Wenn der Menüeintrag, hier

  • Boot0003* Linux Boot Manager

nicht in der Boot-Reihenfolge am Anfang steht, wird kein Boot-Menü angezeigt!

Immer wenn es eine neue Version von systemd-boot gibt, kann der Bootmanager optional vom Benutzer neu installiert werden. Dies kann manuell erfolgen oder das Update kann automatisch über Pacman-Hooks ausgelöst werden.

Nachfolgend soll ein Pacman-Hook für das automatische Update des Bootmanagers konfiguriert werden.

Nachfolgende Konfigurationsdatei ist dazu neu zu erstellen:

  • /etc/pacman.d/hooks/100-systemd-boot.hook

Zuerst muss ein neues Verzeichnis mit nachfolgendem Befehl erstellt werden:

[root@archiso /]# mkdir /etc/pacman.d/hooks

Der Inhalt des Pacman-Hooks muss wie folgt aussehen:

[root@archiso /]# vim /etc/pacman.d/hooks/100-systemd-boot.hook
[Trigger]
Type = Package
Operation = Upgrade
Target = systemd
 
[Action]
Description = Updating systemd-boot
When = PostTransaction
Exec = /usr/bin/bootctl update

Passwort: root

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

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

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

Neustart

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

# exit
exit
arch-chroot /mnt/  12.59s user 2.20s system 0% cpu 1:40:38.73 total

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

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

root@archiso ~ # reboot

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

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.1.1

oder auch inklusive ipv6 Adressen:

[Match]
Name=eth0
 
[Network]
Address=192.168.1.250/24
Gateway=192.168.1.1
DNS=192.168.1.1
 
Address=fd00::250/64
Gateway=fd00::1
DNS=fd00::1
 
Address=fe80::250/64
LinkLocalAddressing=no

:!: HINWEIS - In der ipv6-Konfiguration wurde das automatische beziehen einer ipv6-Adresse für die LinkLocal-Adresse deaktiviert, um eine eigene LinkLocal-Adresse setzen zu können!

:!: HINWEIS - Bein Befehl ping für die LinkLocal-Adresse muss ein Network-Device (Netzwerkkarte) mit angegeben werden, wie nachfolgendes Beispiel zeigt:

[root@archlinux ~]# ping -c 3 fe80::250%eth0
PING fe80::250%eth0(fe80::250%eth0) 56 data bytes
64 bytes from fe80::250%eth0: icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from fe80::250%eth0: icmp_seq=2 ttl=64 time=0.021 ms
64 bytes from fe80::250%eth0: icmp_seq=3 ttl=64 time=0.022 ms

--- fe80::250%eth0 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2026ms
rtt min/avg/max/mdev = 0.021/0.034/0.061/0.018 ms

Anschließend sollte noch mit nachfolgendem Befehl überprüft werden, ob eine anderer Dienst/Daemon sich für den Start der Netzwerkkarte zuständig fühlt:

[root@archlinux ~]# systemctl list-unit-files | grep netctl

und

[root@archlinux ~]# systemctl list-unit-files | grep dhcpcd

:!: HINWEIS - Falls hier ein Treffer erzielt wird, sollte der Dienst/Daemon

  1. gestoppt
  2. deaktiviert

werden, was mit nachfolgenden Befehlen erfolgen kann:

[root@archlinux ~]# systemctl stop netctl@eth0.service

und

[root@archlinux ~]# systemctl disable netctl@eth0.service

bzw.

[root@archlinux ~]# systemctl stop dhcpcd.service

und

[root@archlinux ~]# systemctl disable dhcpcd.service

Damit nun der systemd-Dienst/Daemon das starten der Netzwerkkarte und dessen Konfiguration übernimmt, ist es erforderlich dass der systemd-networkd-Dienst/Dameon

  1. aktiviert
  2. gestartet

wird, was mit nachfolgenden Befehlen durchgeführt werden kann:

[root@archlinux ~]# systemctl enable systemd-networkd.service
Created symlink /etc/systemd/system/dbus-org-freedesktop.network1.service → /usr7lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.socket → /usr/lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /usr/lib/systemd/system/systemd-networkd.socket.
Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /usr/lib/systemd/system/systemd-network-wait-onlie.service.

und

[root@archlinux ~]# systemctl start systemd-networkd.service

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

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

Eine Überprüfung mit nachfolgendem Befehl zeigt die aktuellen Routen, inklusive der default-Routen an:

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

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

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

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

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

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

SSH-Dienst/Deamon einrichten

Um den SSH-Dienst/Deamon als Hintergrundprozesse auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienste/Daemons mit dem Server mit gestartet werden, was mit nachfolgenden Befehlen realisiert werden kann:

[root@archlinux ~]# systemctl enable sshd.service
Created symlink /etc/systemd/system/basic.target.wants/sshd.service → /usr/lib/systemd/system/sshd.service.

Eine Überprüfung, ob beim Neustart des Server der sshd-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

[root@archlinux ~]# systemctl list-unit-files --type=service | grep -E ^sshd
sshd.service          enabled
bzw.
[root@archlinux ~]# systemctl is-enabled sshd.service
enabled

Abschließend soll noch die Anmeldung via Passwort - vorübergehend während der Konfigurationsphase aktiviert werden.

Dazu soll mit nachfolgendem Befehl eine Sicherungskopie der originalen Konfigurationsdatei

  • /etc/ssh/sshd_config

mit dem Namen

  • /etc/ssh/sshd_config.orig

ersteltl werden:

[root@archlinux ~]# cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.orig

Anschließend soll nachfolgende Konfiguration in der Konfigurationsdatei /etc/ssh/sshd_config ein kommentiert bzw. ein kommentiert und angepasst werden:

[root@archlinux ~]# vim /etc/ssh/sshd_config

(Nur relevanter Ausschnitt:)

PasswordAuthentication yes

(Nur relevanter Ausschnitt:)

PermitRootLogin yes

Abschließend kann der SSH-Dienst/Daemon - sshd mit nachfolgendem Befehl gestartet werden:

[root@archlinux ~]# systemctl start sshd.service

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

root@archiso ~ # systemctl status sshd.service
● sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese>
   Active: active (running) since Sun 2019-12-29 11:43:56 UTC; 6s ago
 Main PID: 775 (sshd)
    Tasks: 1 (limit: 2330)
   Memory: 824.0K
   CGroup: /system.slice/sshd.service
           └─775 /usr/bin/sshd -D

Dec 29 11:43:56 archiso systemd[1]: Started OpenSSH Daemon.
Dec 29 11:43:56 archiso sshd[775]: Server listening on 0.0.0.0 port 22.
Dec 29 11:43:56 archiso sshd[775]: Server listening on :: port 22.

Dann kann noch einmal die IP-Adresse des Servers in Erfahrung gebracht werden, damit eine Verbindung zum Server hergestellt werden kann. Dies kann durch Ausführung des nachfolgenden Befehls erfolgen:

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

:!: BEISPIEL - Die IP-Adresse des Servers aus oben genanntem Beispiel wäre hier: 192.168.1.250.

Jetzt kann eine erste Verbindung als Benutzer root via SSH-Login auf den Server hergestellt werden. Nachfolgender Befehl soll dazu auf einer lokalen Workstation, nicht auf dem Server verwendet werden:

$ ssh root@192.168.1.250
The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established.
ECDSA key fingerprint is SHA256:C7UGXJ6YMgduc0xqRzx4nv+R7azYCJfRCrzhU1TCmx8.
ECDSA key fingerprint is MD5:a3:b5:f3:59:cb:f1:97:cd:bc:07:2a:e0:39:9f:90:80.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.250' (ECDSA) to the list of known hosts.
root@192.168.1.250's password: 
Last login: Fri Jan 10 13:43:16 2020
[root@archlinux ~]#

~/.bash_profile

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

  • ~/.bash_profile

falls nicht schon vorhanden, mit nachfolgenden Inhalt, ebenfalls neu zu erstellen:

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

~/.bashrc

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

  • ls -l –color=auto

ist.

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

  • ~/.bashrc

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

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

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

~/.vimrc

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

  • syntax on - Einschalten des Syntax-Highlightings
  • set mouse-=a - Deaktivieren des –VISIBLE– Modus
  • set tabstop=4 - Betätigen der [TABulator]-Taste löst einen Sprung um 4 Zeichen aus (optional)

erfordern.

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

  • ~/.vimrc

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

[root@archlinux ~]# vim ~/.vimrc
syntax on
 
set mouse-=a
set tabstop=4

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/archlinux_-_minimal_server_installation_uefi-boot.txt · Zuletzt geändert: 2020/01/31 15:53 von klaus