Bootparameter GRUB / Debian

Bootoptionen oder Bootparameter können bei Debian direkt manuell eingegeben werden. Falls der aktuelle Kernel beim Booten stehen bleibt, können wir versuchen, mit verschiedenen Bootoptionen dies zu verhindern. Hier ein Beispiel mittels acpi=off:

Um die Einstellungen permanent zu übernehmen, editiere die Datei grub:

# nano /etc/default/grub

die Zeile dazu lautet: GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=off"

aktuallisiere anschliessend den Bootloader mit:

# update-grub

drücke hier die Taste e



Klartextpasswort verbieten

Nachdem ein ssh-key generiert wurde und die Anmeldung geklappt hat, können wir noch einen Schritt weitergehen und verbieten die Anmeldung mittels Passwort. Öffne die sshd-Konfigurationsdatei:

# nano /etc/ssh/sshd_config

und kommentiere die Passwort-Authentifizierung aus und setze den Wert auf Nein:

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

Vorsicht: Damit kannst Du dich vom gesamten System aussperren. Mache dies nur, wenn Du sicher bist, was du hier genau tust!

ssh-key generieren (rsa)

Im nachfolgenden Beispiel wird als Benutzername yuna und als IP 192.168.0.81 angenommen.

Um einen ssh-Key zu generieren, melden wir uns auf dem Server an und generieren einen Schlüssel mit dem Befehl:

$ ssh-keygen -m PEM -t rsa -b 4096
$ ssh-keygen -m PEM -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yuna/.ssh/id_rsa): 
Created directory '/home/yuna/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/yuna/.ssh/id_rsa
Your public key has been saved in /home/yuna/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:5I0tLZWA4Npi2HtU7s+1jJm7Vh0M/9nuIg1otSnlz1I benutzer@server
The key's randomart image is:
+------ [RSA 4096] ------+
|         _nnnn_         |
|        dGGGGMMb        |
|       @p~qp~~qMb       |
|       M|@||@) M|       |
|       @,----.JM|       |
|      JS^\__/  qKL      |
|     dZP        qKRb    |
|    dZP          qKKb   |
|   fZP            SMMb  |
|   HZM            MMMM  |
|   FqM            MMMM  |
| __| ".        |\dS"qML |
| |    `.       | `' \Zq |
|_)      \.___.,|     .' |
|\____   )MMMMMP|   .'   |
|     `-'       `--' hjm |
+--------[SHA256]--------+

Kopiere anschliessend den Schlüssel mit:

$ ssh-copy-id yuna@192.168.0.81
$ ssh-copy-id yuna@192.168.0.81
The authenticity of host '192.168.0.81 (192.168.0.81)' can't be established.
ECDSA key fingerprint is SHA256:vu1+RPGYAaOIS7x6pSg8FL9J7ZoxHCs92HAR3e/k9Ps.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
yuna@192.168.0.81's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'yuna@192.168.0.81'"
and check to make sure that only the key(s) you wanted were added.

Windows

Nun übertragen/kopieren wir den privaten Schlüssel id_rsa nach: C:\Users\BENUTZER\.ssh

Achte darauf, bei Windows die Dateierweiterung .txt zu entfernen. Die Datei heisst hier id_rsa und nicht id_rsa.txt

Bei einem Login wird nun der private Schlüssel auf Deinem PC mit dem Schlüssel auf dem Server abgeglichen. Passen die zusammen, wird die Verbindung akzeptiert.

 

Linux

Hier muss zwingend die Berechtigung vom id_rsa Schlüssel unter ~/.ssh/id_rsa auf 600 gesetzt werden. Ansonst kommt es zu diesem Vorfall:

$ ssh yuna@192.168.0.81 -p 22
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0770 for '/home/BENUTZER/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/BENUTZER/.ssh/id_rsa": bad permissions
yuna@192.168.0.81's password: 
(...)

Die korrekte Berechtigung setzen wir mittels:

# chmod 600 /home/BENUTZER/.ssh/id_rsa

einen externen Server einbinden

