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.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.archlinux.de/ |
Herunterladen | https://www.archlinux.de/download |
Dokumentation | https://wiki.archlinux.de/title/Hauptseite |
Installation | https://wiki.archlinux.de/title/Anleitung_für_Einsteiger |
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:
Durch drücken der [Eingabe|Return]-Taste auf dem Menüpunkt Boot Arch Linux (x86_64) wird ein initialer Start durchgeführt. Nach erfolgreichem Start des „Live“„-Images, sollte nachfolgender Bildschirm erscheinen.
HINWEIS - Eine Anmeldung als Benutzer root
ist bereits erfolgt!
Vorbereitungen
Um die folgenden Installationsschritte durchführen zu können, werden nachfolgende Gegebenheiten vorausgesetzt.
- Es besteht eine Anbindung an das Internet
- 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:
n
p
1
[Enter/Return]-Taste = Bestätigung für „First sector 2048“
- und die Eingabe der Größe, durch
+1024M
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-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:
n
p
2
[Enter/Return]-Taste = Bestätigung für „First sector …“
[Enter/Return]-Taste = Bestätigung für „Last sector …“
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (2099200-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:
t
[Enter/Return]-Taste = Bestätigung für „Partition number (1,2, default 2)“
8e
Command (m for help): t Partition number (1,2, default 2): 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
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 Volumesvi
- Texteditor für dieshell
vim
- Texteditor für dieshell
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 istsshpass
- SSH-Client so zu konfigurieren, ein Passwort interatktiv abzufragennetworkmanager
- 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:
Nach erfolgreichem „Booten“ des Servers, sollte eine Anmeldung als Benutzer root
nun möglich sein, wie ebenfalls die folgende Bildschirmkopie zeigt:
Hinweise
Nach dem erfolgreichen ersten Start des Servers sind die folgenden Gegebenheiten zu beachten:
- Es gibt KEINE Benutzer die sich anmelden können, ausser der Benutzer
root
! - Es steht KEINE Netzwerkanbindung zur Verfügung!
- Es stehen KEINE Dienste/Daemons zur Verfügung, auch der SSH-Dienst/Daemon nicht!
Inbetriebnahme
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.
[root@archlinux ~]# mkdir -p /home/klaus/.config/systemd/user
HINWEIS - Für einen späteren Einsatz, unter den entsprechenden Benutzerrechten, kann dieser Befehl auch wie folgt aussehen:
[klaus@archlinux ~]$ vim ~/.config/systemd/user/ssh-agent.service
[root@archlinux ~]# vim /home/klaus/.config/systemd/user/ssh-agent.service
HINWEIS - Für einen späteren Einsatz, unter den entsprechenden Benutzerrechten, kann dieser Befehl auch wie folgt aussehen:
[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:
[root@archlinux ~]# echo SSH_AUTH_SOCK DEFAULT="/run/user/1000/ssh-agent.socket" >> ~/.pam_environment
HINWEIS - Für einen späteren Einsatz, unter den entsprechenden Benutzerrechten, kann dieser Befehl auch wie folgt aussehen:
[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:
[root@archlinux ~]# systemctl --user enable ssh-agent
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:
[root@archlinux ~]# systemctl list-unit-files --type=service | grep -E ^ssh-agent ssh-agent.service enabled
bzw.
[root@archlinux ~]# systemctl 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:
[root@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
Beschreibung | Externer Link |
---|---|
Homepage | https://aur.archlinux.org/?setlang=de |
Dokumentation | 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
- in die Gruppe
wheel
aufgenommen werden, da diese Befehle mitroot
-Rechten ausführen kann und - im Verzeichnis
/etc/sudoers.d
sollte eine neue Datei020_nopasswd_all_for_wheel
erstellt werden um - in der Datei
020_nopasswd_all_for_wheel
den Eintrag%wheel ALL=(ALL) NOPASSWD: ALL
zu schreiben - 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:
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-Managernautilus-terminal
- Einbindung von Terminal /shell
im Nautilus-Datei-Manager und Aufruf über die [rechte Maustaste]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 Desktopgnome-tweaks
- Anpassen der erweiterten GNOME 3 Optionendconf-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:
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-SchnittstelleQT V4L2 video capture Utility
- Video-Aufname-Programm der QT-SchnittstelleTerminal
-shell
-TerminalVim
- Texteditor mit Farb-Hervorhebungen
wie nachfolgende Bildschirmkopie zeigt:
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-SchnittstelleQT 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:
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 Objektefiles
- Dateien zur Löschunginfo
- 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:
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:
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:
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:
Hier sollten nun alle Extensions, bis auf
- nicht „Horizontal Workspaces“
aktiviert werden, wie ebenfalls nachfolgende Bildschirmkopie zeigt:
Beispiel-Desktop
Abschließend kann dann ein GNOME 3-Desktop, wie auf nachfolgenden Bildschirmkopien gezeigt, aussehen:
* 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!
* Zusätzliche Menüanzeige zu der „Aktivitäten“-Anzeige in der Menüleiste am oberen Bildschirmrand im klassischen Menüstil von GNOME 3.
* 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-AppVim
- Texteditor mit Farbhervorhebung für dieShell
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: