Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_installation

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

ArchLinux - Installation

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

Herunterladen

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

Als Beispiel-Quelle kann hier nachfolgender Link dienen:

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

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

USB-Stick erstellen

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

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

Start: ISO-Image

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

BOOT

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

ArchLinux - ISO - Boot

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

:!: 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 eine Anbindung an das Internet
  2. Es wurde automatisch z.B. via DHCP eine IP-Adresse an den Server vergeben

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 Buchstage [y] befindet sich auf der englischen Tastatur auf der Taste [z].
Das Zeichen [-] befindet sich auf der englischen Tastatur auf der Taste [ß].

Anschließend sollte ein deutsches Tastaturlayout geladen sein!

Passwort: root

Damit bequem 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.

SSH-Dienst: starten

Damit eine Verbindung zum Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden kann, muss der berets 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 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.

IP-Adresse: ermitteln

Als letzte muss noch die IP-Adresse des Servers, in Erfahrung gebracht werden, damit eine Verbindung zum Server, welcher via „Live“-ISO-Image gestartet wurde, hergestellt werden kann. Dies kann durch Ausführung des nachfolgenden Befehls 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:81:76:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.177/24 brd 192.168.122.255 scope global dynamic noprefixroute ens3
       valid_lft 3371sec preferred_lft 2796sec
    inet6 fe80::8ba:76c:4018:3b4e/64 scope link 
       valid_lft forever preferred_lft forever

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

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.122.177
The authenticity of host '192.168.122.177 (192.168.122.177)' can't be established.
ECDSA key fingerprint is SHA256:puP0BtxiEm9zB7rEJl0666PJ8NM7DEDLsPg+aMVEdd0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.177' (ECDSA) to the list of known hosts.
root@192.168.122.177's password: 
Last login: Sun Dec 29 11:12:10 2019
root@archiso ~ #

Partitionierung: fdisk

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

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

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

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

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

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

root@archiso ~ # fdisk -l | grep -i 'Disk /dev/vd'
Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors

Schritt 1: fdisk Interaktiver-Modus

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

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

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

root@archiso ~ # fdisk /dev/vda

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

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

Command (m for help):

Schritt 2: Erste Partition anlegen

Durch nachfolgende Befehle wird eine

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

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. p
  3. 1
  4. [Enter/Return]-Taste = Bestätigung für „First sector 2048“
  5. und die Eingabe der Größe, durch +1024M
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-52428799, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-52428799, default 52428799): +1024M

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

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

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

Device     Boot Start     End Sectors Size Id Type
/dev/vda1        2048 2099199 2097152   1G 83 Linux

Schritt 3: Zweite Partition anlegen

Durch nachfolgende Befehle wird eine

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

Nachfolgende Tasten sind wie folgt zu drücken:

  1. n
  2. p
  3. 2
  4. [Enter/Return]-Taste = Bestätigung für „First sector …“
  5. [Enter/Return]-Taste = Bestätigung für „Last sector …“
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2099200-52428799, default 2099200): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-52428799, default 52428799): 

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

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

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

Changed type of partition 'Linux' to 'Linux LVM'.

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

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

Device     Boot   Start      End  Sectors Size Id Type
/dev/vda1          2048  2099199  2097152   1G 83 Linux
/dev/vda2       2099200 52428799 50329600  24G 8e Linux LVM

Schritt 4: Partitionstabelle schreiben

Anschließend ist nun die Taste

  1. w

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

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

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
  • /dev/mapper/archlinux-tmp

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 -L4096M archlinux
  Logical volume "var" created.
root@archiso ~ # lvcreate --name var_log -L2048M archlinux
  Logical volume "var_log" created.
root@archiso ~ # lvcreate --name tmp -L4096M archlinux
  Logical volume "tmp" 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  25G  0 disk 
├─vda1                254:1    0   1G  0 part 
└─vda2                254:2    0  24G  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   4G  0 lvm  
  ├─archlinux-var_log 253:4    0   2G  0 lvm  
  └─archlinux-tmp     253:5    0   4G  0 lvm

Schritt 4: Dateisystem formatieren

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

root@archiso ~ # mkswap /dev/mapper/archlinux-swap
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=f1e7a937-7f80-4183-9ff3-afb148d71e59
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: f91131cb-8544-43a1-b860-9a0220191677
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: 15d63d88-6f35-4acd-8cd8-a01f3bf70b5b
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 1048576 4k blocks and 262144 inodes
Filesystem UUID: ea4a338a-4238-495e-b323-77d53e9adecb
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

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: f06a9026-c568-47bc-b949-cd9a9b90e6c4
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-tmp
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 1048576 4k blocks and 262144 inodes
Filesystem UUID: 59870c5e-4b2a-45cb-b0ab-6615294d8e1d
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

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/vda1
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: ceb0b61c-e901-40da-9b7a-a6eebc4019cf
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

Schritt 5: 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
root@archiso ~ # mkdir /mnt/tmp

:!: 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 32
drwxr-xr-x 2 root root  4096 Dec 29 12:58 boot
drwxr-xr-x 2 root root  4096 Dec 29 12:59 home
drwx------ 2 root root 16384 Dec 29 12:52 lost+found
drwxr-xr-x 2 root root  4096 Dec 29 12:59 tmp
drwxr-xr-x 2 root root  4096 Dec 29 12:59 var

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

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
root@archiso ~ # mount /dev/mapper/archlinux-var_log /mnt/var/log
root@archiso ~ # mount /dev/mapper/archlinux-tmp /mnt/tmp

Anschließend noch die /boot-Partition, mit nachfolgendem Befehl eingehängt werden:

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

Und zum Abschluss muss noch die [SWAP]-Partition aktiviert werden, was nachfolgender Befehl realisiert:

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

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  25G  0 disk 
├─vda1                254:1    0   1G  0 part /mnt/boot
└─vda2                254:2    0  24G  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   4G  0 lvm  /mnt/var
  ├─archlinux-var_log 253:4    0   2G  0 lvm  /mnt/var/log
  └─archlinux-tmp     253:5    0   4G  0 lvm  /mnt/tmp

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: pactrap

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