sshfs lässt zu, einen entfernten Server in Debian einzubinden. Dieser Server wird als normales Laufwerk in Debian angezeigt und kann auch als solches verwendet werden. Dazu benötigen wir lediglich einen Debian-Server in der Minimalinstallation. Port 22 ist der einzige Port, der geöffnet werden muss. Falls der Server zusätzlich unter Windows 11 verfügbar sein soll, ist die Installation eines Samba-Servers notwendig.

Installiere nun auf der Workstation (nicht auf dem Server) das Paket sshfs:

# apt install sshfs

Auf dem Server, welcher Du nun einbinden möchtest, erstellst Du unter /home/benutzer einen Ordner share. Dasselbe gilt für Deine Workstation:

$ mkdir share

Das war’s bereits. Eingehängt wird der entfernte Server mittels sshfs und dem Zielpfad auf deinem Debiansystem.

$ sshfs benutzer@12.345.678.90:/home/benutzer/share /home/benutzer/share

Dabei gilt:

benutzer = Benutzername auf dem entfernten Server.
benutzer = Benutzername deines aktuellen Systems.
12.345.678.90 = IP-Adresse vom Server.

Hinweis

Das Einhängen vom Server niemals mit root-Rechten ausführen. Es ist ausreichend, einen normalen Benutzer zu erstellen und diesen Benutzer zu verwenden.

# adduser BENUTZER
# adduser share
Lege Benutzer »share« an ...
Lege neue Gruppe »share« (1001) an ...
Lege neuen Benutzer »share« (1001) mit Gruppe »share« an ...
Erstelle Home-Verzeichnis »/home/share« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues Passwort ein: 
Geben Sie das neue Passwort erneut ein: 
passwd: Passwort erfolgreich geändert
Benutzerinformationen für share werden geändert.
Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert
	Vollständiger Name []: Server_share
	Zimmernummer []: 
	Telefon geschäftlich []: 
	Telefon privat []: 
	Sonstiges []: 
Sind die Informationen korrekt? [J/n] J
root@debian:~# 

Midnight Commander (Dateimanager)

Der Midnight Commander gehört zu den «nice to have» Paketen auf einem Debianserver. Installiere ihn mittels:

# apt install mc

Der Midnight Commander erleichtert das Navigieren und Editieren der Dateien enorm. Während hier z.B. links die Ordnerstruktur ersichtlich ist, wird der Dateiinhalt rechts ausgegeben. Für mich zählt der Midnight Commander zu den nützlichsten Server-Tools überhaupt:

eigenes, kleines Netzwerk erstellen

Vorbereitung: ssh-Server

Mit Debian lässt sich ein kleines Netzwerk recht schnell realisieren. Hier wird das Grundprinzip eines einfachen Heimnetzwerk erklärt. Ein in die Jahre gekommener Laptop kann als ssh-Server eingesetzt werden. In meinem Beispiel entschied ich mich für einen HP Pavilion dv6 und dem Betriebssystem Debian GNU/Linux Bullseye.

Auf dem Laptop/Tower setzen wir nun unseren ssh-Server auf. Falls auf dem Laptop bereits ein Debian läuft, kann per

# apt install openssh-server

das nötige Paket nachinstalliert werden. Setzen wir Debian frisch auf, wählen wir bei der Softwareauswahl lediglich
[*] SSH Server
[*] Standard-Systemwerkzeuge

aus. Ein Desktopenvironment ist in diesem Fall nicht nötig. Alle anderen Dienste wie apache2, php und MariaDB lassen sich nachträglich installieren.

Melde Dich beim Server an und überprüfe den Status vom ssh Server. Der ssh-Server ist in diesem Beispiel gestartet und lauscht auf Port 22 (Standard). Selbstverständlich kann der Port noch geändert werden und es fehlen weitere, wichtige Schritte bezüglich Sicherheit. Solange wir uns jedoch im eigenen Netzwerk herumtrollen kann hier nichts passieren. Betreibst du jedoch einen eigenen vServer mit Anschluss ans weltweite Netz, ist der Einsatz eines TLS-Zertifikat wie Let’s encrypt unabdingbar.

# systemctl status ssh
ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-06-19 19:08:18 CEST; 17min ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 411 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 452 (sshd)
      Tasks: 1 (limit: 9267)
     Memory: 5.2M
        CPU: 174ms
     CGroup: /system.slice/ssh.service
             └─452 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Jun 19 19:08:17 debian systemd[1]: Starting OpenBSD Secure Shell server...
