Snapshot rollback not working...?

Steps: I successfully installed a test flatpak app (Quilter). Then I made a manual snapshot. Then I made sure this snapshot was in the list. Then I restarted. Then at the grub menu I selected the same manual snapshot for rollback. Then I logged in. Then I ran “sudo snapper rollback”. Then I rebooted. Then I saw Quilter was still there. The rollback didn’t work. Why? How to fix?

I’m using Gnome.

Here’s the terminal text:

advait@localhost:~> sudo snapper rollback
[sudo] password for root:
Ambit is classic.
Creating read-only snapshot of default subvolume. (Snapshot 121.)
Creating read-write snapshot of current subvolume. (Snapshot 122.)
Setting default subvolume to snapshot 122.
advait@localhost:~>

Where is this application installed? Not how (flatpak), but where.

/var/ is excluded by standard from snapshots. See official documentation:

And if you have a standard systemwide flatpak installation, flatpak files (runtimes, applications and configuration) are located in /var/lib/flatpak/

1 Like

Yes, the Quilter app is there. That explains it. I’ll try another way to test the rollback.

So here’s the next rollback test I did:

  • I created a manual snapshot.
  • I installed the Bluefish text editor app using Yast Software Management.
  • I confirmed that Bluefish was installed and working. It was.
  • I restarted my pc.
  • I selected the same manual snapshot at the Grub menu. Snapshot #137.
  • I booted into my system.
  • I tried to open the Bluefish before doing “sudo snapper rollback”
  • The Bluefish app was nowhere to be found! What?!
  • I located the app in Software Management (SM) and it was unchecked. Huh!? SM was saying Bluefish had never been installed.

So how did the Bluefish app disappear before I did “sudo snapper rollback”? Obviously there’s something I don’t understand about doing rollbacks.

You created a manual snapshot. You installed software AFTER creation of the snapshot. You bootet back into the manual snapshot before the software was installed.

Get it?

If you want to have the installed software included in the snapshot, you need to create the snapshot AFTER installation of the software.

Yes, I created the “pre” snapshot before installing Bluefish cuz I wanted to test the rollback. I wanted to install Bluefish and then confirm I could use “sudo snapper rollback” to go back to before Bluefish was installed.

My understanding is that “sudo snapper rollback” has to be executed and then system rebooted and only then does the “pre” snapshot get turned on. “Pre” means the snapshot before Bluefish installed.

Why/how was the “pre” snapshot installed without “sudo snapper rollback” being executed?

What am I missing?

rollback switches between different subvolumes, it does not change the content of your current subvolume as you apparently expect. Rollback leaves your current root unmodified and you can always switch back to it by performing “rollback” to your original root.

The documentation

“When doing rollbacks as described in the following, the system is reset to the state at which the snapshot was taken.”

So how did my system go back to the “pre” state without any “rollback” command being executed?

Are you saying that selecting the “pre” snapshot in the grub menu leads to an automatic execution of the rollback command during the final stages of system boot? (after I enter my system password and hit “Login”)

Please read further.
You already booted into that snapshot. But to make it permanent you need to issue the rollback command…

So if I’m reading this correctly “sudo snapper rollback” would take me to the snapshot which has Bluefish installed? (I’m testing this now)

And it’s saying that the snapshot I select at grub is the snapshot that gets turned on during the rest of the boot/login process?

I have this right?

No! As already explained, the snapshot was taken before installation of bluefish.

You should definitely take your time to read the whole snapshot chapter to get a whole understanding of the concept.

I’ll play around with it some more and run some more tests. That’s usually how I learn. Sometimes I first gotta see the words in action before they sink in.

So now I think I understand the Bluefish test. Slowly sinking in.

What you were missing is that the sudo snapper rollback command serves one purpose, which is telling your system which is running a previous, read-only snapshot, “yeah man, this is it, I wanna go back in time here, this state is good”.

What you boot into from grub is read-only for a reason, it’s just for you to test that everything works as you expect there, that all the files you expect are there etc.

Once you’re sure, you issue that command and THAT becomes your new current system state (read-write) starting from the next boot.

4 Likes

And, to say it more directly, the snapshot that I rollback to only gets “locked in” after a reboot. I was missing that important step. Now I got it.

Earlier today I spoke to a Linux person who also helped me understand the details of the rollback process.

I think I finally understand the basic steps. I’m all set. Issue resolved.

1 Like