My Tumbleweed system locked up in the middle of a zypper dup, forcing me to power cycle the machine. This broke Very Many Things™; fortunately I was still able to log in as root in the text-mode console. After reading the man page for snapper I figured the right thing to do was a zypper rollback to the previous snapshot and reboot. This seemed to work; everything was restored to the way it was before the accident, and I was able to run zypper dup all over again (this time successfully). However, even though the zypper and YaST package managers end up creating new snapshots, subsequent reboots always take me back to the snapshot I originally rolled back to. Trying to snapper mount a more recent snapshot doesn’t seem to have any obvious effect; using snapper rollback to a more recent snapshot does seem to work, but the choice of snapshot again seems to persist for every boot.
Below is the current output of snapper list on my system. You can see the two rollbacks (#106 and #117), that a lot of new snapshots have subsequently been created (by zypper or YaST), and that the system is planning to use the old snapshot #117 on the next reboot rather than the latest #123.
# | Type | Pre # | Date | User | Cleanup | Description | Userdata
-----+--------+-------+--------------------------+------+---------+-------------------------+--------------
0 | single | | | root | | current |
106 | single | | 2019-06-02T10:48:03 CEST | root | number | rollback backup of #97 | important=yes
112 | pre | | 2019-06-07T18:51:47 CEST | root | number | yast sw_single |
113 | pre | | 2019-06-07T18:53:21 CEST | root | number | zypp(ruby.ruby2.6) | important=yes
114 | post | 113 | 2019-06-07T18:55:29 CEST | root | number | | important=yes
115 | post | 112 | 2019-06-07T18:55:38 CEST | root | number | |
116 | single | | 2019-06-07T19:05:58 CEST | root | number | rollback backup of #107 | important=yes
117* | single | | 2019-06-07T19:05:58 CEST | root | | |
118 | pre | | 2019-06-15T17:06:32 CEST | root | number | yast sw_single |
119 | post | 118 | 2019-06-15T17:28:32 CEST | root | number | |
120 | pre | | 2019-06-15T17:35:14 CEST | root | number | zypp(zypper) | important=no
121 | post | 120 | 2019-06-15T17:35:16 CEST | root | number | | important=no
122 | pre | | 2019-06-16T18:03:18 CEST | root | number | zypp(zypper) | important=no
123 | post | 122 | 2019-06-16T18:03:20 CEST | root | number | | important=no
So my two questions:
- How can I get my system behaving the way it used to, where zypper up and zypper dup not only create new snapshots, but also set my system to boot from the latest such snapshot?
- What, if anything, did I do wrong that got me in this mess to begin with, so that I don’t repeat it next time?