Jun 19 19:08:18 debian sshd[452]: Server listening on 0.0.0.0 port 22.
Jun 19 19:08:18 debian sshd[452]: Server listening on :: port 22.
Jun 19 19:08:18 debian systemd[1]: Started OpenBSD Secure Shell server.
Jun 19 19:14:41 debian sshd[614]: Accepted password for lightning from 192.168.0.52 port 58774 ssh2
Jun 19 19:14:41 debian sshd[614]: pam_unix(sshd:session): session opened for user lightning(uid=1000) by (uid=0)

Jetzt benötigen wir die IP-Adresse vom Server:

# ip address
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: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 98:4b:e1:9b:48:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.172/24 brd 192.168.0.255 scope global dynamic enp3s0
       valid_lft 2557sec preferred_lft 2557sec
    inet6 2a02:aa10:4201:8a80:9a4b:e1ff:fe9b:480d/64 scope global dynamic mngtmpaddr 
       valid_lft 936435sec preferred_lft 331635sec
    inet6 fe80::9a4b:e1ff:fe9b:480d/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0b1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether e0:2a:82:ac:08:a8 brd ff:ff:ff:ff:ff:ff

Von der Workstation aus können wir per ssh den Server zugreifen. Der allgemeine Befehl lautet:

$ ssh USERNAME@IPADRESS -p PORTNUMMER

Bei deiner allerersten Anmeldung wird der Fingerabdruck überprüft:

$ ssh lightning@192.168.0.172 -p 22
The authenticity of host '192.168.0.172 (192.168.0.172)' can't be established.
ECDSA key fingerprint is SHA256:VO+yY396S/SxMxo/VQDx55ZVLKpC2idiVSvQKu+6qrE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
$ ssh lightning@192.168.0.172 -p 22
lightning@192.168.0.172's password: 
Linux debian 5.10.0-7-amd64 #1 SMP Debian 5.10.40-1 (2021-05-28) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jun 20 08:27:37 2021
lightning@debian:~$ EINGABE

HINWEIS
Nicht jede Fehlermeldung muss gleich auf einen Angriff hinweisen. Im Beispiel unten hat sich beim Server lediglich der Fingerabdruck geändert und stimmt mit dem gespeicherten Fingerabdruck auf der Workstation nicht überein. Dies ist der Fall, wenn Du deinen ssh-Server z. B. neu aufgesetzt hast und nun versuchst, mit dem alten Fingerabdruck den neuen Server zu erreichen. Entferne den Schlüssel mit:

# ssh-keygen -f "/home/BENUTZERNAME/.ssh/known_hosts" -R "192.168.0.172"

oder lösche die Datei unter:

# rm ~/.ssh/known_hosts
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:VO+yY396S/SxMxo/VQDx55ZVLKpC2idiVSvQKu+6qrE.
Please contact your system administrator.
Add correct host key in /home/yuna/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/yuna/.ssh/known_hosts:5
  remove with:
  ssh-keygen -f "/home/yuna/.ssh/known_hosts" -R "192.168.0.172"
ECDSA host key for 192.168.0.172 has changed and you have requested strict checking.
Host key verification failed.

Netzwerk verbinden (samba)

Skizze eines einfachen Netzwerk. Client-PC und Server werden mit handelsüblichen Netzwerkkabel am Router verbunden.

Client-PC
Hier läuft Windows 11 und es muss nichts weiteres unternommen werden. Prüfe lediglich, ob unter der Systemsteuerung die Netzwerkkennung eingeschaltet ist. PuTTY als SSH und Telnet Client ist optional, jedoch nicht nötig. Alle Einstellungen können auch direkt am Server vorgenommen werden.

Server
Hier läuft Debian GNU/Linux. Bevor samba installiert wird, kläre folgendes ab:

  • IP-Adresse vom Server (id address)
  • Welcher Ordner bzw. Mountpunkt wird geteilt? Hier ist es /pfad/zum/mountpunkt

Installiere das Paket samba:

# apt install samba

und öffne das Konfigurationsfile:

# nano -w /etc/samba/smb.conf

