Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:ubuntu-_minimal_server_installation_-_snapper_-_grub-btrfs

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:ubuntu-_minimal_server_installation_-_snapper_-_grub-btrfs [2022/03/14 06:12] klaustachtler:ubuntu-_minimal_server_installation_-_snapper_-_grub-btrfs [2022/03/14 07:02] (aktuell) – [Neustart] klaus
Zeile 114: Zeile 114:
 ... ...
 ... ...
-root@ubuntu:~# 
-</code> 
- 
-===== Installation: grub-btrfs ===== 
- 
-Zum hinzufügen von **Snapshots zum GRUB-Bootemenü** ist die Nutzung des Pakets [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] erforderlich. 
- 
-Mit nachfolgendem Befehlen,  
-  * können die Voraussetzungen für eine Installation von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] erfüllt werden und 
-  * kann [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] kompiliert und installiert werden: 
- 
-**Voraussetzungen zur Installation von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] installieren:** 
-<code> 
-root@ubuntu:~# apt install build-essential git vim 
-Reading package lists... Done 
-Building dependency tree        
-Reading state information... Done 
-git is already the newest version (1:2.25.1-1ubuntu3.2). 
-git set to manually installed. 
-vim is already the newest version (2:8.1.2269-1ubuntu5.7). 
-vim set to manually installed. 
-The following additional packages will be installed: 
-  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-9 dpkg-dev fakeroot g++ g++-9 gcc gcc-9 gcc-9-base 
-  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5 libatomic1 libbinutils 
-  libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libfakeroot libfile-fcntllock-perl 
-  libgcc-9-dev libgomp1 libisl22 libitm1 liblsan0 libmpc3 libquadmath0 libstdc++-9-dev libtsan0 libubsan1 
-  linux-libc-dev make manpages-dev 
-Suggested packages: 
-  binutils-doc cpp-doc gcc-9-locales debian-keyring g++-multilib g++-9-multilib gcc-9-doc gcc-multilib autoconf 
-  automake libtool flex bison gdb gcc-doc gcc-9-multilib glibc-doc bzr libstdc++-9-doc make-doc 
-The following NEW packages will be installed: 
-  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-9 dpkg-dev fakeroot g++ g++-9 gcc gcc-9 
-  gcc-9-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5 libatomic1 
-  libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libfakeroot 
-  libfile-fcntllock-perl libgcc-9-dev libgomp1 libisl22 libitm1 liblsan0 libmpc3 libquadmath0 libstdc++-9-dev 
-  libtsan0 libubsan1 linux-libc-dev make manpages-dev 
-0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 
-Need to get 45.4 MB of archives. 
-After this operation, 202 MB of additional disk space will be used. 
-Do you want to continue? [Y/n] Y 
-... 
-... 
-... 
-root@ubuntu:~# 
-</code> 
- 
-**Code von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] klonen:** 
-<code> 
-root@ubuntu:~# git clone https://github.com/Antynea/grub-btrfs.git 
-Cloning into 'grub-btrfs'... 
-remote: Enumerating objects: 844, done. 
-remote: Counting objects: 100% (151/151), done. 
-remote: Compressing objects: 100% (125/125), done. 
-remote: Total 844 (delta 95), reused 42 (delta 26), pack-reused 693 
-Receiving objects: 100% (844/844), 257.99 KiB | 4.45 MiB/s, done. 
-Resolving deltas: 100% (494/494), done. 
-root@ubuntu:~# 
-</code> 
- 
-**In das geklonte Verzeichnis wechseln:** 
-<code> 
-root@ubuntu:~# cd grub-btrfs 
-</code> 
- 
-**Kompilieren und Installieren:** 
-<code> 
-root@ubuntu:~/grub-btrfs# make -d install 
-GNU Make 4.2.1 
-Built for x86_64-pc-linux-gnu 
-Copyright (C) 1988-2016 Free Software Foundation, Inc. 
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
-This is free software: you are free to change and redistribute it. 
-There is NO WARRANTY, to the extent permitted by law. 
-Reading makefiles... 
-Reading makefile 'Makefile'... 
-Updating makefiles.... 
-... 
-... 
-... 
-Successfully remade target file 'install'. 
-root@ubuntu:~/grub-btrfs# 
-</code> 
- 
-**Verlassen des geklonte Verzeichnisses:** 
-<code> 
-root@ubuntu:~/grub-btrfs# cd 
 root@ubuntu:~# root@ubuntu:~#
 </code> </code>
Zeile 574: Zeile 488:
 Um den in der Konfigurationsdatei ''/etc/fstab'' neu hinzugefügten Eintrag per Hand zu aktivieren, was sonst ja mit dem Starten des Betriebssystems erfolgen wird, kann nachfolgender Befehl verwendet werden: Um den in der Konfigurationsdatei ''/etc/fstab'' neu hinzugefügten Eintrag per Hand zu aktivieren, was sonst ja mit dem Starten des Betriebssystems erfolgen wird, kann nachfolgender Befehl verwendet werden:
 <code> <code>
-[root@archlinux ~]# mount /.snapshots+root@ubuntu:~# mount /.snapshots
 </code> </code>
  
Zeile 713: Zeile 627:
  
 Verhindert, das **__jede Stunde__** automatisch ein **Snapshot** erstellt wird. Verhindert, das **__jede Stunde__** automatisch ein **Snapshot** erstellt wird.
 +
 +==== /usr/lib/systemd/system/snapper-cleanup.timer ====
 +
 +Damit jedoch **stündlich** durch den **systemd - timer** ältere, anhand der Anzahl der vorhandenen **Snapshots** automatishc auch gelöscht werden können, muss mit nachfolgendem Befehl der mit der Installation mit gekommene Timer
 +  * ''/usr/lib/systemd/system/snapper-cleanup.timer''
 +aktiviert werden (Falls dies nicht bereits bei der Installation von ''snapper'' geschehen ist):
 +<code>
 +root@ubuntu:~# systemctl enable --now snapper-cleanup.timer
 +Created symlink /etc/systemd/system/timers.target.wants/snapper-cleanup.timer → /usr/lib/systemd/system/snapper-cleanup.timer.
 +</code>
 +* //Die Angabe des Parameters ''--now'' bewirkt die __sofortige Ausführung!__//
 +
 +Ob dies korrekt funktioniert hat, kann mit nachfolgendem Befehl überprüft werden:
 +<code>
 +root@ubuntu:~# systemctl list-timers
 +NEXT                        LEFT          LAST                        PASSED       UNIT                         ACTIV>
 +Mon 2022-03-14 05:54:32 UTC 39min left    n/a                         n/         ua-timer.timer               ua-ti>
 +Mon 2022-03-14 06:00:00 UTC 44min left    n/a                         n/         snapper-timeline.timer       snapp>
 +Mon 2022-03-14 06:09:56 UTC 54min left    Mon 2022-03-14 03:57:25 UTC 1h 17min ago apt-daily-upgrade.timer      apt-d>
 +Mon 2022-03-14 10:25:20 UTC 5h 10min left Mon 2022-03-14 03:57:25 UTC 1h 17min ago fwupd-refresh.timer          fwupd>
 +Mon 2022-03-14 14:30:15 UTC 9h left       Mon 2022-03-14 04:17:13 UTC 57min ago    motd-news.timer              motd->
 +Mon 2022-03-14 16:16:26 UTC 11h left      Mon 2022-03-14 03:57:25 UTC 1h 17min ago apt-daily.timer              apt-d>
 +Tue 2022-03-15 00:00:00 UTC 18h left      Mon 2022-03-14 03:57:25 UTC 1h 17min ago logrotate.timer              logro>
 +Tue 2022-03-15 00:00:00 UTC 18h left      Mon 2022-03-14 03:57:25 UTC 1h 17min ago man-db.timer                 man-d>
 +Tue 2022-03-15 05:09:55 UTC 23h left      Mon 2022-03-14 05:09:55 UTC 5min ago     snapper-cleanup.timer        snapp>
 +Tue 2022-03-15 05:14:55 UTC 23h left      Mon 2022-03-14 05:14:55 UTC 14s ago      systemd-tmpfiles-clean.timer syste>
 +Sun 2022-03-20 03:10:39 UTC 5 days left   Mon 2022-03-14 03:57:25 UTC 1h 17min ago e2scrub_all.timer            e2scr>
 +Mon 2022-03-21 00:00:00 UTC 6 days left   Mon 2022-03-14 03:57:25 UTC 1h 17min ago fstrim.timer                 fstri>
 +n/a                         n/          Mon 2022-03-14 05:03:21 UTC 11min ago    snapper-boot.timer           snapp>
 +
 +13 timers listed.
 +Pass --all to see loaded but inactive timers, too.
 +root@ubuntu:~#
 +</code>
 +
 +===== Installation: grub-btrfs =====
 +
 +Damit aus dem mit [[http://snapper.io|snapper]] erstellten **Snapshots** auch **__automatisch__** - **Boot-Menü-Einträge** für [[https://www.gnu.org/software/grub/|GRUB]] erstellt werden, ist die Installation des Programms
 +  * [[https://github.com/Antynea/grub-btrfs|grub-btrfs]]
 +erforderlich.
 +
 +Mit nachfolgendem Befehlen, 
 +  * können die Voraussetzungen für eine Installation von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] erfüllt werden und
 +  * kann [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] kompiliert und installiert werden:
 +
 +**Voraussetzungen zur Installation von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] installieren:**
 +<code>
 +root@ubuntu:~# apt install build-essential git vim
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +git is already the newest version (1:2.25.1-1ubuntu3.2).
 +git set to manually installed.
 +vim is already the newest version (2:8.1.2269-1ubuntu5.7).
 +vim set to manually installed.
 +The following additional packages will be installed:
 +  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-9 dpkg-dev fakeroot g++ g++-9 gcc gcc-9 gcc-9-base
 +  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5 libatomic1 libbinutils
 +  libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libfakeroot libfile-fcntllock-perl
 +  libgcc-9-dev libgomp1 libisl22 libitm1 liblsan0 libmpc3 libquadmath0 libstdc++-9-dev libtsan0 libubsan1
 +  linux-libc-dev make manpages-dev
 +Suggested packages:
 +  binutils-doc cpp-doc gcc-9-locales debian-keyring g++-multilib g++-9-multilib gcc-9-doc gcc-multilib autoconf
 +  automake libtool flex bison gdb gcc-doc gcc-9-multilib glibc-doc bzr libstdc++-9-doc make-doc
 +The following NEW packages will be installed:
 +  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-9 dpkg-dev fakeroot g++ g++-9 gcc gcc-9
 +  gcc-9-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan5 libatomic1
 +  libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libfakeroot
 +  libfile-fcntllock-perl libgcc-9-dev libgomp1 libisl22 libitm1 liblsan0 libmpc3 libquadmath0 libstdc++-9-dev
 +  libtsan0 libubsan1 linux-libc-dev make manpages-dev
 +0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded.
 +Need to get 45.4 MB of archives.
 +After this operation, 202 MB of additional disk space will be used.
 +Do you want to continue? [Y/n] Y
 +...
 +...
 +...
 +root@ubuntu:~#
 +</code>
 +
 +**Code von [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] klonen:**
 +<code>
 +root@ubuntu:~# git clone https://github.com/Antynea/grub-btrfs.git
 +Cloning into 'grub-btrfs'...
 +remote: Enumerating objects: 844, done.
 +remote: Counting objects: 100% (151/151), done.
 +remote: Compressing objects: 100% (125/125), done.
 +remote: Total 844 (delta 95), reused 42 (delta 26), pack-reused 693
 +Receiving objects: 100% (844/844), 257.99 KiB | 4.45 MiB/s, done.
 +Resolving deltas: 100% (494/494), done.
 +root@ubuntu:~#
 +</code>
 +
 +**In das geklonte Verzeichnis wechseln:**
 +<code>
 +root@ubuntu:~# cd grub-btrfs
 +</code>
 +
 +**Kompilieren und Installieren:**
 +<code>
 +root@ubuntu:~/grub-btrfs# make -d install
 +GNU Make 4.2.1
 +Built for x86_64-pc-linux-gnu
 +Copyright (C) 1988-2016 Free Software Foundation, Inc.
 +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 +This is free software: you are free to change and redistribute it.
 +There is NO WARRANTY, to the extent permitted by law.
 +Reading makefiles...
 +Reading makefile 'Makefile'...
 +Updating makefiles....
 +...
 +...
 +...
 +Successfully remade target file 'install'.
 +root@ubuntu:~/grub-btrfs#
 +</code>
 +
 +**Verlassen des geklonte Verzeichnisses:**
 +<code>
 +root@ubuntu:~/grub-btrfs# cd
 +root@ubuntu:~#
 +</code>
 +
 +Die Konfiguration für das Programm [[https://github.com/Antynea/grub-btrfs|grub-btrfs]] ist in nachfolgendem Verzeichnis mit nachfolgendem Namen zu finden:
 +  * ''/etc/grub.d/41_snapshots-btrfs''
 +
 +:!: **HINWEIS** - **Anpassungen müssen hier __keine__ erfolgen!**
 +
 +===== Konfiguration: grub-btrfs.path.service =====
 +
 +Nachfolgender **''systemd''-Dienst** überwacht das **standardmässig** Verzeichnis
 +  * ''/.snapshots''
 +auf Änderungen und erstellt daraufhin die Konfigurationsdaten für den **"Bootloader"** - **GRUB** neu.
 +
 +:!: **HINWEIS** - **Falls ein anderes Verzeichnis als ''/.snapshots'' überwacht werden soll, ist dies in einer neu zu erstellenden Konfigurationsdatei in nachfolgenden Verzeichnis mit ebenfalls nachfolgendem Namen zu erstellen:**
 +  * ''/etc/systemd/system/grub-btrfs.path.d/override.conf''
 +
 +:!: **HINWEIS** - Eine Vorlage für den Inhalt, hält die Konfigurationsdatei ''/usr/lib/systemd/system/grub-btrfs.path'' bereit.
 +
 +:!: **ACHTUNG** - **Hier ist aktuelle keine Anpassung an der Konfigurationsdatei '''' durchzuführen! **
 +
 +==== grub-btrfs.path.service-Dienst/Deamon einrichten ====
 +
 +Um den **grub-btrfs.path.service**-Dienst/Deamon als Hintergrundprozesse auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienste/Daemons mit dem Server mit gestartet werden, was mit nachfolgenden Befehlen realisiert werden kann:
 +<code>
 +root@ubuntu:~# systemctl enable grub-btrfs.path
 +Created symlink /etc/systemd/system/\x2esnapshots.mount.wants/grub-btrfs.path → /lib/systemd/system/grub-btrfs.path.
 +</code>
 +
 +Eine Überprüfung, ob beim Neustart des Server der ''grub-btrfs.path''-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
 +<code>
 +root@ubuntu:~# systemctl list-unit-files --type=service | grep grub-btrfs
 +grub-btrfs.service                         static          enabled
 +</code>
 +bzw.
 +<code>
 +root@ubuntu:~# systemctl is-enabled grub-btrfs
 +static
 +</code>
 +
 +Abschließend kann der **grub-btrfs**-Dienst/Daemon - ''grub-btrfs.path'' mit nachfolgendem Befehl gestartet werden:
 +<code>
 +root@ubuntu:~# systemctl start --now grub-btrfs.path
 +</code>
 +
 +Eine Überprüfung ob der **grub-btrfs.path.service**-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:
 +<code>
 +root@ubuntu:~# systemctl status grub-btrfs.path
 +● grub-btrfs.path - Monitors for new snapshots
 +     Loaded: loaded (/lib/systemd/system/grub-btrfs.path; enabled; vendor preset: enabled)
 +     Active: active (waiting) since Mon 2022-03-14 05:21:26 UTC; 8s ago
 +   Triggers: ● grub-btrfs.service
 +
 +Mar 14 05:21:26 ubuntu systemd[1]: Started Monitors for new snapshots.
 +</code>
 +
 +==== grub-btrfs-update.service-Dienst/Deamon einrichten ====
 +
 +Damit nach jeder Erstellung eines updates und Neustarts auch im **GRUB-Bootmenü** die jeweils letzten Einträge von erstellten **Snapshots** zur Verfügung stehen, kann nachfolgendes ''systemd''-Skript zum Einsatz kommen:
 +
 +* //Quelle: [[https://github.com/Antynea/grub-btrfs/issues/138#issuecomment-766918328|GitHub -  grub-btrfs.path is started but does not generate grub-btrfs.cfg #138]]//
 +
 +Zu Erstellung eines neuen ''systemd''-Skript, kann nachfolgender Befehl verwendet werden:
 +<code>
 +root@ubuntu:~# vim /etc/systemd/system/grub-btrfs-update.service
 +</code>
 +und mit nachfolgendem Inhalt erstellt werden:
 +<code ini>
 +[Unit]
 +Description=Update grub-btrfs.cfg before reboot/shutdown
 +Before=poweroff.target
 +
 +[Service]
 +Type=oneshot
 +# Set the possible paths for `grub-mkconfig`
 +Environment="PATH=/sbin:/bin:/usr/sbin:/usr/bin"
 +# Load environment variables from the configuration
 +EnvironmentFile=/etc/default/grub-btrfs/config
 +RemainAfterExit=true
 +ExecStart=/bin/true
 +# Regenerate just '/boot/grub/grub-btrfs.cfg' if it exists and is not empty, else regenerate the whole grub menu
 +ExecStop=bash -c 'if [ -s "${GRUB_BTRFS_GRUB_DIRNAME:-/boot/grub}/grub-btrfs.cfg" ]; then /etc/grub.d/41_snapshots-btrfs; else ${GRUB_BTRFS_MKCONFIG:-grub-mkconfig} -o ${GRUB_BTRFS_GRUB_DIRNAME:-/boot/grub}/grub.cfg; fi' 
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +Anschließend muss das n eu erstellte ''systemd''-Skript dem ''systemd''-Dienst/Daemon noch bekannt gegeben werden, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +root@ubuntu:~# systemctl daemon-reload
 +</code>
 +
 +Um den **grub-btrfs-update.service**-Dienst/Deamon auch beim Herunterfahren des Servers zur Verfügung zu haben, soll der Dienste/Daemons mit dem Server mit eingerichtet werden, was mit nachfolgenden Befehlen realisiert werden kann:
 +<code>
 +root@ubuntu:~# systemctl enable grub-btrfs-update.service
 +Created symlink /etc/systemd/system/multi-user.target.wants/grub-btrfs-update.service → /etc/systemd/system/grub-btrfs-update.service.
 +</code>
 +
 +Eine Überprüfung, ob beim Herunterfahren des Server der ''grub-btrfs-update.service''-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
 +<code>
 +root@ubuntu:~# systemctl list-unit-files --type=service | grep grub-btrfs-update
 +grub-btrfs-update.service                  enabled         enabled 
 +</code>
 +bzw.
 +<code>
 +root@ubuntu:~# systemctl is-enabled grub-btrfs-update
 +enabled
 +</code>
 +
 +===== Grub-Konfiguration =====
 +
 +==== /etc/default/grub ====
 +
 +Damit nach dem Neustart unter [[https://ubuntu.com/|Ubuntu Server LTS]] überhaupt das **GRUB-Bootmenü** zu sehen ist, müssen in der Konfigurationsdatei
 +  * ''/etc/default/grub''
 +nachfolgende Anpassungen durchgeführt werden:
 +<code>
 +root@ubuntu:~# vim /etc/default/grub
 +</code>
 +<code ini>
 +# If you change this file, run 'update-grub' afterwards to update
 +# /boot/grub/grub.cfg.
 +# For full documentation of the options in this file, see:
 +#   info -f grub -n 'Simple configuration'
 +
 +GRUB_DEFAULT=0
 +# Tachtler
 +# default: GRUB_TIMEOUT_STYLE=hidden
 +GRUB_TIMEOUT_STYLE=menu
 +# Tachtler
 +# default: GRUB_TIMEOUT=0
 +GRUB_TIMEOUT=5
 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 +GRUB_CMDLINE_LINUX_DEFAULT=""
 +GRUB_CMDLINE_LINUX=""
 +
 +# Uncomment to enable BadRAM filtering, modify to suit your needs
 +# This works with Linux (no patch required) and with any kernel that obtains
 +# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
 +#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
 +
 +# Uncomment to disable graphical terminal (grub-pc only)
 +#GRUB_TERMINAL=console
 +
 +# The resolution used on graphical terminal
 +# note that you can use only modes which your graphic card supports via VBE
 +# you can see them in real GRUB with the command `vbeinfo'
 +#GRUB_GFXMODE=640x480
 +
 +# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
 +#GRUB_DISABLE_LINUX_UUID=true
 +
 +# Uncomment to disable generation of recovery mode menu entries
 +#GRUB_DISABLE_RECOVERY="true"
 +
 +# Uncomment to get a beep at grub start
 +#GRUB_INIT_TUNE="480 440 1"
 +</code>
 +
 +**__Erklärungen__**:
 +
 +  * <code ini>GRUB_TIMEOUT_STYLE=menu</code>
 +
 +Einstellung, was bei ''GRUB_TIMEOUT'' passiweren soll. Hier die Anzeige des **GRUB-Bootmenü**s.
 +
 +  * <code ini>GRUB_TIMEOUT=5</code>
 +
 +Einstellung des ''GRUB_TIMEOUT'' auf 5 Sekunden. Dies ist die Zeit, wie lange das **GRUB-Bootmenü** bei einem Neustart angezeigt wird.
 +
 +Damit die Änderungen auch bein nächsten Neustart wirksame werden, muss dies mit nachfolgendem Befehl in die **GRUB**-Konfiguration umgewandelt, bzw. eingebettet werden:
 +<code>
 +root@ubuntu:~# grub-mkconfig -o /boot/grub/grub.cfg 
 +Sourcing file `/etc/default/grub'
 +Sourcing file `/etc/default/grub.d/init-select.cfg'
 +Generating grub configuration file ...
 +Found linux image: /boot/vmlinuz-5.13.0-35-generic
 +Found initrd image: /boot/initrd.img-5.13.0-35-generic
 +Detecting snapshots ...
 +No snapshots found.
 +If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
 +Unmount /tmp/grub-btrfs.i6H9pGknvr .. Success
 +done
 +root@ubuntu:~#
 +</code>
 +
 +:!: **HINWEIS** - **Alternativ, kann auch der Befehl ''update-grub'' verwendet werden!**
 +
 +===== Neustart =====
 +
 +:!: **HINWEIS** - **Am einfachsten ist es wenn zur Überprüfung der Einrichtung, __zwei__ Neustarts hintereinander durchgeführt werden!**
 +
 +Anschließend sollte nachfolgendes **GRUB-Bootmenü** nach einem Neustart zum Vorschein kommen:
 +
 +{{:tachtler:virtualisierung:ubuntu:ubuntu20.04_grub-btrfs-grub_bootmenue-ubuntu.png|Ubuntu 20.04 LTS - grub-btrfs - GRUB-Bootmenü - ubuntu}}
 +
 +Mit der nach unten **[⇓]**-Pfeil-Taste kann auf den **GRUB-Bootmenü**-Punkt **Ubuntu snapshots** gewechselt werden und die **[Enter/Return]**-Taste gedrückt werden, wonach nachfolgendes **GRUB-Bootmenü** zur Anzeige kommen sollte:
 +
 +{{:tachtler:virtualisierung:ubuntu:ubuntu20.04_grub-btrfs-grub_bootmenue-ubuntu_snapshots.png|Ubuntu 20.04 LTS - grub-btrfs - GRUB-Bootmenü - Ubuntu snapshots}}
 +
 +{{:tachtler:virtualisierung:ubuntu:ubuntu20.04_grub-btrfs-grub_bootmenue-ubuntu_snapshots_liste.png|Ubuntu 20.04 LTS - grub-btrfs - GRUB-Bootmenü - Ubuntu snapshots - Liste}}
 +
 +Eine Rückkehr in das vorherige **GRUB-Bootmenü**, kann durch drücken der **[Esc]**-Taste erfolgen, wie nachfolgend dargestellt:
 +
 +{{:tachtler:virtualisierung:ubuntu:ubuntu20.04_grub-btrfs-grub_bootmenue-ubuntu.png|Ubuntu 20.04 LTS - grub-btrfs - GRUB-Bootmenü - ubuntu}}
 +
 +Ein abschließender Neustart des Betriebssystem, kann dann durch drücken der **[Enter/Return]**-Taste, wie erfolgen, wie nachfolgend dargestellt:
 +
 +{{:tachtler:virtualisierung:ubuntu:virtualisierung_ubuntu-server_20.04-lts_dvd_install_finished.png|Ubuntu Server LTS 20.04 LTS - DVD - Installation - Fertiggestellt}}
  
tachtler/ubuntu-_minimal_server_installation_-_snapper_-_grub-btrfs.1647234732.txt.gz · Zuletzt geändert: 2022/03/14 06:12 von klaus