root@archiso ~ # pacstrap /mnt base base-devel linux linux-firmware lvm2 networkmanager openssh sshpass vi vim
==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...
 core                  134.8 KiB  1061 KiB/s 00:00 [######################] 100%
 extra                1639.0 KiB  1463 KiB/s 00:01 [######################] 100%
 community               4.7 MiB  1460 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 (166) acl-2.2.53-2  archlinux-keyring-20191219-1  argon2-20190702-2
               attr-2.4.48-2  audit-2.8.5-6  bash-5.0.011-2  bluez-libs-5.52-2
               bzip2-1.0.8-3  ca-certificates-20181109-2
               ca-certificates-mozilla-3.48-1  ca-certificates-utils-20181109-2
               coreutils-8.31-3  cracklib-2.9.7-2  cryptsetup-2.2.2-1
               curl-7.67.0-3  db-5.3.28-5  dbus-1.12.16-3
               device-mapper-2.02.186-5  diffutils-3.7-3
               dnssec-anchors-20190629-2  e2fsprogs-1.45.4-2  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-1
               iptables-1:1.8.3-3  iputils-20190709-2  jansson-2.12-1
               js60-60.9.0-1  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.28-1  libcap-ng-0.7.10-1  libcroco-0.6.13-1
               libdaemon-0.14-4  libedit-20191211_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
               libmm-glib-1.12.2-1  libmnl-1.0.4-3  libmpc-1.1.0-2
               libndp-1.7-1  libnetfilter_conntrack-1.0.7-1  libnewt-0.52.21-3
               libnfnetlink-1.0.1-3  libnftnl-1.1.5-1  libnghttp2-1.39.2-2
               libnl-3.5.0-2  libnm-1.22.2-1  libpcap-1.9.1-2  libpgm-5.2.122-4
               libpsl-0.21.0-2  libsasl-2.1.27-2  libseccomp-2.4.1-3
               libsecret-0.19.1-3  libsodium-1.0.18-1  libssh2-1.9.0-2
               libtasn1-4.15.0-1  libteam-1.29-4  libtirpc-1.2.5-1
               libunistring-0.9.10-2  libusb-1.0.23-2  libutil-linux-2.34-8
               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
               mobile-broadband-provider-info-20190618-1  mpfr-4.0.2-2
               ncurses-6.1-7  nettle-3.5.1-2  npth-1.6-2  nspr-4.24-1
               nss-3.48-1  openssl-1.1.1.d-2  p11-kit-0.23.18.1-2
               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  polkit-0.116-3  popt-1.16-12
               procps-ng-3.3.15-2  psmisc-23.3-2  readline-8.0.001-2
               shadow-4.8-1  slang-2.3.2-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.34-8  vim-runtime-8.2.0033-1
               wpa_supplicant-2:2.9-3  xz-5.2.4-2  zeromq-4.3.2-1
               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.37-5  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.3-3
               groff-1.22.4-3  gzip-1.10-3  libtool-2.4.6+42+gb88cebd5-8
               linux-5.4.7.arch1-1  linux-firmware-20191220.6871bff-1
               lvm2-2.02.186-5  m4-1.4.18-3  make-4.2.1-4
               networkmanager-1.22.2-1  openssh-8.1p1-2  pacman-5.2.1-1
               patch-2.7.6-8  pkgconf-1.6.3-3  sed-4.7-3  sshpass-1.06-2
               sudo-1.8.30-1  texinfo-6.7-2  vi-1:070224-4  vim-8.2.0033-1
               which-2.21-5

Total Download Size:    363.70 MiB
Total Installed Size:  1531.68 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 iana-etc-2019123...   387.8 KiB   129 KiB/s 00:03 [######################] 100%
 filesystem-2019....    27.8 KiB  1030 KiB/s 00:00 [######################] 100%
 linux-api-header...   997.7 KiB   422 KiB/s 00:02 [######################] 100%
 tzdata-2019c-3-x...   341.5 KiB  1388 KiB/s 00:00 [######################] 100%
 glibc-2.30-3-x86_64     9.1 MiB   961 KiB/s 00:10 [######################] 100%
 gcc-libs-9.2.0-4...    28.3 MiB  1457 KiB/s 00:20 [######################] 100%
 ncurses-6.1-7-x86_64 1067.1 KiB  1448 KiB/s 00:01 [######################] 100%
 readline-8.0.001...   296.4 KiB  1453 KiB/s 00:00 [######################] 100%
 bash-5.0.011-2-x...  1538.5 KiB  1443 KiB/s 00:01 [######################] 100%
 attr-2.4.48-2-x86_64   65.0 KiB  1625 KiB/s 00:00 [######################] 100%
 acl-2.2.53-2-x86_64   131.9 KiB  1466 KiB/s 00:00 [######################] 100%
 gmp-6.1.2-3-x86_64    407.2 KiB  1470 KiB/s 00:00 [######################] 100%
 libcap-2.28-1-x86_64   39.3 KiB  1455 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  1456 KiB/s 00:01 [######################] 100%
 perl-5.30.1-1-x86_64   14.2 MiB  1455 KiB/s 00:10 [######################] 100%
 openssl-1.1.1.d-...     3.4 MiB  1464 KiB/s 00:02 [######################] 100%
 coreutils-8.31-3...     2.4 MiB  1464 KiB/s 00:02 [######################] 100%
 zlib-1:1.2.11-4-...    81.5 KiB  1430 KiB/s 00:00 [######################] 100%
 file-5.37-5-x86_64    291.9 KiB  1489 KiB/s 00:00 [######################] 100%
 findutils-4.7.0-...   454.6 KiB  1485 KiB/s 00:00 [######################] 100%
 mpfr-4.0.2-2-x86_64   314.0 KiB  1467 KiB/s 00:00 [######################] 100%
 gawk-5.0.1-2-x86_64  1096.3 KiB  1462 KiB/s 00:01 [######################] 100%
 bzip2-1.0.8-3-x86_64   53.4 KiB  1485 KiB/s 00:00 [######################] 100%
 pcre-8.43-2-x86_64    931.2 KiB  1462 KiB/s 00:01 [######################] 100%
 grep-3.3-3-x86_64     182.8 KiB  1487 KiB/s 00:00 [######################] 100%
 libgpg-error-1.3...   192.9 KiB  1440 KiB/s 00:00 [######################] 100%
 libgcrypt-1.8.5-...   485.4 KiB  1440 KiB/s 00:00 [######################] 100%
 lz4-1:1.9.2-2-x86_64  109.4 KiB  1440 KiB/s 00:00 [######################] 100%
 xz-5.2.4-2-x86_64     231.3 KiB  1483 KiB/s 00:00 [######################] 100%
 systemd-libs-244...   418.9 KiB  1480 KiB/s 00:00 [######################] 100%
 procps-ng-3.3.15...   340.7 KiB  1481 KiB/s 00:00 [######################] 100%
 sed-4.7-3-x86_64      217.3 KiB  1478 KiB/s 00:00 [######################] 100%
 tar-1.32-3-x86_64     742.3 KiB  1473 KiB/s 00:01 [######################] 100%
 libffi-3.2.1-4-x...    31.3 KiB  1566 KiB/s 00:00 [######################] 100%
 libutil-linux-2....   377.6 KiB  1452 KiB/s 00:00 [######################] 100%
 glib2-2.62.4-1-x...     2.4 MiB  1467 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  1462 KiB/s 00:06 [######################] 100%
 gettext-0.20.1-3...  1929.0 KiB  1465 KiB/s 00:01 [######################] 100%
 hwids-20191025-2-any  370.9 KiB   875 KiB/s 00:00 [######################] 100%
 kmod-26-3-x86_64      113.9 KiB  1479 KiB/s 00:00 [######################] 100%
 pciutils-3.6.2-2...    86.8 KiB  1379 KiB/s 00:00 [######################] 100%
 psmisc-23.3-2-x86_64  110.1 KiB  1508 KiB/s 00:00 [######################] 100%
 cracklib-2.9.7-2...   250.4 KiB  1473 KiB/s 00:00 [######################] 100%
 e2fsprogs-1.45.4...  1074.4 KiB  1466 KiB/s 00:01 [######################] 100%
 libsasl-2.1.27-2...   136.2 KiB  1513 KiB/s 00:00 [######################] 100%
 libldap-2.4.48-2...   282.2 KiB  1485 KiB/s 00:00 [######################] 100%
 keyutils-1.6.1-3...    88.3 KiB  1549 KiB/s 00:00 [######################] 100%
 krb5-1.17-2-x86_64   1219.1 KiB  1469 KiB/s 00:01 [######################] 100%
 libtirpc-1.2.5-1...   170.0 KiB  1492 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  1484 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  1179 KiB/s 00:00 [######################] 100%
 shadow-4.8-1-x86_64  1109.2 KiB  1448 KiB/s 00:01 [######################] 100%
 util-linux-2.34-...     2.1 MiB  1448 KiB/s 00:01 [######################] 100%
 less-551-3-x86_64     100.9 KiB  1442 KiB/s 00:00 [######################] 100%
 gzip-1.10-3-x86_64     77.8 KiB  1441 KiB/s 00:00 [######################] 100%
 licenses-2019101...    66.8 KiB  1452 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  1485 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  1451 KiB/s 00:00 [######################] 100%
 device-mapper-2....   291.3 KiB  1435 KiB/s 00:00 [######################] 100%
 popt-1.16-12-x86_64    62.9 KiB  1571 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  1509 KiB/s 00:00 [######################] 100%
 cryptsetup-2.2.2...   470.1 KiB  1488 KiB/s 00:00 [######################] 100%
 dbus-1.12.16-3-x...   278.2 KiB  1496 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  1389 KiB/s 00:00 [######################] 100%
 libnl-3.5.0-2-x86_64  364.7 KiB  1476 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  1437 KiB/s 00:00 [######################] 100%
 iptables-1:1.8.3...   405.9 KiB  1487 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  1449 KiB/s 00:00 [######################] 100%
 libelf-0.177-2-x...   373.5 KiB  1476 KiB/s 00:00 [######################] 100%
 libseccomp-2.4.1...    75.1 KiB  1501 KiB/s 00:00 [######################] 100%
 pcre2-10.34-3-x86_64 1038.5 KiB  1457 KiB/s 00:01 [######################] 100%
 systemd-244.1-1-...     4.9 MiB  1461 KiB/s 00:03 [######################] 100%
 p11-kit-0.23.18....   478.1 KiB  1462 KiB/s 00:00 [######################] 100%
 ca-certificates-...     7.9 KiB  0.00   B/s 00:00 [######################] 100%
 ca-certificates-...   327.9 KiB  1490 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  1380 KiB/s 00:00 [######################] 100%
 libnghttp2-1.39....    86.7 KiB  1637 KiB/s 00:00 [######################] 100%
 curl-7.67.0-3-x86_64  987.4 KiB  1467 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  1405 KiB/s 00:00 [######################] 100%
 libassuan-2.5.3-...    85.0 KiB  1491 KiB/s 00:00 [######################] 100%
 libsecret-0.19.1...   210.7 KiB  1464 KiB/s 00:00 [######################] 100%
 pinentry-1.1.0-5...   101.6 KiB  1452 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  1464 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  1455 KiB/s 00:01 [######################] 100%
 gpgme-1.13.1-3-x...   410.9 KiB  1432 KiB/s 00:00 [######################] 100%
 pacman-mirrorlis...     5.9 KiB  1978 KiB/s 00:00 [######################] 100%
 archlinux-keyrin...   927.7 KiB  1473 KiB/s 00:01 [######################] 100%
 pacman-5.2.1-1-x...   742.7 KiB  1465 KiB/s 00:01 [######################] 100%
 systemd-sysvcomp...     7.7 KiB   766 KiB/s 00:00 [######################] 100%
 iputils-20190709...    92.1 KiB  1535 KiB/s 00:00 [######################] 100%
 iproute2-5.4.0-1...   848.9 KiB  1464 KiB/s 00:01 [######################] 100%
 base-2-2-any            2.1 KiB  0.00   B/s 00:00 [######################] 100%
 m4-1.4.18-3-x86_64    169.4 KiB  1460 KiB/s 00:00 [######################] 100%
 diffutils-3.7-3-...   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  1486 KiB/s 00:00 [######################] 100%
 binutils-2.33.1-...     4.6 MiB  1462 KiB/s 00:03 [######################] 100%
 bison-3.5-1-x86_64    637.9 KiB  1154 KiB/s 00:01 [######################] 100%
 fakeroot-1.24-2-...    67.0 KiB  1457 KiB/s 00:00 [######################] 100%
 flex-2.6.4-3-x86_64   297.2 KiB  1486 KiB/s 00:00 [######################] 100%
 libmpc-1.1.0-2-x...    65.1 KiB  1301 KiB/s 00:00 [######################] 100%
 gcc-9.2.0-4-x86_64     33.9 MiB  1462 KiB/s 00:24 [######################] 100%
 groff-1.22.4-3-x...  2044.3 KiB  1457 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  1469 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  1623 KiB/s 00:00 [######################] 100%
 pkgconf-1.6.3-3-...    54.7 KiB  1478 KiB/s 00:00 [######################] 100%
 sudo-1.8.30-1-x86_64  870.4 KiB  1458 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  1473 KiB/s 00:00 [######################] 100%
 mkinitcpio-27-2-any    40.7 KiB  1356 KiB/s 00:00 [######################] 100%
 linux-5.4.7.arch...    68.1 MiB  1462 KiB/s 00:48 [######################] 100%
 linux-firmware-2...    94.1 MiB  1453 KiB/s 01:06 [######################] 100%
 libaio-0.3.112-2...     6.3 KiB  0.00   B/s 00:00 [######################] 100%
 thin-provisionin...   389.1 KiB  1227 KiB/s 00:00 [######################] 100%
 lvm2-2.02.186-5-...  1456.0 KiB  1465 KiB/s 00:01 [######################] 100%
 nspr-4.24-1-x86_64    187.8 KiB  1491 KiB/s 00:00 [######################] 100%
 nss-3.48-1-x86_64    1378.5 KiB  1462 KiB/s 00:01 [######################] 100%
 wpa_supplicant-2...   968.4 KiB  1467 KiB/s 00:01 [######################] 100%
 gpm-1.20.7.r27.g...   132.0 KiB  1467 KiB/s 00:00 [######################] 100%
 libedit-20191211...    99.1 KiB  1502 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  1473 KiB/s 00:00 [######################] 100%
 openssh-8.1p1-2-...   755.9 KiB  1462 KiB/s 00:01 [######################] 100%
 vi-1:070224-4-x86_64  152.2 KiB  1478 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  1460 KiB/s 00:00 [######################] 100%
 libnfnetlink-1.0...    16.4 KiB  2.29 MiB/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  1445 KiB/s 00:00 [######################] 100%
 guile-2.2.6-1-x86_64    5.6 MiB  1457 KiB/s 00:04 [######################] 100%
 libnm-1.22.2-1-x...  1030.2 KiB  1465 KiB/s 00:01 [######################] 100%
 js60-60.9.0-1-x86_64   13.2 MiB  1458 KiB/s 00:09 [######################] 100%
 polkit-0.116-3-x...   387.6 KiB   854 KiB/s 00:00 [######################] 100%
 libmm-glib-1.12....   405.0 KiB  1086 KiB/s 00:00 [######################] 100%
 slang-2.3.2-1-x86_64  714.1 KiB  1449 KiB/s 00:00 [######################] 100%
 libndp-1.7-1-x86_64    17.0 KiB  1700 KiB/s 00:00 [######################] 100%
 libdaemon-0.14-4...    18.2 KiB  1299 KiB/s 00:00 [######################] 100%
 libteam-1.29-4-x...   257.4 KiB  1462 KiB/s 00:00 [######################] 100%
 bluez-libs-5.52-...    70.8 KiB  1416 KiB/s 00:00 [######################] 100%
 mobile-broadband...    58.4 KiB  1577 KiB/s 00:00 [######################] 100%
 networkmanager-1...     2.8 MiB  1463 KiB/s 00:02 [######################] 100%
 vim-runtime-8.2....     5.7 MiB  1461 KiB/s 00:04 [######################] 100%
 vim-8.2.0033-1-x...  1493.4 KiB  1464 KiB/s 00:01 [######################] 100%
 jansson-2.12-1-x...    38.9 KiB  1297 KiB/s 00:00 [######################] 100%
 libnewt-0.52.21-...    89.8 KiB  1496 KiB/s 00:00 [######################] 100%
 libsodium-1.0.18...   158.6 KiB  1482 KiB/s 00:00 [######################] 100%
 libpgm-5.2.122-4...   172.0 KiB  1483 KiB/s 00:00 [######################] 100%
 zeromq-4.3.2-1-x...   550.4 KiB  1460 KiB/s 00:00 [######################] 100%
 sshpass-1.06-2-x...     9.3 KiB  1555 KiB/s 00:00 [######################] 100%
(166/166) checking keys in keyring                 [######################] 100%
(166/166) checking package integrity               [######################] 100%
(166/166) loading package files                    [######################] 100%
(166/166) checking for file conflicts              [######################] 100%
:: Processing package changes...
(  1/166) installing iana-etc                      [######################] 100%
(  2/166) installing filesystem                    [######################] 100%
(  3/166) installing linux-api-headers             [######################] 100%
(  4/166) installing tzdata                        [######################] 100%
(  5/166) installing glibc                         [######################] 100%
Optional dependencies for glibc
    gd: for memusagestat
(  6/166) installing gcc-libs                      [######################] 100%
(  7/166) installing ncurses                       [######################] 100%
(  8/166) installing readline                      [######################] 100%
(  9/166) installing bash                          [######################] 100%
Optional dependencies for bash
    bash-completion: for tab completion
( 10/166) installing attr                          [######################] 100%
( 11/166) installing acl                           [######################] 100%
( 12/166) installing gmp                           [######################] 100%
( 13/166) installing libcap                        [######################] 100%
( 14/166) installing gdbm                          [######################] 100%
( 15/166) installing db                            [######################] 100%
( 16/166) installing perl                          [######################] 100%
( 17/166) installing openssl                       [######################] 100%
Optional dependencies for openssl
    ca-certificates [pending]
( 18/166) installing coreutils                     [######################] 100%
( 19/166) installing zlib                          [######################] 100%
( 20/166) installing file                          [######################] 100%
( 21/166) installing findutils                     [######################] 100%
( 22/166) installing mpfr                          [######################] 100%
( 23/166) installing gawk                          [######################] 100%
( 24/166) installing bzip2                         [######################] 100%
( 25/166) installing pcre                          [######################] 100%
( 26/166) installing grep                          [######################] 100%
( 27/166) installing libgpg-error                  [######################] 100%
( 28/166) installing libgcrypt                     [######################] 100%
( 29/166) installing lz4                           [######################] 100%
( 30/166) installing xz                            [######################] 100%
( 31/166) installing systemd-libs                  [######################] 100%
( 32/166) installing procps-ng                     [######################] 100%
( 33/166) installing sed                           [######################] 100%
( 34/166) installing tar                           [######################] 100%
( 35/166) installing libffi                        [######################] 100%
( 36/166) installing libutil-linux                 [######################] 100%
( 37/166) installing glib2                         [######################] 100%
Optional dependencies for glib2
    python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
    libelf: gresource inspection tool [pending]
( 38/166) installing libunistring                  [######################] 100%
( 39/166) installing icu                           [######################] 100%
( 40/166) installing libxml2                       [######################] 100%
( 41/166) installing libcroco                      [######################] 100%
( 42/166) installing gettext                       [######################] 100%
Optional dependencies for gettext
    git: for autopoint infrastructure updates
( 43/166) installing hwids                         [######################] 100%
( 44/166) installing kmod                          [######################] 100%
( 45/166) installing pciutils                      [######################] 100%
( 46/166) installing psmisc                        [######################] 100%
( 47/166) installing cracklib                      [######################] 100%
( 48/166) installing e2fsprogs                     [######################] 100%
( 49/166) installing libsasl                       [######################] 100%
( 50/166) installing libldap                       [######################] 100%
( 51/166) installing keyutils                      [######################] 100%
( 52/166) installing krb5                          [######################] 100%
( 53/166) installing libtirpc                      [######################] 100%
( 54/166) installing pambase                       [######################] 100%
( 55/166) installing pam                           [######################] 100%
( 56/166) installing libcap-ng                     [######################] 100%
( 57/166) installing audit                         [######################] 100%
( 58/166) installing shadow                        [######################] 100%
( 59/166) installing util-linux                    [######################] 100%
Optional dependencies for util-linux
    python: python bindings to libmount
    words: default dictionary for look
( 60/166) installing less                          [######################] 100%
( 61/166) installing gzip                          [######################] 100%
( 62/166) installing licenses                      [######################] 100%
( 63/166) installing expat                         [######################] 100%
( 64/166) installing zstd                          [######################] 100%
( 65/166) installing libarchive                    [######################] 100%
( 66/166) installing libtasn1                      [######################] 100%
( 67/166) installing device-mapper                 [######################] 100%
( 68/166) installing popt                          [######################] 100%
( 69/166) installing json-c                        [######################] 100%
( 70/166) installing argon2                        [######################] 100%
( 71/166) installing cryptsetup                    [######################] 100%
( 72/166) installing dbus                          [######################] 100%
( 73/166) installing libmnl                        [######################] 100%
( 74/166) installing libnftnl                      [######################] 100%
( 75/166) installing libnl                         [######################] 100%
( 76/166) installing libusb                        [######################] 100%
( 77/166) installing libpcap                       [######################] 100%
( 78/166) installing libnfnetlink                  [######################] 100%
( 79/166) installing libnetfilter_conntrack        [######################] 100%
( 80/166) installing iptables                      [######################] 100%
( 81/166) installing kbd                           [######################] 100%
( 82/166) installing libidn2                       [######################] 100%
( 83/166) installing libelf                        [######################] 100%
( 84/166) installing libseccomp                    [######################] 100%
( 85/166) installing pcre2                         [######################] 100%
( 86/166) 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 [pending]
    curl: machinectl pull-tar and pull-raw [pending]
( 87/166) 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/166) installing ca-certificates-utils         [######################] 100%
( 89/166) installing ca-certificates-mozilla       [######################] 100%
( 90/166) installing ca-certificates               [######################] 100%
( 91/166) installing libssh2                       [######################] 100%
( 92/166) installing libpsl                        [######################] 100%
( 93/166) installing libnghttp2                    [######################] 100%
( 94/166) installing curl                          [######################] 100%
( 95/166) installing npth                          [######################] 100%
( 96/166) installing libksba                       [######################] 100%
( 97/166) installing libassuan                     [######################] 100%
( 98/166) installing libsecret                     [######################] 100%
Optional dependencies for libsecret
    org.freedesktop.secrets: secret storage backend
( 99/166) installing pinentry                      [######################] 100%
Optional dependencies for pinentry
    gtk2: gtk2 backend
    qt5-base: qt backend
    gcr: gnome3 backend
(100/166) installing nettle                        [######################] 100%
(101/166) installing gnutls                        [######################] 100%
Optional dependencies for gnutls
    guile: for use with Guile bindings [pending]
(102/166) installing sqlite                        [######################] 100%
(103/166) installing gnupg                         [######################] 100%
Optional dependencies for gnupg
    libldap: gpg2keys_ldap [installed]
    libusb-compat: scdaemon
    pcsclite: scdaemon
(104/166) installing gpgme                         [######################] 100%
(105/166) installing pacman-mirrorlist             [######################] 100%
(106/166) installing archlinux-keyring             [######################] 100%
(107/166) installing pacman                        [######################] 100%
Optional dependencies for pacman
    perl-locale-gettext: translation support in makepkg-template
(108/166) installing systemd-sysvcompat            [######################] 100%
(109/166) installing iputils                       [######################] 100%
Optional dependencies for iputils
    xinetd: for tftpd
(110/166) installing iproute2                      [######################] 100%
Optional dependencies for iproute2
    linux-atm: ATM support
(111/166) installing base                          [######################] 100%
Optional dependencies for base
    linux: bare metal support [pending]
(112/166) installing m4                            [######################] 100%
(113/166) installing diffutils                     [######################] 100%
(114/166) installing autoconf                      [######################] 100%
(115/166) installing automake                      [######################] 100%
(116/166) installing binutils                      [######################] 100%
(117/166) installing bison                         [######################] 100%
(118/166) installing fakeroot                      [######################] 100%
(119/166) installing flex                          [######################] 100%
(120/166) installing libmpc                        [######################] 100%
(121/166) installing gcc                           [######################] 100%
Optional dependencies for gcc
    lib32-gcc-libs: for generating code for 32-bit ABI
(122/166) 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/166) installing libtool                       [######################] 100%
(124/166) installing texinfo                       [######################] 100%
(125/166) installing gc                            [######################] 100%
(126/166) installing guile                         [######################] 100%
(127/166) installing make                          [######################] 100%
(128/166) installing patch                         [######################] 100%
Optional dependencies for patch
    ed: for patch -e functionality
(129/166) installing pkgconf                       [######################] 100%
(130/166) installing sudo                          [######################] 100%
(131/166) installing which                         [######################] 100%
(132/166) installing mkinitcpio-busybox            [######################] 100%
(133/166) 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/166) installing linux                         [######################] 100%
Optional dependencies for linux
    crda: to set the correct wireless channels of your country
    linux-firmware: firmware images needed for some devices [pending]
(135/166) installing linux-firmware                [######################] 100%
(136/166) installing libaio                        [######################] 100%
(137/166) installing thin-provisioning-tools       [######################] 100%
(138/166) installing lvm2                          [######################] 100%
(139/166) installing nspr                          [######################] 100%
(140/166) installing nss                           [######################] 100%
(141/166) installing jansson                       [######################] 100%
(142/166) installing libnm                         [######################] 100%
(143/166) installing js60                          [######################] 100%
(144/166) installing polkit                        [######################] 100%
(145/166) installing wpa_supplicant                [######################] 100%
(146/166) installing libmm-glib                    [######################] 100%
(147/166) installing slang                         [######################] 100%
(148/166) installing gpm                           [######################] 100%
(149/166) installing libnewt                       [######################] 100%
Optional dependencies for libnewt
    tcl: whiptcl support
    python: libnewt support with the _snack module
    python2: libnewt support with the _snack module
(150/166) installing libndp                        [######################] 100%
(151/166) installing libdaemon                     [######################] 100%
(152/166) installing libsodium                     [######################] 100%
(153/166) installing libpgm                        [######################] 100%
(154/166) installing zeromq                        [######################] 100%
(155/166) installing libteam                       [######################] 100%
(156/166) installing bluez-libs                    [######################] 100%
(157/166) installing mobile-broadband-provider...  [######################] 100%
(158/166) installing networkmanager                [######################] 100%
Optional dependencies for networkmanager
    dnsmasq: connection sharing
    bluez: Bluetooth support
    ppp: dialup connection support
    modemmanager: cellular network support
    iwd: wpa_supplicant alternative
(159/166) installing libedit                       [######################] 100%
(160/166) installing dnssec-anchors                [######################] 100%
(161/166) installing ldns                          [######################] 100%
Optional dependencies for ldns
    libpcap: ldns-dpa tool [installed]
(162/166) installing openssh                       [######################] 100%
Optional dependencies for openssh
    xorg-xauth: X11 forwarding
    x11-ssh-askpass: input passphrase in X
(163/166) installing sshpass                       [######################] 100%
(164/166) installing vi                            [######################] 100%
Optional dependencies for vi
    s-nail: used by the preserve command for notification
(165/166) 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]
(166/166) 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.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.4.7-arch1-1
  -> 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.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.4.7-arch1-1
  -> 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-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 linux-firmware lvm2 networkmanager openss  34.92s user 8.44s system 13% cpu 5:17.55 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 - Der Arch Linux Standardkernel. (Alternativen: linux-lts, 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 empfohlen, sind nachfolgende Pakete

  • openssh - SSH-Server und SSH-Werkzeuge, da sonst kein SSH-Login auf den Server möglich ist
  • sshpass - SSH-Client so zu konfigurieren, ein Passwort interatktiv abzufragen
  • networkmanager - Erleichterte Konfiguration der Netzwerkanbindung

für eine erleichterte Mindest-Konfiguration zusätzlich zu installieren.

/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=f91131cb-8544-43a1-b860-9a0220191677	/         	ext4      	rw,relatime	0 1

# /dev/mapper/archlinux-home
UUID=15d63d88-6f35-4acd-8cd8-a01f3bf70b5b	/home     	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-var
UUID=ea4a338a-4238-495e-b323-77d53e9adecb	/var      	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-var_log
UUID=f06a9026-c568-47bc-b949-cd9a9b90e6c4	/var/log  	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-tmp
UUID=59870c5e-4b2a-45cb-b0ab-6615294d8e1d	/tmp      	ext4      	rw,relatime	0 2

# /dev/vda1
UUID=ceb0b61c-e901-40da-9b7a-a6eebc4019cf	/boot     	ext4      	rw,relatime	0 2

# /dev/mapper/archlinux-swap
UUID=f1e7a937-7f80-4183-9ff3-afb148d71e59	none      	swap      	defaults  	0 0

Systemkonfiguration: /mnt

Jetzt ist es an der Zeit, in das installierte System zu wechseln und letzte 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

Nachfolgener 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 einkommentieren 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)

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

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

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

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

/etc/resolv.conf

Veränderungen an der Konfigurationsdatei /etc/resolv.conf können auch später durch das Dienstprogramm nmtui vorgenommen werden, falls nicht via DHCP eine automatische Adressvergabe und die dazugehörigen Informationen über das zu Grunde liegende Netzwerk verteilt werden.

Ansonsten kann mit nachfolgendem Befehl eine Namensserver gesetzt werden:

[root@archiso /]# echo 'nameserver 192.168.122.1' >> /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 druchgefü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)

mkinitcpio

Abschließend ist durch nachfogenden Befehl dann die endgültige initramfs-Erstellung durchzuführen:

[root@archiso /]# mkinitcpio -p linux                   
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.4.6-arch3-1
  -> 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.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.4.6-arch3-1
  -> 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-fallback.img
==> Image generation successful

Passwort: root

Es ist erforderlich, 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.

Bootloader: GRUB

Zum Start des Servers ist ein sogenannter „Bootloader“ erforderlich. Hier soll der „Bootloader“ - GRUB installiert werden, was mit nachfolgendem Befehl durchgeführt werden soll:

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

Packages (1) grub-2:2.04-3

Total Download Size:    6.14 MiB
Total Installed Size:  32.50 MiB

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

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

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

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

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

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

  • /etc/default/grub

wie nachfolgend dargestellt geändert werden:

(Nur relevanter Ausschnitt:)

Vorher:

# GRUB boot loader configuration
 
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

Nachher

# GRUB boot loader configuration
 
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
# Tachtler
# default: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3"
GRUB_CMDLINE_LINUX=""

Erklärung:

  • GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3"

Damit Meldungen des systemd-Dienstes/Daemon zu sehen sind, muss der Parameter quit entfernt werden.

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

Nachfolgend soll der installierte Server so in Betrieb genommen werden, dass

  • Ein Benutzer und eine Gruppe neben dem Benutzer root existieren
  • Über den NetworkManager eine Netzwerkkonfiguration automatisch via DHCP beim Systemstart bezogen werden kann
  • Der SSH-Daemon automatisch beim Systemstart mit gestartet wird.

Benutzer und Gruppe anlegen

Nachfolgender Befehl erstellt eine neue Gruppe mit

  • der Gruppen-ID: 1000
  • der Bezeichnung: hier klaus
[root@archlinux ~]# groupadd -g 1000 klaus

Ein Überprüfung ob die Gruppe ordnungsgemäß erstellt wurde, kann durch ausführen von nachfolgendem Befehl und einer Anzeige wie folgt, durchgeführt werden:

[root@archlinux ~]# cat /etc/group | grep klaus
klaus:x:1000:

Nachfolgender Befehl erstellt einen neuen Benutzer mit

  • dem Kommentar: Klaus Tachtler klaus@tachtler.net
  • der Gruppen-ID: 1000
  • und mit der Erstellung eines home-Verzeichnisses
  • der shell: /bin/bash
  • der Benutzer-ID: 1000
  • der Bezeichnung: hier klaus
[root@archlinux ~]# useradd -c 'Klaus Tachtler <klaus@tachtler.net>' -g 1000 -m -s /bin/bash -u 1000 klaus

Ein Überprüfung ob der Benutzer ordnungsgemäß erstellt wurde, kann durch ausführen von nachfolgendem Befehl und einer Anzeige wie folgt, durchgeführt werden:

[root@archlinux ~]# cat /etc/passwd | grep klaus
klaus:x:1000:1000:Klaus Tachtler <klaus@tachtler.net>:/home/klaus:/bin/bash

Abschließend soll noch ein Passwort für den Benutzer klaus mit nachfolgendem Befehl gesetzt werden:

[root@archlinux ~]# passwd klaus
New password
Retype new password:
passwd: password updated successfully

NetworkManager einrichten

Um den NetworkManager, welcher als Dienste/Deamons als Hintergrundprozesse laufen soll, 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 NetworkManager.service
Created symlink /etc/systemd/system/basic.target.wants/NetworkManager.service → /usr/lib/systemd/system/NetworkManager.service.
Created symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service → /usr/lib/systemd/system/NetworkManager-dispatcher.service.
Created symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service → /usr/lib/systemd/system/NetworkManager-wait-online.service.

Eine Überprüfung, ob beim Neustart des Server der NetworkManager-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 ^NetworkManager
NetworkManager-dispatcher.service          enabled
NetworkManager-wait-online.service         enabled
NetworkManager.service                     enabled

bzw.

[root@archlinux ~]# systemctl is-enabled NetworkManager.service
enabled

Abschließend kann der NetworkManager mit nachfolgendem Befehl gestartet werden:

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

Eine Überprüfung ob der NetworkManager-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:

systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; v>
    Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
             └─NetworkManager-ovs.conf
     Active: active (running) since Mon 2019-12-30 17:31:53 CET; 13min ago
       Docs: man:NetworkManager(8)
   Main PID: 487 (NetworkManager)
      Tasks: 3 (limit: 2359)
     Memory: 13.0M
     CGroup: /system.slice/NetworkManager.service
             └─487 /usr/bin/NetworkManager --no-daemon

Warning: Journal has been rotated since unit was started. Log output is incompl>

SSH-Dienst/Deamon einrichten

Um SSH, welcher als Dienste/Deamons als Hintergrundprozesse laufen soll, 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 werden:

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

(Nur relevanter Ausschnitt:)

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

Als letzte muss noch 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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:81:76:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.177/24 brd 192.168.122.255 scope global dynamic noprefixroute ens3
       valid_lft 3371sec preferred_lft 2796sec
    inet6 fe80::8ba:76c:4018:3b4e/64 scope link 
       valid_lft forever preferred_lft forever

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

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

$ ssh klaus@192.168.122.177
The authenticity of host '192.168.122.177 (192.168.122.177)' can't be established.
ECDSA key fingerprint is SHA256:puP0BtxiEm9zB7rEJl0666PJ8NM7DEDLsPg+aMVEdd0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.177' (ECDSA) to the list of known hosts.
root@192.168.122.177's password: 
Last login: Sun Dec 29 11:12:10 2019
[klaus@archlinux ~]$

SSH-Agent einrichten

Damit ein SSH-Agent, welcher als Dienst/Deamon als Hintergrundprozesse laufen soll, auch nach einem Neustart des Servers zur Verfügung zu haben, sind nachfolgende Konfigurationen, für jeden Benutzer des Systems mit login (Anmeldemöglichkeit) der einen SSH-Agent nutzen soll, nachfolgende Befehle auszuführen:

Nachfolgende Konfigurationsdatei beinhaltet einen systemd-Service für den Benutzer, hier klaus, welcher es diesem ermöglicht einen SSH-Agent mittels z.B. dem Befehl ssh-add zu nutzen.

[klaus@archlinux ~]$ mkdir -p ~/.config/systemd/user

und

[klaus@archlinux ~]$ vim ~/.config/systemd/user/ssh-agent.service

Der Inhalt der Datei, sollte wie nachfolgend beschrieben aussehen:

[Unit]
Description=SSH key agent
 
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
 
[Install]
WantedBy=default.target

Anschließend muss mit nachfolgendem Befehl eine für das Authentifizierungsmodul PAM erforderliche Variable in einer neu zu erstellenden Konfigurationsdatei

  • ~/.pam_environment

wie folgt erstellt werden:

[klaus@archlinux ~]$ echo SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket" >> ~/.pam_environment

Um den SSH-Agent, welcher als Dienst/Deamon als Hintergrundprozesse laufen soll, auch nach einer Benutzeranmeldung zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server bzw. der Benutzeranmeldung mit gestartet werden, was mit nachfolgenden Befehlen realisiert werden kann:

[klaus@archlinux ~]$ systemctl --user enable ssh-agent
Created symlink /home/klaus/.config/systemd/user/default.target.wants/ssh-agent.service → /home/klaus/.config/systemd/user/ssh-agent.service.

Eine Überprüfung, ob nach einer Benutzeranmeldung der ssh-add-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

[klaus@archlinux ~]$ systemctl --user list-unit-files --type=service | grep -E ^ssh-agent
ssh-agent.service              enabled

bzw.

[klaus@archlinux ~]$ systemctl --user is-enabled ssh-agent.service
enabled

:!: HINWEIS - Für einen späteren Einsatz, unter den entsprechenden Benutzerrechten, kann nachfolgender Befehl zum Start des SSH-Agents ausgeführt werden:

[klaus@archlinux ~]# systemctl --user start ssh-agent

~/.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:

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

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

~/.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:

#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc

Bemerkung Inbetriebnahme

Nachfolgender Befehl zeigt, welche Dienste/Daemons nach einem erfolgreichen Systemstart automatisch gestartet werden:

[root@archlinux ~]# systemctl list-unit-files --type=service --state=enabled
UNIT FILE                                  STATE  
autovt@.service                            enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
getty@.service                             enabled
NetworkManager-dispatcher.service          enabled
NetworkManager-wait-online.service         enabled
NetworkManager.service                     enabled
sshd.service                               enabled

7 unit files listed.

:!: HINWEIS - Dies ist im Vergleich zu anderen Distributionen ein sehr schlankes und minimalistisches System. Falls dies unter Anderen eines der Ziele sein sollte, ist ArchLinux mehr als nur interessant.

Arch User Repository

Das ArchLinux User-Community Repository (AUR) ist eine Sammlung von Paketbau-Anleitungen (den PKGBUILDs) anhand derer Programmpakete für Arch Linux mittels ABS erstellt werden können. Jeder kann dort Pakete nach einer Registrierung veröffentlichen und anderen zur Verfügung stellen.

* Quelle: https://wiki.archlinux.de/title/Arch_User_Repository

Um das ArchLinux User-Community Repository (AUR) zur Installation von Paketen nutzen zu können, ist ein Hilfsprogramm wie z.B. pikaur ein bequeme Möglichkeit.

pikaur ein ArchLinux User-Community Repository (AUR)-„Helper“ ist ein „Hilfsprogramm“ mit minimalen Abhängigkeiten. Überprüfungen von PKGBUILDs und die Installation von Paketen in einem Rutsch ohne Benutzerinteraktion, zeichnen es aus.

Inspiriert von pacaur, yaourt und yay (ebenfalls ArchLinux User-Community Repository (AUR)-„Helper“).

pikaur hat nicht den Anspruch die Standard-Paktverwaltung pacman zu sein bzw. zu ersetzen, sondern (durch Befehlsoptimierung wie –nodeps, –force, –ask, –noconfirm uvm.), wird pacman einfach interaktiv genutzt. Falls pacman eine Nachfrage während der Installation zur Anzeige bringt, kann diese einfach im laufenden Installationsprozess beantworten werden.

Vorbereitungen

Damit eine Installation von pikaur möglichst effektiv verlaufen kann, sollten nachfolgende Schritte durchgeführt werden.

Ein Benutzer, hier klaus, sollte

  1. in die Gruppe wheel aufgenommen werden, da diese Befehle mit root-Rechten ausführen kann und
  2. im Verzeichnis /etc/sudoers.d sollte eine neue Datei 020_nopasswd_all_for_wheel erstellt werden um
  3. in der Datei 020_nopasswd_all_for_wheel den Eintrag %wheel ALL=(ALL) NOPASSWD: ALL zu schreiben
  4. das Herunterladen via git clone ermöglicht werden

Mit dieser Konfiguration kann der Benutzer klaus via sudo Befehle mit root-Rechten ausführen, was bei der Installation von pikaur von Vorteil ist. Der Grund dafür ist:

:!: HINWEIS - Der Befehl makepkg kann nicht als Benutzer root ausgeführt werden!

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root zu werden, geben Sie bitte nachfolgenden Befehl ein:

$ su -
Password: 

Zum Herunterladen via git sind noch nachfogende Pakete mit nachfolgendem Befehl zu installieren:

[root@archlinux ~]# pacman -S --needed base-devel git
warning: autoconf-2.69-6 is up to date -- skipping
warning: automake-1.16.1-2 is up to date -- skipping
warning: binutils-2.33.1-2 is up to date -- skipping
warning: bison-3.5-1 is up to date -- skipping
warning: fakeroot-1.24-2 is up to date -- skipping
warning: file-5.37-5 is up to date -- skipping
warning: findutils-4.7.0-2 is up to date -- skipping
warning: flex-2.6.4-3 is up to date -- skipping
warning: gawk-5.0.1-2 is up to date -- skipping
warning: gcc-9.2.0-4 is up to date -- skipping
warning: gettext-0.20.1-3 is up to date -- skipping
warning: grep-3.3-3 is up to date -- skipping
warning: groff-1.22.4-3 is up to date -- skipping
warning: gzip-1.10-3 is up to date -- skipping
warning: libtool-2.4.6+42+gb88cebd5-8 is up to date -- skipping
warning: m4-1.4.18-3 is up to date -- skipping
warning: make-4.2.1-4 is up to date -- skipping
warning: pacman-5.2.1-1 is up to date -- skipping
warning: patch-2.7.6-8 is up to date -- skipping
warning: pkgconf-1.6.3-3 is up to date -- skipping
warning: sed-4.7-3 is up to date -- skipping
warning: sudo-1.8.29-1 is up to date -- skipping
warning: texinfo-6.7-2 is up to date -- skipping
warning: which-2.21-5 is up to date -- skipping
resolving dependencies...
looking for conflicting packages...

Packages (4) perl-error-0.17028-1  perl-mailtools-2.21-2  perl-timedate-2.30-6
             git-2.24.1-4

Total Download Size:    6.10 MiB
Total Installed Size:  36.77 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 perl-error-0.170...    21.7 KiB   587 KiB/s 00:00 [######################] 100%
 perl-timedate-2....    33.2 KiB  1658 KiB/s 00:00 [######################] 100%
 perl-mailtools-2...    62.1 KiB  1552 KiB/s 00:00 [######################] 100%
 git-2.24.1-4-x86_64     6.0 MiB  1462 KiB/s 00:04 [######################] 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 perl-error                        [######################] 100%
(2/4) installing perl-timedate                     [######################] 100%
(3/4) installing perl-mailtools                    [######################] 100%
(4/4) installing git                               [######################] 100%
Optional dependencies for git
    tk: gitk and git gui
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-mime-tools: git send-email
    perl-net-smtp-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-mediawiki-api: git mediawiki support
    perl-datetime-format-iso8601: git mediawiki support
    perl-lwp-protocol-https: git mediawiki https support
    perl-cgi: gitweb (web interface) support
    python: git svn
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
(2/4) Reloading system manager configuration...
(3/4) Arming ConditionNeedsUpdate...
(4/4) Warn about old perl modules

/etc/group

Damit der Benutzer, hier klaus in die Gruppe - wheel hinzugefügt wird, ist die Ausführung von nachfolgendem Befehl möglich:

[root@archlinux ~]# usermod -a -G wheel klaus

Ob dies erfolgreich war, kann mit folgendem Befehl und dem nachfolgendem Ergebnis überprüft werden:

# cat /etc/group | grep wheel
wheel:x:998:klaus

/etc/sudoers.d/020_nopasswd_all_for_wheel

:!: HINWEIS - Diese Konfiguration ist optional!

Mit dem folgenden Befehl, kann die Konfigurationsdatei /etc/sudoers.d/020_nopasswd_all_for_wheel mit nachfolgendem Inhalt erstellt werden:

[root@archlinux ~]# echo '%wheel ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/020_nopasswd_all_for_wheel

Nachfolgender Befehl zeigt den Inhalt der Konfigurationsdatei /etc/sudoers.d/020_nopasswd_all_for_wheel an:

[root@archlinux ~]# cat /etc/sudoers.d/020_nopasswd_all_for_wheel
%wheel ALL=(ALL) NOPASSWD: ALL

Damit die Konfigurationsdatei /etc/sudoers.d/020_nopasswd_all_for_wheel auch angezogen wird, müssen die Dateirechte mit nachfolgendem Befehl noch wie folgt angepasst werden:

[root@archlinux ~]# chmod 440 /etc/sudoers.d/020_nopasswd_all_for_wheel

Ob die Anpassung der Dateirechte erfolgreich durchgeführt wurde, kann mit nachfolgendem Befehl überprüft werden:

# ls -l /etc/sudoers.d/020_nopasswd_all_for_wheel
-r--r----- 1 root root 31 Dec 31 06:23 /etc/sudoers.d/020_nopasswd_all_for_wheel

Ab hier werden Benutzer, hier klaus-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um wieder Benutzer klaus zu werden, geben Sie bitte nachfolgenden Befehl ein:

# exit

Ein Erster Test, ob der Benutzer, hier klaus nun Befehle via sudo und ohne Passworteingabe ausführen kann, soll nachfolgender Befehl zeigen - der auch in etwa eine Ausgabe wie diese zur Anzeige bringen sollte:

(Auflistung aller Dateien nach dem Schema .bash im root-Benutzer Verzeichnis /root)

[klaus@archlinux ~]$ sudo ls -la /root | grep .bash
-rw-------  1 root root 1853 Dec 31 06:34 .bash_history
-rw-r--r--  1 root root   57 Dec 30 18:02 .bash_profile
-rw-r--r--  1 root root  337 Dec 30 18:05 .bashrc

/etc/sudoers.d/020_all_for_wheel

:!: HINWEIS - Diese Konfiguration ist optional!

Mit dem folgenden Befehl, kann die Konfigurationsdatei /etc/sudoers.d/020_all_for_wheel mit nachfolgendem Inhalt erstellt werden:

[root@archlinux ~]# echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/020_all_for_wheel

Nachfolgender Befehl zeigt den Inhalt der Konfigurationsdatei /etc/sudoers.d/020_all_for_wheel an:

[root@archlinux ~]# cat /etc/sudoers.d/020_all_for_wheel
%wheel ALL=(ALL) ALL

Damit die Konfigurationsdatei /etc/sudoers.d/020_all_for_wheel auch angezogen wird, müssen die Dateirechte mit nachfolgendem Befehl noch wie folgt angepasst werden:

[root@archlinux ~]# chmod 440 /etc/sudoers.d/020_all_for_wheel

Ob die Anpassung der Dateirechte erfolgreich durchgeführt wurde, kann mit nachfolgendem Befehl überprüft werden:

# ls -l /etc/sudoers.d/020_all_for_wheel
-r--r----- 1 root root 31 Dec 31 06:24 /etc/sudoers.d/020_all_for_wheel

Ab hier werden Benutzer, hier klaus-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um wieder Benutzer klaus zu werden, geben Sie bitte nachfolgenden Befehl ein:

# exit

Ein Erster Test, ob der Benutzer, hier klaus nun Befehle via sudo und mit Passworteingabe ausführen kann, soll nachfolgender Befehl zeigen - der auch in etwa eine Ausgabe wie diese zur Anzeige bringen sollte:

(Auflistung aller Dateien nach dem Schema .bash im root-Benutzer Verzeichnis /root)

[klaus@archlinux ~]$ sudo ls -la /root | grep .bash
[sudo] password for klaus: 
-rw-------  1 root root 1853 Dec 31 06:34 .bash_history
-rw-r--r--  1 root root   57 Dec 30 18:02 .bash_profile
-rw-r--r--  1 root root  337 Dec 30 18:05 .bashrc

Herunterladen

Die Installationsquelle von pikaur kann unter nachfolgend aufgelistetem Link heruntergeladen werden:

Nachfolgender Befehl kopiert die Instalaltionsdateien von pikaur via git clone-Befehl in das Verzeichnis /tmp/pikaur:

[klaus@archlinux ~]$ git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur
Cloning into '/tmp/pikaur'...
remote: Enumerating objects: 422, done.
remote: Counting objects: 100% (422/422), done.
remote: Compressing objects: 100% (246/246), done.
remote: Total 422 (delta 176), reused 422 (delta 176)
Receiving objects: 100% (422/422), 90.62 KiB | 1.29 MiB/s, done.
Resolving deltas: 100% (176/176), done.

Installation

Nachfolgender Befehl wechselt nun in das Verzeichnis /tmp/pikaur, um dort das Paket für pikaur zu erstellen.

[klaus@archlinux ~]$ cd pikaur

Nachfolgender Befehl erstellt und installiert pikaur auf dem Server:

[klaus@archlinux pikaur]$ makepkg -fsri
==> Making package: pikaur 1.5.7-1 (Tue 31 Dec 2019 06:54:16 AM CET)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (3) libnsl-1.2.0-2  python-3.8.1-1  pyalpm-0.9.0-3

Total Download Size:    37.26 MiB
Total Installed Size:  152.21 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 libnsl-1.2.0-2-x...    57.4 KiB   746 KiB/s 00:00 [######################] 100%
 python-3.8.1-1-x...    37.2 MiB  1461 KiB/s 00:26 [######################] 100%
 pyalpm-0.9.0-3-x...    42.6 KiB  1637 KiB/s 00:00 [######################] 100%
(3/3) checking keys in keyring                     [######################] 100%
(3/3) checking package integrity                   [######################] 100%
(3/3) loading package files                        [######################] 100%
(3/3) checking for file conflicts                  [######################] 100%
(3/3) checking available disk space                [######################] 100%
:: Processing package changes...
(1/3) installing libnsl                            [######################] 100%
(2/3) installing python                            [######################] 100%
Optional dependencies for python
    python-setuptools
    python-pip
    sqlite [installed]
    mpdecimal: for decimal
    xz: for lzma [installed]
    tk: for tkinter
(3/3) installing pyalpm                            [######################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading pikaur-1.5.7.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   124    0   124    0     0    322      0 --:--:-- --:--:-- --:--:--   322
100 2103k    0 2103k    0     0   809k      0 --:--:--  0:00:02 --:--:-- 1413k
==> Validating source files with md5sums...
    pikaur-1.5.7.tar.gz ... Passed
==> Extracting sources...
  -> Extracting pikaur-1.5.7.tar.gz with bsdtar
==> Starting build()...
# find pikaur -type f -name '*.py' -not -name 'argparse.py' \
	#
find pikaur -type f -name '*.py' \
	| xargs xgettext --language=python --add-comments --sort-output \
		--default-domain=pikaur --from-code=UTF-8 --keyword='_n:1,2' --output=locale/pikaur.pot
test -f locale/fr.po || msginit --locale=fr --no-translator --input=locale/pikaur.pot --output=locale/fr.po
msgmerge --update locale/fr.po locale/pikaur.pot
.................. done.
msgfmt -o locale/fr.mo locale/fr.po
test -f locale/ru.po || msginit --locale=ru --no-translator --input=locale/pikaur.pot --output=locale/ru.po
msgmerge --update locale/ru.po locale/pikaur.pot
.................. done.
msgfmt -o locale/ru.mo locale/ru.po
test -f locale/pt.po || msginit --locale=pt --no-translator --input=locale/pikaur.pot --output=locale/pt.po
msgmerge --update locale/pt.po locale/pikaur.pot
.................. done.
msgfmt -o locale/pt.mo locale/pt.po
test -f locale/de.po || msginit --locale=de --no-translator --input=locale/pikaur.pot --output=locale/de.po
msgmerge --update locale/de.po locale/pikaur.pot
.................. done.
msgfmt -o locale/de.mo locale/de.po
test -f locale/is.po || msginit --locale=is --no-translator --input=locale/pikaur.pot --output=locale/is.po
msgmerge --update locale/is.po locale/pikaur.pot
.................. done.
msgfmt -o locale/is.mo locale/is.po
test -f locale/tr.po || msginit --locale=tr --no-translator --input=locale/pikaur.pot --output=locale/tr.po
msgmerge --update locale/tr.po locale/pikaur.pot
.................. done.
msgfmt -o locale/tr.mo locale/tr.po
test -f locale/da.po || msginit --locale=da --no-translator --input=locale/pikaur.pot --output=locale/da.po
msgmerge --update locale/da.po locale/pikaur.pot
.................. done.
msgfmt -o locale/da.mo locale/da.po
test -f locale/nl.po || msginit --locale=nl --no-translator --input=locale/pikaur.pot --output=locale/nl.po
msgmerge --update locale/nl.po locale/pikaur.pot
................... done.
msgfmt -o locale/nl.mo locale/nl.po
test -f locale/es.po || msginit --locale=es --no-translator --input=locale/pikaur.pot --output=locale/es.po
msgmerge --update locale/es.po locale/pikaur.pot
.................. done.
msgfmt -o locale/es.mo locale/es.po
test -f locale/zh_CN.po || msginit --locale=zh_CN --no-translator --input=locale/pikaur.pot --output=locale/zh_CN.po
msgmerge --update locale/zh_CN.po locale/pikaur.pot
.................. done.
msgfmt -o locale/zh_CN.mo locale/zh_CN.po
test -f locale/it.po || msginit --locale=it --no-translator --input=locale/pikaur.pot --output=locale/it.po
msgmerge --update locale/it.po locale/pikaur.pot
.................. done.
msgfmt -o locale/it.mo locale/it.po
==> Entering fakeroot environment...
==> Starting package()...
/usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
/usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
/usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'entry_points'
  warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/pikaur
copying pikaur/main.py -> build/lib/pikaur
copying pikaur/replacements.py -> build/lib/pikaur
copying pikaur/updates.py -> build/lib/pikaur
copying pikaur/args.py -> build/lib/pikaur
copying pikaur/aur_deps.py -> build/lib/pikaur
copying pikaur/core.py -> build/lib/pikaur
copying pikaur/conflicts.py -> build/lib/pikaur
copying pikaur/news.py -> build/lib/pikaur
copying pikaur/prompt.py -> build/lib/pikaur
copying pikaur/search_cli.py -> build/lib/pikaur
copying pikaur/__init__.py -> build/lib/pikaur
copying pikaur/argparse.py -> build/lib/pikaur
copying pikaur/aur.py -> build/lib/pikaur
copying pikaur/srcinfo.py -> build/lib/pikaur
copying pikaur/pprint.py -> build/lib/pikaur
copying pikaur/install_info_fetcher.py -> build/lib/pikaur
copying pikaur/install_cli.py -> build/lib/pikaur
copying pikaur/progressbar.py -> build/lib/pikaur
copying pikaur/exceptions.py -> build/lib/pikaur
copying pikaur/info_cli.py -> build/lib/pikaur
copying pikaur/build.py -> build/lib/pikaur
copying pikaur/print_department.py -> build/lib/pikaur
copying pikaur/__main__.py -> build/lib/pikaur
copying pikaur/i18n.py -> build/lib/pikaur
copying pikaur/version.py -> build/lib/pikaur
copying pikaur/config.py -> build/lib/pikaur
copying pikaur/pikspect.py -> build/lib/pikaur
copying pikaur/makepkg_config.py -> build/lib/pikaur
copying pikaur/pacman.py -> build/lib/pikaur
running install_lib
creating /tmp/pikaur/pkg/pikaur/usr
creating /tmp/pikaur/pkg/pikaur/usr/lib
creating /tmp/pikaur/pkg/pikaur/usr/lib/python3.8
creating /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages
creating /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/main.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/replacements.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/updates.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/args.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/aur_deps.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/core.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/conflicts.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/news.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/prompt.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/search_cli.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/__init__.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/argparse.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/aur.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/srcinfo.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/pprint.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/install_info_fetcher.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/install_cli.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/progressbar.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/exceptions.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/info_cli.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/build.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/print_department.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/__main__.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/i18n.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/version.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/config.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/pikspect.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/makepkg_config.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
copying build/lib/pikaur/pacman.py -> /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/main.py to main.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/replacements.py to replacements.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/updates.py to updates.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/args.py to args.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/aur_deps.py to aur_deps.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/core.py to core.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/conflicts.py to conflicts.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/news.py to news.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/prompt.py to prompt.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/search_cli.py to search_cli.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/__init__.py to __init__.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/argparse.py to argparse.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/aur.py to aur.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/srcinfo.py to srcinfo.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/pprint.py to pprint.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/install_info_fetcher.py to install_info_fetcher.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/install_cli.py to install_cli.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/progressbar.py to progressbar.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/exceptions.py to exceptions.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/info_cli.py to info_cli.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/build.py to build.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/print_department.py to print_department.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/__main__.py to __main__.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/i18n.py to i18n.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/version.py to version.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/config.py to config.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/pikspect.py to pikspect.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/makepkg_config.py to makepkg_config.cpython-38.pyc
byte-compiling /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur/pacman.py to pacman.cpython-38.pyc
writing byte-compilation script '/tmp/tmpp03xzn3m.py'
/usr/bin/python3 /tmp/tmpp03xzn3m.py
removing /tmp/tmpp03xzn3m.py
running install_egg_info
Writing /tmp/pikaur/pkg/pikaur/usr/lib/python3.8/site-packages/pikaur-1.5.7-py3.8.egg-info
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "pikaur"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: pikaur 1.5.7-1 (Tue 31 Dec 2019 06:54:55 AM CET)
==> Installing package pikaur with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) pikaur-1.5.7-1

Total Installed Size:  0.87 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) installing pikaur                            [######################] 100%
Optional dependencies for pikaur
    asp: for ABS support in -G/--getpkgbuild operation
    python-pysocks: for socks5 proxy support
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Nachfolgender Befehl überprüft, ob pikaur ordnungsgemäß installiert wurde:

$ pikaur --version

      /:}               _
     /--1             / :}
    /   |           / `-/
   |  ,  --------  /   /
   |'                 Y      Pikaur v1.5.7
  /                   l      (C) 2018 Pikaur development team
  l  /       \        l      Licensed under GPLv3
  j  ●   .   ●        l
 { )  ._,.__,   , -.  {      Pacman v5.2.1 - libalpm v12.0.1
  У    \  _/     ._/   \

Ein erster Test mit nachfolgendem Befehl zeigt, ob ab sofort auch Pakete aus dem ArchLinux User-Community Repository (AUR) gefunden werden und somit auch installiert werden können:

(Suche nach einem Paket aus dem ArchLinux User-Community Repository (AUR) - dem mod_jk - „The Apache Tomcat Connector“)

[klaus@archlinux pikaur]$ pikaur -Ss mod_jk
Searching... [###]
aur/mod_jk 1.2.46-1 (19, 0.00)
    The Apache Tomcat Connector

Minimal Desktop GNOME

Um die ArchLinux - Installation um einen

  • „Minimal Desktop“ GNOME

zu erweitern, können nachfolgend beschriebene Schritte durchgeführt werden.

Nachfolgende pacman-Pakete werden mindestens benötigt:

  • gnome-shell
  • gdm

Optional ist nachfolgendes pacman-Paket, jedoch wird die Installation dringend empfohlen, da sonst keine Möglichkeit besteht, eine shell innerhalb der grafischen Benutzeroberfläche zu öffnen:

  • gnome-terminal - Terminal / shell unter GNOME 3

Eine erweiterte GNOME 3-Desktop Installation kann durchgeführt werden, wenn nachfolgende pacman-Pakte ebenfalls noch installiert werden, um das Aussehen und die Funktionalität des GNOME 3-Desktops zu erhöhen:

  • nautilus - Nautilus-Datei-Manager
  • nautilus-terminal - Einbindung von Terminal / shell im Nautilus-Datei-Manager und Aufruf über die [rechte Maustaste]
  • gnome-control-center - Einstellungen / shell unter GNOME 3
  • gnome-menus - Einbindung der Menüs für das GNOME 3 „Panel“
  • gnome-shell-extensions - Verschiedene Erweiterungen für die GNOME 3 „Shell“.
    • apps-menu - Anwendungsmenü für GNOME 3 „Shell“
    • auto-move-windows - Verschiebt Anwendungen in bestimmte Arbeitsbereiche, wenn Fenster erstellt werden für GNOME 3 „Shell“
    • drive-menu - Ein Statusmenü für den Zugriff auf und das Trennen von Wechseldatenträgern innerhalb der Münüleiste der GNOME 3 „Shell“
    • horizontal-workspaces - Verwendung eines horizontales Arbeitsbereichslayout für GNOME 3 „Shell“
    • launch-new-instance - Startet immer eine neue Anwendungsinstanz der GNOME 3 „Shell“.
    • native-window-placement - Fenster werden in einer Übersicht in der GNOME 3 „Shell“ kompakt angeordnet.
    • places-menu - Platziert das Statusmenü in der GNOME 3 „Shell“.
    • screenshot-window-sizer - Fenstergrößenänderung für GNOME 3 „Shell“-Software-Screenshots.
    • user-theme - Unterstützung für benutzerdefinierte Themen in der GNOME 3 „Shell“.
    • window-list - Zeigt eine Fensterliste am unteren Bildschirmrand in der GNOME 3 „Shell“.
    • windowsNavigator - Erlaubt die Auswahl von Fenstern und Arbeitsbereichen im „Overlay-Modus“ über die Tastatur. Mit [Strg]-Zahl wird ein Arbeitsbereich und mit [Alt]-Zahl wird ein Fenster innerhalb der GNOME 3 „Shell“ ausgewählt.
    • workspace-indicator - Legen eine Anzeige auf die Menüleiste, die signalisiert, welchem Arbeitsbereich gerade aktiv ist, ermöglicht es, zu einem anderen innerhalb der GNOME 3 „Shell“ zu wechseln.
  • gnome-backgrounds - Hintergrundbilder für GNOME 3 Desktop
  • gnome-tweaks - Anpassen der erweiterten GNOME 3 Optionen
  • dconf-editor - Anpassen der Systemweiten GNOME 3 Optionen

Aus dem ArchLinux User-Community Repository (AUR) können noch eine weitere Vielzahl an Erweiterungen für GNOME 3 installiert werden, wie z.B.

  • gnome-shell-extension-desktop-icons - Unterstützung von GNOME 3-Desktop-Symbolen wie bei der klassische Anzeige.

:!: HINWEIS - Ab GNOME 3 Version 3.28 wurde die Möglichkeit Desktop-Icons mittels nautilus anzuzeigen entfernt!

:!: HINWEIS - Auch die gnome-shell-extension-desktop-icons funktioniert aktuell nicht so, das die Desktop-Icons angezeigt werden.

:!: HINWEIS - Die gnome-shell-extension-desktop-icons sollte trotzdem installiert werden, da durch diese Erweiterung mit der rechten Maustaste der Menüpunkt „Open in Terminal“ angezeigt wird!

Installationsschritt: 1

Installation der pacman-Pakete gnome-sehll, gdm und gnome-terminal mit nachfolgendem Befehl:

[root@archlinux ~]# pacman -S gnome-shell gdm gnome-terminal

Installationsschritt: 2

Damit nach einem Neustart des Servers auch ein grafischer Anmeldebildschirm zur Anzeige kommt, muss der gdm-Dienst/Daemon gestartet werden, was mit nachfolgendem Befehl eingerichtet werden muss:

[root@archlinux ~]# systemctl enable gdm.service
Created symlink /etc/systemd/system/display-manager.service → /usr/lib/systemd/system/gdm.service.

Eine Überprüfung, ob beim Neustart des Server der gdm-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 ^gdm
gdm.service          enabled

bzw.

[root@archlinux ~]# systemctl is-enabled gdm.service
enabled

Installationsschritt: 3

Neustart des Servers, welcher mit nachfolgendem Befehl durchgeführt werden kann:

[root@archlinux ~]# systemctl reboot

Anmeldebildschirm

Nach Durchführung aller vorhergehenden Installationsschritte, sollte nachfolgender Bildschirm nach dem Reboot (Neustart) des Servers erscheinen:

ArchLinux - GNOME - Login Screen

Verfügbare Applikationen

Nach der Anmeldung sind nur nachfolgende Applikationen verfügbar:

  • Avahi SSH Server Browser - SSH Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • Avahi VNC Server Browser - VNC Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • Avahi Zeroconf Browser - Null-Schnittstellen Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • QT V4L2 test Utility - Test-Programm für die QT-Schnittstelle
  • QT V4L2 video capture Utility - Video-Aufname-Programm der QT-Schnittstelle
  • Terminal - shell-Terminal
  • Vim - Texteditor mit Farb-Hervorhebungen

wie nachfolgende Bildschirmkopie zeigt:

ArchLinux - GNOME - Activities App-Screen

Applikationen ausblenden

Damit das „Activities“-Menü nicht von eher nicht gebräuchlichen, aber wegen bestehender Abhängigkeiten nicht zu deinstallierenden Programmen überladen wird, können durch nachfolgende Änderungen der einzelnen Desktop-Dateien des jeweiligen Menüpunktes, diese ausgeblendet werden.

Nachfolgende Programm sollen ausgeblendet werden:

  • Avahi SSH Server Browser - SSH Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • Avahi VNC Server Browser - VNC Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • Avahi Zeroconf Browser - Null-Schnittstellen Browser (Netzwerkkommunikation über den Avahi-Dienst/Daemon)
  • QT V4L2 test Utility - Test-Programm für die QT-Schnittstelle
  • QT V4L2 video capture Utility - Video-Aufname-Programm der QT-Schnittstelle

Alle Desktop-Dateien der jeweiligen Menüpunkte befinden sich in Verzeichnis:

  • /usr/share/applications/

Nachfolgende Ergänzung in jeder einzelnen Desktop-Datei des jeweiligen Menüpunkts, soll daher mit nachfolgender Zeile ergänzt werden, was mit nachfolgenden Befehlen durchgeführt werden kann:

NoDisplay=true

Nachfolgend die jeweilige Desktop-Datei zum entsprechenden Programm:

  • bssh.desktop - Avahi SSH Server Browser
  • bvnc.desktop - Avahi VNC Server Browser
  • avahi-discover.desktop - Avahi Zeroconf Browser
  • qv4l2.desktop - QT V4L2 test Utility
  • qvidcap.desktop - QT V4L2 video capture Utility
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/bssh.desktop
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/bvnc.desktop
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/avahi-discover.desktop
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/qv4l2.desktop
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/qvidcap.desktop

Nach den oben gezeigten Änderungen, kann das „Activities“-Menü nun wie folgt aussehen:

ArchLinux - GNOME - Activities App-Screen - bereinigt

Erweiterungsschritt: 1

Installation der pacman-Pakete

  • nautilus
  • nautilus-terminal
  • gnome-control-center
  • gnome-menus
  • gnome-shell-extensions
  • gnome-backgrounds
  • gnome-tweaks
  • dconf-editor

mit nachfolgendem Befehl:

[root@archlinux ~]# pacman -S nautilus nautilus-terminal gnome-control-center gnome-menus gnome-shell-extensions gnome-backgrounds gnome-tweaks dconf-editor

Erweiterungsschritt: 2

Installation der ArchLinux User-Community Repository (AUR)-Pakete mittels pikaur

  • gnome-shell-extension-desktop-icons

mit nachfolgendem Befehl:

[root@archlinux ~]# pikaur -S gnome-shell-extension-desktop-icons

:!: HINWEIS - Ab GNOME 3 Version 3.28 wurde die Möglichkeit Desktop-Icons mittels nautilus anzuzeigen entfernt!

:!: HINWEIS - Auch die gnome-shell-extension-desktop-icons funktioniert aktuell nicht so, das die Desktop-Icons angezeigt werden.

:!: HINWEIS - Die gnome-shell-extension-desktop-icons sollte trotzdem installiert werden, da durch diese Erweiterung mit der rechten Maustaste der Menüpunkt „Open in Terminal“ angezeigt wird!

Damit z.B. die gnome-shell-extensions-desktop-icons und weitere Funktionen überhaupt funktionsfähig sind, müssen für jeden Benutzer des Systems mit login (Anmeldemöglichkeit) nachfolgende Befehle durchgeführt werden:

[root@archlinux ~]# mkdir ~/Desktop
[root@archlinux ~]# chmod 755 ~/Desktop
[root@archlinux ~]# mkdir -p ~/.local/share/Trash/{expunged,files,info}
[root@archlinux ~]# chmod -R 700 ~/.local/share/Trash

Erklärungen:

  • mkdir ~/Desktop

Es wird der Ordner Desktop im jeweiligen HOME-Verzeichnis des entsprechenden Benutzers angelegt. Das ist erforderlich, das sonst keine Objekte, wie z.B. Ordner oder Dateien auf dem Desktop angelegt werden können.

  • chmod 755 ~/Desktop

Es werden die entsprechenden Dateirechte für den Zugriff auf den Ordner Desktop im jeweiligen HOME-Verzeichnis des entsprechenden Benutzers gesetzt, damit auf diesen zugegriffen werden kann.

  • mkdir -p ~/.local/share/Trash/{expunged,files,info}

Es wird ein neuer Order Trash (Papierkorb) und drei Unterordner

  • expunged - für gelöschte Objekte
  • files - Dateien zur Löschung
  • info - Informationen zu den gelöschten Objekten und Dateien

im jeweiligen HOME-Verzeichnis unter dem Pfad .local/share des entsprechenden Benutzers angelegt. Dies ist erforderlich, da sonst ein Datei-Manager keinen Zugriff auf den Papierkorb hat und auch die Anzeige auf dem Desktop sonst nicht erfolgen kann.

  • chmod -R 700 ~/.local/share/Trash

Es werden die entsprechenden Dateirechte für den Zugriff auf den Ordner Trash im jeweiligen HOME-Verzeichnis unter dem Pfad .local/share des entsprechenden Benutzers gesetzt, damit auf diesen und die Unterordner zugegriffen werden kann.

:!: WICHTIG - Falls der Benutzer root den Befehl für alle Benutzer ausführt, müssen die entsprechenden Besitzrechte ebenfalls noch wie nachfolgend beschrieben, auf den jeweiligen Benutzer und dessen primärer Gruppenzugehörigkeit gesetzt werden:

[root@archlinux ~]# chown -R [BENUTZERNAME]:[BENUTZEGRUPPE] /home/[BENUTZERNNAME]/Desktop
[root@archlinux ~]# chown -R [BENUTZERNAME]:[BENUTZEGRUPPE] /home/[BENUTZERNNAME]/.local/share/Trash

* [BENUTZERNAME] und [BENUTZERGRUPPE] sollten normalerweise identisch sein!

Erweiterungsschritt: 3

Logout (Abmeldung) des angemeldeten Benutzer aus dem GNOME 3-Desktop, was mit nachfolgendem Befehl durchgeführt werden kann:

[root@archlinux ~]# gnome-session-quit --logout --no-prompt

:!: HINWEIS - Anschließend ist eine Neuanmeldung des Benutzer im GNOME 3-Desktop erforderlich!

Erweiterungsschritt: 4

Anschließend muss durch drücken der [linken Maustaste] über dem Menüpunkt, hier Activities ein Auswahlmenü mit Bildern am linken Bildschirmrand erscheinen, wie nachfolgende Bildschirmkopie zeigt:

archlinux_activities.png|ArchLinux - Activities

Hier muss nun mit der [linken Maustaste] der Menüpunkt [Show Applications] ausgewählt werden, wodurch die Auswahl aller installierten Applikationen erscheint, wie ebenfalls nachfolgende Bildschirmkopie zeigt:

archlinux_activities_show-applications.png|ArchLinux - Activities - Show Applications

Hier ist es nun erforderlich mit der [linken Maustaste] die Applikation [Tweaks] auszuwählen, woraufhin sich die Applikation öffnen sollte, wie hier in nachfolgender Bildschirmkopie gezeigt wird:

archlinux_activities_show-applications_tweaks.png|ArchLinux - Activities - Show Applications - Tweaks

Als nächstes muss nun mit der [linken Maustaste] der Menüpunkt [Extensions] am linken Rand ausgewählt werden, wodurch nachfolgende Einstellungsmöglichkeiten zum Vorschein kommen sollten:

archlinux_tweaks_extensions.png|ArchLinux - Tweaks - Extensions

Hier sollten nun alle Extensions, bis auf

  • nicht „Horizontal Workspaces“

aktiviert werden, wie ebenfalls nachfolgende Bildschirmkopie zeigt:

archlinux_tweaks_extensions_active.png|ArchLinux - Tweaks - Extensions - aktiviert

Beispiel-Desktop

Abschließend kann dann ein GNOME 3-Desktop, wie auf nachfolgenden Bildschirmkopien gezeigt, aussehen:


archlinux_tweaks_extensions_active_result.png|Archlinux - Tweaks - Extensions - aktiviert - Ergebnis

* Desktop mit Menüleiste am unteren Bildschirmrand zur Anzeige der laufenden Anwendungen.

:!: HINWEIS - Ab GNOME 3 Version 3.28 wurde die Möglichkeit Desktop-Icons mittels nautilus anzuzeigen entfernt!

:!: HINWEIS - Auch die gnome-shell-extension-desktop-icons funktioniert aktuell nicht so, das die Desktop-Icons angezeigt werden.

:!: HINWEIS - Die gnome-shell-extension-desktop-icons sollte trotzdem installiert werden, da durch diese Erweiterung mit der rechten Maustaste der Menüpunkt „Open in Terminal“ angezeigt wird!

archlinux_tweaks_extensions_active_result_menu.png|Archlinux - Tweaks - Extensions - aktiviert - Ergebnis

* Zusätzliche Menüanzeige zu der „Aktivitäten“-Anzeige in der Menüleiste am oberen Bildschirmrand im klassischen Menüstil von GNOME 3.


archlinux_tweaks_extensions_active_result_desktop_mouse_right_click_menu.png|ArchLinux - Tweaks - Extensions - aktiviert - Ergebnis - Maus - rechte Maustaste Menü

* Im Menü, welches durch drücken der [rechten Maustaste] geöffnet wird, befindet sich auch der Menüpunkt „Open in Terminal“.

Letzte Applikationen ausblenden

Damit das „Activities“-Menü nicht von eher nicht gebräuchlichen, aber wegen bestehender Abhängigkeiten nicht zu deinstallierenden Programmen überladen wird, können durch nachfolgende Änderungen der einzelnen Desktop-Dateien des jeweiligen Menüpunktes, diese ausgeblendet werden.

Nachfolgende Programm sollen ausgeblendet werden:

  • Cheese - Kamera-App
  • Vim - Texteditor mit Farbhervorhebung für die Shell

Alle Desktop-Dateien der jeweiligen Menüpunkte befinden sich in Verzeichnis:

  • /usr/share/applications/

Nachfolgende Ergänzung in jeder einzelnen Desktop-Datei des jeweiligen Menüpunkts, soll daher mit nachfolgender Zeile ergänzt werden, was mit nachfolgenden Befehlen durchgeführt werden kann:

NoDisplay=true

Nachfolgend die jeweilige Desktop-Datei zum entsprechenden Programm:

  • org.gnome.Cheese.desktop - Cheese
  • vim.desktop - Vim
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/org.gnome.Cheese.desktop
[root@archlinux ~]# echo NoDisplay=true >> /usr/share/applications/vim.desktop

Nach den oben gezeigten Änderungen, kann das „Activities“-Menü nun wie folgt aussehen:

archlinux_gnome_activities_apps-screen_cleaned_last.png|ArchLinux - GNOME - Activities App-Screen - bereinigt - letzte Programme

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