Optional kann die Datei auch gesichert werden. Dazu genügt ein

# cp /etc/samba/smb.conf /etc/samba/samba.original

Editiere nun die smb.conf wie in diesem Beispiel und starte den Samba-Server neu:

# systemctl restart smbd.service

Client-PC (hier Windows 11)
Auf dem Client-PC kann nun ein Netzlaufwerk verbunden werden. Wähle dazu in Windows 11 «Dieser PC»  > weitere Optionen anzeigen > Netzlaufwerk verbinden… und vergib einen Laufwerkbuchstaben und die IP des Servers, gefolgt von \public

Je nach Mountpunkt gibst du nach public noch die exakte Bezeichnung ein. Einhängepunkte findest du bei Debian mittels df -h

# df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
udev            3.9G       0  3.9G    0% /dev
tmpfs           790M    7.4M  783M    1% /run
/dev/sdb2        19G    4.5G   13G   26% /
tmpfs           3.9G       0  3.9G    0% /dev/shm
tmpfs           5.0M    4.0K  5.0M    1% /run/lock
/dev/sdb3       205G    121G   85G   59% /home/yuna/share/VMs
/dev/sdb1       240M    3.4M  236M    2% /boot/efi
/dev/sda1       932G    153G  780G   17% /home/yuna/share/BACKUP
tmpfs           790M     36K  790M    1% /run/user/112
tmpfs           790M     68K  790M    1% /run/user/1000

Partition /dev/sda1 wird in diesem Fall per
\\192.168.0.172\public\BACKUP
eingebunden.

Bei einem # apt upgrade werden auch die Pakete von deinem Sama-Server berücksichtig:

Die Installationsroutine von apt fragt danach, was mit deiner eigenen smb.conf geschehen soll. In der Regel ist es immer eine gute Idee, die lokal installierte Version zu behalten.

Sprache und Zeitzone einstellen

timedatectl gibt dir nähere Angaben zur Zeitzone und der locale:

# timedatectl
               Local time: Sun 2022-10-02 11:09:03 UTC
           Universal time: Sun 2022-10-02 11:09:03 UTC
                 RTC time: Sun 2022-10-02 11:09:03
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Für mein Beispiel stimmen gleich zwei Angaben nicht. Die lokale Zeit und die Zeitzone. Höchste Zeit, dies zu ändern.

locale

# dpkg-reconfigure locales

Generiere danach die locale neu:

# locale-gen
Generating locales (this might take a while)...
  de_CH.UTF-8... done
Generation complete.

Zeitzone

die Zeitzone ändern wir mit:

# dpkg-reconfigure tzdata

Setze einen symbolischen Link mit:

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 33  2. Okt 13:22 /etc/localtime -> /usr/share/zoneinfo/Europe/Zurich

Ab jetzt stimmt Localzeit und Zeitzone:

