Hallo,
ich benutze bei mein PC habe ich mit BTRFS aufgesetzt und es hat drei Subvolume, einmal TESTING, STABLE und OLDSTABEL. Für ein Update habe ich ein Bashskript mit dem ich im Subvolume TESTING dann Updates installiere, vorher wird aber Stabel zu OLDSTABEL und TESTING zu STABEL. Damit habe ich auch keine Probleme.
Jetzt wollte ich auch ein Rollback, also das zurückführen von STABLE nach TESTING mit einem Skript versehen. Im Netz habe ich ein passendes Skript dafür gefunden, leider läuft das nicht so wie ich es mir gedacht habe. In diesem Skript gibt es eine Abfrage, ob man sich im richtigen Subvolume befindet. Ich habe das Skript mal auf die Abfrage eingegrenzt.
#!/bin/bash
# Rollback STABLE -> TESTING
# ---------------------------
# Rollback - Btrfs
# ---------------------------
BTRFS=/usr/bin/btrfs
CP=/usr/bin/cp
ECHO=/usr/bin/echo
GREP=/usr/bin/grep
MOUNT=/usr/bin/mount
MV=/usr/bin/mv
#PACAUR=/usr/bin/pacaur
PACMAN=/usr/bin/pacman
REFLECTOR=/usr/bin/reflector
SED=/usr/bin/sed
SUDO=/usr/bin/sudo
# ---------------------------
# Rollback System
# ---------------------------
bootstate=`$MOUNT | $GREP "on / type btrfs" | $GREP "subvol=/@snapshots/STABLE"`
if [ -z $"{bootstate}" ]
then
$ECHO ""
$ECHO ""
$ECHO "System ist nicht mit STABLE hochgefahren !"
$ECHO "ENDE !"
exit
else
$ECHO ""
$ECHO ""
$ECHO "System wird zurück gerollt"
fi
Wenn ich mich im Subvolume TESTING befinde und das Skript ausführe, soll das System zurück gerollt werden. Was so nicht richtig wäre. Was läuft da nicht richtig?