Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs [2022/11/11 13:04] – [~/.bashrc] klaustachtler:archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs [2024/03/08 16:13] (aktuell) – [/etc/mkinitcpio.conf] klaus
Zeile 1: Zeile 1:
 ====== ArchLinux - Minimal Server Installation - UEFI-Boot, Grub2, LVM, Btrfs mit snapper und xfs ====== ====== ArchLinux - Minimal Server Installation - UEFI-Boot, Grub2, LVM, Btrfs mit snapper und xfs ======
  
-|   Mein besonderer Dank gilt hier an dieser Stelle [[http://unicks.eu|Nicolai Mladenoff (unicks.eu)]], welcher mich durch seine Videos auf seinem [[https://www.youtube.com|Youtube]]™-Kanal[[https://www.youtube.com/channel/UCnZIn_CYjz0ErPs1ktH-2lQ|unicks.eu]] erst auf die Idee gebracht hat, unter [[https://www.archlinux.de/|ArchLinux]] das Dateisystem [[https://btrfs.wiki.kernel.org|Btrfs]] einzusetzen und mir auch wertvolle Verbesserungen zu meinen bisherigen [[https://www.dokuwiki.org|DokuWiki]]-Einträgen gegeben hat. **Vielen Dank noch mal an dieser Stelle!**   |+|   Mein besonderer Dank gilt hier an dieser Stelle [[https://unicks.eu|Nicolai Mladenoff (unicks.eu)]], welcher mich durch seine Videos auf seinem [[https://www.youtube.com|Youtube]]™-Kanal bzw. heute [[http://odysee.com/|Odysee]]™-Kanal [[https://unicks.eu|unicks.eu]] erst auf die Idee gebracht hat, unter [[https://www.archlinux.de/|ArchLinux]] das Dateisystem [[https://btrfs.wiki.kernel.org|Btrfs]] einzusetzen und mir auch wertvolle Verbesserungen zu meinen bisherigen [[https://www.dokuwiki.org|DokuWiki]]-Einträgen gegeben hat. **Vielen Dank noch mal an dieser Stelle!**   |
      
 [[tachtler:ArchLinux|{{:tachtler:index:archlinux-48x48.png }}]] [[tachtler:ArchLinux|{{:tachtler:index:archlinux-48x48.png }}]]
Zeile 1104: Zeile 1104:
 ==== btrfs: /mnt/@snapshots ==== ==== btrfs: /mnt/@snapshots ====
  
-Um die **btrfs: Partitionen, Subvolumes und Mount-Points** **mount**en zu können, ist es erforderlich das entsprechende **Subvolume** zu erstellen, das **mount**en **__wird zu einem späteren Zeitpunkt erfolgen__**, was mit nachfolgendem Befehl durchgeführt werden kann:+Um die **btrfs: Partitionen, Subvolumes und Mount-Points** **mount**en zu können, ist es erforderlich das entsprechende **Subvolume** zu erstellen, das **mount**en **__wird zu einem späteren Zeitpunkt erfolgen__**, siehe auch den nachfolgenden internen Link: 
 +  * [[tachtler:archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs_-_snapper#snapperroot|ArchLinux - Minimal Server Installation - UEFI-Boot, Grub2, LVM, Btrfs mit snapper und xfs - snapper - snapperroot]]
  
 :!: **ACHTUNG** - **Es wird __kein__ Mount-Point erstellt und es erfolgt auch kein mount (einhängen) !** :!: **ACHTUNG** - **Es wird __kein__ Mount-Point erstellt und es erfolgt auch kein mount (einhängen) !**
Zeile 2174: Zeile 2175:
  
 Zuerst sollte die Konfigurationsdatei ''/etc/resolv.conf'' durch nachfolgenden Befehl überprüft werden, ob diese nicht bereits ausreichend konfiguriert ist: Zuerst sollte die Konfigurationsdatei ''/etc/resolv.conf'' durch nachfolgenden Befehl überprüft werden, ob diese nicht bereits ausreichend konfiguriert ist:
-<code>+<code ini>
 [root@archiso /]# cat /etc/resolv.conf [root@archiso /]# cat /etc/resolv.conf
 # This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8). # This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
Zeile 2241: Zeile 2242:
 BINARIES=() BINARIES=()
 FILES=() FILES=()
-HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)+HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)
 </code> </code>
  
Zeile 2250: Zeile 2251:
 BINARIES=(/usr/bin/fsck /usr/bin/fsck.vfat /usr/bin/fsck.xfs /usr/bin/fsck.btrfs /usr/bin/dosfsck /usr/bin/xfs_repair /usr/bin/btrfsck /usr/bin/btrfs) BINARIES=(/usr/bin/fsck /usr/bin/fsck.vfat /usr/bin/fsck.xfs /usr/bin/fsck.btrfs /usr/bin/dosfsck /usr/bin/xfs_repair /usr/bin/btrfsck /usr/bin/btrfs)
 FILES=() FILES=()
-HOOKS=(base udev autodetect modconf block lvm2 btrfs filesystems keymap keyboard fsck)+HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont lvm2 btrfs block filesystems fsck)
 </code> </code>
  
Zeile 2263: Zeile 2264:
 Wenn es nach einem Neustart Probleme beim Neustart geben sollte, würden damit die ''TOOLS zur Verwaltung  der DATEISYSTEME'' zur Verfügung stehen. Wenn es nach einem Neustart Probleme beim Neustart geben sollte, würden damit die ''TOOLS zur Verwaltung  der DATEISYSTEME'' zur Verfügung stehen.
  
-  * <code>HOOKS=(base udev autodetect modconf block btrfs filesystems keymap keyboard)</code>+  * <code>HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block lvm2 btrfs filesystems fsck)</code>
  
 Nachfolgend wurde die **HOOK**s Nachfolgend wurde die **HOOK**s
Zeile 2417: Zeile 2418:
  
 __**Vorher**__: __**Vorher**__:
-<code bash>+<code ini>
 [root@archiso /]# grep -E -v '(^#|^$)' /etc/default/grub [root@archiso /]# grep -E -v '(^#|^$)' /etc/default/grub
 GRUB_DEFAULT=0 GRUB_DEFAULT=0
Zeile 2433: Zeile 2434:
  
 __**Nachher**__ __**Nachher**__
-<code bash>+<code ini>
 [root@archiso /]# grep -E -v '(^#|^$)' /etc/default/grub [root@archiso /]# grep -E -v '(^#|^$)' /etc/default/grub
 GRUB_DEFAULT=0 GRUB_DEFAULT=0
Zeile 2450: Zeile 2451:
 **__Erklärung:__** **__Erklärung:__**
  
-  * <code bash>GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"</code>+  * <code ini>GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"</code>
  
 Damit Meldungen des ''systemd''-Dienstes/Daemon zu sehen sind, muss der Parameter ''quit'' entfernt werden **__und__** der Parameter ''net.ifnames=0'' hinzugefügt werden. Der Paramater ''net.ifnames=0'' sorgt dafür, das als Bezeichner bei Netzwerkkarten wieder die Notation ''ethX'' (Das ''X'' steht für eine Zahl) verwendet wird! Damit Meldungen des ''systemd''-Dienstes/Daemon zu sehen sind, muss der Parameter ''quit'' entfernt werden **__und__** der Parameter ''net.ifnames=0'' hinzugefügt werden. Der Paramater ''net.ifnames=0'' sorgt dafür, das als Bezeichner bei Netzwerkkarten wieder die Notation ''ethX'' (Das ''X'' steht für eine Zahl) verwendet wird!
  
-  * <code bash>GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"</code>+  * <code ini>GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"</code>
  
 Zusätzliches laden des Moduls ''lvm'', damit bei einem Problem beim Starten auch bei den Partitionen mit LVM eine Fehlersuche durchgeführt werden kann. Zusätzliches laden des Moduls ''lvm'', damit bei einem Problem beim Starten auch bei den Partitionen mit LVM eine Fehlersuche durchgeführt werden kann.
  
-  * <code bash>GRUB_GFXMODE=1024x768</code>+  * <code ini>GRUB_GFXMODE=1024x768</code>
  
 Bildschirmauflösung des GRUB Startbildschirms festlegen. Bildschirmauflösung des GRUB Startbildschirms festlegen.
Zeile 2820: Zeile 2821:
  
 Jetzt kann eine erste Verbindung als Benutzer **''root''** via **SSH**-Login auf den Server hergestellt werden. Nachfolgender Befehl soll dazu **auf einer __lokalen Workstation__, __nicht__ auf dem Server** verwendet werden: Jetzt kann eine erste Verbindung als Benutzer **''root''** via **SSH**-Login auf den Server hergestellt werden. Nachfolgender Befehl soll dazu **auf einer __lokalen Workstation__, __nicht__ auf dem Server** verwendet werden:
-<code> +<code ini
-[klaus@workstation ~]$ ssh root@192.168.122.22 +[klaus@workstation ~]$ ssh -t -2 -p 22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.122.22
-The authenticity of host '192.168.122.22 (192.168.122.22)' can't be established. +
-ED25519 key fingerprint is SHA256:Nk3IFpSI3UrwInjw3f5jBzknD1t2/dQLhIwW9KtqVyI. +
-This key is not known by any other names. +
-Are you sure you want to continue connecting (yes/no/[fingerprint])? yes+
 Warning: Permanently added '192.168.122.22' (ED25519) to the list of known hosts. Warning: Permanently added '192.168.122.22' (ED25519) to the list of known hosts.
 root@192.168.122.22's password:  root@192.168.122.22's password: 
-X11 forwarding request failed on channel 0 +Last login: Sat Nov 12 07:17:49 2022
-Last login: Fri Nov 11 08:44:26 2022+
 </code> </code>
  
Zeile 2842: Zeile 2838:
  
 Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden: Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
-<code bash>+<code ini>
 [root@vmtest ~]# cat ~/.bash_logout  [root@vmtest ~]# cat ~/.bash_logout 
 # #
Zeile 2855: Zeile 2851:
 **falls nicht schon vorhanden**, wie folgt aus einem "Skeleton" **zu kopieren**: **falls nicht schon vorhanden**, wie folgt aus einem "Skeleton" **zu kopieren**:
 <code> <code>
-[root@archlinux ~]# cp -a /etc/skel/.bash_profile ~/.bash_profile+[root@vmtest ~]# cp -a /etc/skel/.bash_profile ~/.bash_profile
 </code> </code>
  
 Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden: Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
-<code bash>+<code ini>
 [root@vmtest ~]# cat ~/.bash_profile [root@vmtest ~]# cat ~/.bash_profile
 # #
Zeile 2882: Zeile 2878:
  
 Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden: Der Inhalt der Konfigurationsdatei sollte in etwa wie folgt aussehen und kann mit nachfolgendem Befehl zur Anzeige gebracht werden:
-<code bash>+<code ini>
 [root@vmtest ~]# cat ~/.bashrc [root@vmtest ~]# cat ~/.bashrc
 # #
Zeile 2899: Zeile 2895:
  
 Der Inhalt, könnte dann wie folgt aussehen: Der Inhalt, könnte dann wie folgt aussehen:
-<code bash+<code ini
-[root@archlinux ~]# vim ~/.bashrc+[root@vmtest ~]# vim ~/.bashrc
 # #
 # ~/.bashrc # ~/.bashrc
Zeile 2935: Zeile 2931:
  
  
 +==== ~/.vimrc ====
 +
 +Wer z.B. Nutzer von [[https://www.centos.org/|CentOS]] ist, hat evtl. die Möglichkeit mit der Computer-Mouse/Maus **''Texte markieren zu können, ohne in den --VISIBLE-- Modus zu wechseln''** und ein paar **andere Einstellungen** lieb gewonnen.
 +
 +Um auf diese und weitere "Annehmlichkeit" auch unter [[https://www.archlinux.de/|ArchLinux]] nicht verzichten zu müssen, kann in nachfolgendem Verzeichnis die **vorhandene Konfigurationsdatei** mit nachfolgendem Namen **__neu__ angelegt** oder **ergänzt** werden:
 +  * ''~/.vimrc''
 +
 +Der Inhalt, welcher hier an z.B. [[https://www.centos.org/|CentOS]] angelehnt ist, könnte dann wie folgt aussehen:
 +<code>
 +[root@vmtest ~]# vim ~/.vimrc
 +</code>
 +
 +<code ini>
 +[root@vmtest ~]# vim ~/.vimrc
 +" ##############################################################################
 +" Einrueckungs-Optionen
 +" ##############################################################################
 +" Neue Zeilen übernehmen die Einrueckung der vorherigen Zeilen.
 +set autoindent
 +" Tabulatoren in Leerzeichen umwandeln.
 +set expandtab
 +" Beim Verschieben von Zeilen wird die Einrueckung auf das naechste Vielfache
 +" von shiftwidth gerundet.
 +set shiftround
 +" Beim Verschieben wird mit Leerzeichen eingerueckt.
 +set shiftwidth=8
 +" Beim Druecken der Tabulatortaste die Anzahl der Leerzeichen tabstop einfuegen.
 +set smarttab
 +" Einruecken mit Leerzeichen.
 +set tabstop=8
 +
 +" ##############################################################################
 +" Such-Optionen
 +" ##############################################################################
 +" Suchhervorhebung einschalten.
 +set hlsearch
 +" Gross- und Kleinschreibung bei der Suche ignorieren.
 +set ignorecase
 +" Inkrementelle Suche, die Teiltreffer anzeigt.
 +set incsearch
 +" Automatische Umstellung der Suche auf Gross- und Kleinschreibung, wenn die
 + Suchanfrage einen Großbuchstaben enthaelt.
 +set smartcase
 +
 +" ##############################################################################
 +" Leistungs-Optionen
 +" ##############################################################################
 +" Begrenzt die Dateien, die nach automatischen Vervollstaendigungen durchsucht
 + werden. 
 +set complete-=i
 +" Den Bildschirm waehrend der Ausführung von Makros und Skripten nicht
 +" aktualisieren.
 +set lazyredraw
 +
 +" ##############################################################################
 +" Optionen für die Textanzeige
 +" ##############################################################################
 +" Es wird immer versucht, die letzte Zeile eines Absatzes anzuzeigen.
 +set display+=lastline
 +" Verwendet eine Kodierung, die Unicode unterstuetzt.
 +set encoding=utf-8
 +" Vermeidet einen Zeilenumbruch in der Mitte eines Wortes.
 +set linebreak
 +" Die Anzahl der Bildschirmzeilen, die ueber/unter dem Cursor bleiben sollen.
 +set scrolloff=1
 +" Die Anzahl der Bildschirmspalten, die links/rechts vom Cursor beibehalten
 +" werden sollen.
 +set sidescrolloff=5
 +" Aktiviert die Syntaxhervorhebung.
 +syntax enable
 +" Zeilenumbruch einschalten.
 +set wrap
 +
 +" ##############################################################################
 +" Optionen der Benutzeroberfläche
 +" ##############################################################################
 +" Zeigt immer die Statusleiste an.
 +set laststatus=2
 +" Zeigt immer die Cursorposition an.
 +set ruler
 +" Zeigt die Optionen der Befehlszeile für die Registerkarten als Menue an.
 +set wildmenu
 +" Maximale Anzahl von Registerkarten, die über die Kommandozeile geoeffnet
 +" werden koennen.
 +set tabpagemax=50
 +" Markiert die Zeile, die sich gerade unter dem Cursor befindet.
 +set cursorline
 +" Markiert die Spalte, die sich gerade unter dem Cursor befindet.
 +"set cursorcolumn
 +" Zeigt Zeilennummern in der Seitenleiste an.
 +set number
 +" Zeigt die Zeilennummer in der aktuellen Zeile und die relativen Nummern in
 +" allen anderen Zeilen an.
 +"set relativenumber
 +" Signalton bei Fehlern abschalten.
 +set noerrorbells
 +" Blinken des Bildschirms anstelle des Signaltons bei Fehlern.
 +" set visualbell
 +" Aktiviere die Maus zum Scrollen und Aendern der Groeße.
 +set mouse-=a
 +" Legt den Titel des Fensters fest, der die aktuell bearbeitete Datei 
 +" widerspiegelt.
 +set title
 +" Verwenden Sie Farben, die zu einem hellen Hintergrund passen.
 +set background=light
 +
 +" ##############################################################################
 +" Optionen zur Code-Formatierung
 +" ##############################################################################
 +" Formatieren auf der Grundlage von Einrueckungsebenen.
 +set foldmethod=indent
 +" Nur bis zu drei verschachtelte Ebenen Formatieren.
 +set foldnestmax=3
 +" Deaktiviert die Formatierung standardmaeßig.
 +set nofoldenable
 +
 +" ##############################################################################
 +" Sonstige Optionen
 +" ##############################################################################
 +" Liest Dateien automatisch neu ein, wenn sie in Vim nicht veraendert wurden.
 +set autoread
 +" Erlaubt Rueckschritt über Einrueckung, Zeilenumbruch und Einfuegebeginn.
 +set backspace=indent,eol,start
 +" Verzeichnis zum Speichern von Sicherungsdateien.
 +set backupdir=~/.cache/vim
 +" Zeigt einen Bestaetigungsdialog an, wenn eine ungesicherte Datei geschlossen
 +" wird.
 +set confirm
 +" Verzeichnis zum Speichern von Auslagerungsdateien.
 +set dir=~/.cache/vim
 +" Erhoeht das Undo-Limit.
 +set history=1000
 +</code>
 +
 +:!: **HINWEIS** - **Die einzelnen __Erklärungen__ sind jeweils bei den Änderungen in der Konfigurationstatei beschrieben.**
 +
 +===== Problembehandlung =====
 +
 +==== IPv6 DAD - tentative ====
 +
 +Falls nach Inbetriebnahme von **IPv6**-Adressen, diese nach einem Neustart z.B. nicht an den **SSH**-Daemon/Dienst gebunden werden können, kann dies an der **DAD** (Duplicate Address Detection) liegen.
 +
 +Bei aktivieren von IPv6-Adressen wird überprüft, ob diese Adressen bereits im Netzwerk gefunden werden können und somit nicht eindeutig sind, was dann eine Deaktivierung zur folge hätte. Solange diese Prüfung nicht abgeschlossen ist, befinden sich die ipv6-Adressen in einem Zustand der als **"tentative" (vorläufig, provisorisch)** ist.
 +
 +Solange die IPv6 Adressen sich im Zustand **"tentative" (vorläufig, provisorisch)** befinden, kann sich kein Dienst an diese ipv6 Adressen binden.
 +
 +:!: **ACHTUNG** - Die **Lösung** des Problems __kann__ darin liegen, die Prüfung **DAD** (Duplicate Address Detection) zu deaktivieren.
 +
 +Dazu soll nachfolgende Konfigurationsdatei in nachfolgendem Verzeichnis mit nachfolgendem  Namen neu erstellt werden:
 +  * ''/etc/sysctl.d/40-ipv6dad.conf''
 +Der Inhalt dieser Datei kann wie folgt aussehen und **__deaktiviert__** für jedes **Netzwerk-Interface** die **DAD** (Duplicate Address Detection):
 +<code>
 +[root@vmtest ~]# vim /etc/sysctl.d/40-ipv6dad.conf
 +</code> 
 +
 +<code ini>
 +[root@vmtest ~]# vim /etc/sysctl.d/40-ipv6dad.conf
 +net.ipv6.conf.eth0.accept_dad = 0
 +</code> 
 +
 +===== Weiterführende Links =====
 +
 +==== snapper ====
  
-FIXME - **Hier geht es weiter... To be continued...**+Nachfolgender interner Link führt zur Installation und Konfiguration von [[http://snapper.io/|snapper]] 
 +  [[tachtler:archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs_-_snapper|ArchLinux - Minimal Server Installation - UEFI-Boot, Grub2, LVM, Btrfs mit snapper und xfs - snapper]]
  
tachtler/archlinux_-_minimal_server_installation_-_uefi-boot_grub2_lvm_mit_btrfs_mit_snapper_und_xfs.1668168242.txt.gz · Zuletzt geändert: 2022/11/11 13:04 von klaus