# timedatectl
               Local time: So 2022-10-02 13:29:30 CEST
           Universal time: So 2022-10-02 11:29:30 UTC
                 RTC time: So 2022-10-02 11:29:31
                Time zone: Europe/Zurich (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Tastaturlayout einstellen (Keyboard)

Falls das falsche Keyboard gewählt wurde, kann dies geändert werden.

# dpkg-reconfigure keyboard-configuration
# service keyboard-setup restart

Archiv erstellen

Mittels tar oder zip lassen sich Archive unter einem Linux-Server erstellen. Angenommen du möchtest den Theme-Ordner deiner WordPress Installation sichern, geht dies mit tar, gz, gzip, bz2, bzip2 oder eben zip. gzip und bzip2 sind sich sehr ähnlich, verwenden aber einen anderen Algorithmus. Ein reines tar-Archiv ist unkomprimiert. Der Theme-Ordner von WordPress findet sich in der Regel unter /var/www/html/wp-content/themes

mittels zip

Der Zip-Befehl kann rekursiv (-r) ausgeführ werden. Dabei werden alle Unterordner mit einbezogen. Vereinfacht lautet der Befehl:
zip -r zieldatei.zip /pfad/zum/Ordner

$ zip -r /var/www/html/wp-content/themes/themes.zip /var/www/html/wp-content/themes/

mittels tar

Anders verhält sich hier tar und erstellt eine unkomprimierte Datei. Die ausgegebene Datei themes.tar kann jetzt noch mit gz komprimiert werden
Auch hier gilt allgemein:
tar cfv zieldatei.zip /pfad/zum/Ordner

$ tar cfv /var/www/html/wp-content/themes/themes.tar /var/www/html/wp-content/themes/
$ gzip themes.tar

so lässt sich schnell und einfach ein Archiv erstellen. Als Ausgabe bekommst Du die Datei themes.tar.gz

Die Archiv-Datei kann mittels proftpd heruntergeladen werden. Alternativ kannst Du sie (falls ein Webserver wie apache2 läuft) nach /var/www/html verschieben und per wget oder im Browser herunterladen:

$ wget example.com/themes.tar.gz

Vergiss am Ende nicht, die Archiv-Datei auf dem Server zu löschen.

netstat

netstat (Netzwerkstatus) ist nicht von Hause aus in Debian enthalten. Versuchst Du den Befehl aufzurufen, kommt es unweigerlich zu einer Fehlermeldung:

# netstat -tulpn | grep LISTEN
-bash: netstat: Kommando nicht gefunden.

erst nach einem

# apt install net-tools

lässt sich dieses Tool auf nutzen. netstat ist ideal geeignet, um Netzwerkproblemen auf den Grund zu gehen.

Beispiel:

Nach der Installation der Firewall ufw streikte plötzlich mein Samba-Server und ich konnte von Windows 11 nicht mehr auf das Netzwerklaufwerk zugreiffen:

Erst der Einsatz von netstat auf dem Samba-Server (Debian 11) brachte Licht ins dunkle:

# netstat -tulpan
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      612/mariadbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1429/smbd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      548/sshd: /usr/sbin
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1429/smbd
tcp        0    288 192.168.0.52:22         192.168.0.150:64988     VERBUNDEN   760/sshd: yuna [pri
tcp        0      1 192.168.0.52:445        192.168.0.150:64990     FIN_WAIT1   -
tcp6       0      0 :::139                  :::*                    LISTEN      1429/smbd
tcp6       0      0 :::80                   :::*                    LISTEN      611/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      548/sshd: /usr/sbin
tcp6       0      0 :::445                  :::*                    LISTEN      1429/smbd
(...)

Da wartet doch jemand auf etwas (FIN_WAIT1). Nach einem:

# ufw allow 445
# ufw reload
# systemctl restart smbd.service

stand die Verbindung zum Samba-Server wieder. Ich hatte einfach vergessen, den Port 445 für den Samba-Server zu öffnen.

# netstat -tulpan
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      612/mariadbd
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      753/smbd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      548/sshd: /usr/sbin
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      753/smbd
tcp        0    288 192.168.0.52:22         192.168.0.150:64988     VERBUNDEN   760/sshd: yuna [pri
tcp        0      0 192.168.0.52:445        192.168.0.150:64990     VERBUNDEN   762/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      753/smbd
tcp6       0      0 :::80                   :::*                    LISTEN      611/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      548/sshd: /usr/sbin
tcp6       0      0 :::445                  :::*                    LISTEN      753/smbd
(...)

Minecraft in Debian spielen

Um Minecraft in Debian spielen zu können, benötigen wir Java. Lade das *.deb-Paket herunter:

Installiere das Paket mit:

# dpkg -i Minecraft.deb
# apt -f install
# dpkg -i Minecraft.deb

apt -f install wird nötig sein, falls Abhängigkeitsprobleme auftauchen und löst dies sehr elegant, indem sämtliche Pakete nachinstalliert werden. In diesem Fall fehlen z. B. folgende Pakete, welche alternativ auch per apt installiert werden können:

# apt install ca-certificates-java default-jre default-jre-headless java-common libatk-wrapper-java libatk-wrapper-java-jni libgif7 openjdk-11-jre openjdk-11-jre-headless

Minecraft starten
Nach erfolgreicher Installation findes Du Minecraft in Deinem Homeverzeichnis

$ cd /home/BENUTZER/.minecraft/launcher
$ minecraft-launcher

Nach der Installation wird der Launcher gestartet und sucht nach Updates: