Saving a stable system

My system currently runs stable. There hasn’t been a single issue since the last time I did a system update (early April). I think that if I do a system update now, it’s likely that some kind issue will be introduced. So what I’d like to have in the future is the ability to downgrade any package (including dependencies) to the version installed right now. I know there is a function that remembers the latest 3 versions installed, but I’d like to save those versions that are installed right now to be able to downgrade to this exact version, even if there has been more than 3 new updates. Sure, I could increase the number of versions saved to 10 or so, but that consumes a lot of storage space. Besides, a history of 10 versions would not tell me which exact version was installed the day my system ran without issues. Is there a way to do this?

Using timeshift would be the best option in this case.

2 Likes

My understanding of timeshift is that I’ll be able to restore full system to some point in time. I’m not sure if that is what I’m looking for. Say there is an issue with Thunar that I’m able to track down to be caused by libmtp. In that case I’d like to downgrade those two, but leave the rest of the system as is. When this happened some months ago there were lots of minor updates to the two of those, all were giving a hope to solve the issue, but they didn’t. The issue was there for several months, and I couldn’t downgrade because the packages from before the issue was unavailable.
Sure. A system backup (i.e. timeshift) would make it possible to revert the system to the state from before the issue, then exclude those two packages from updates and redo the system update. But this sounds like a long way to get there.

I might have misunderstood how timeshift works though.

What I was hoping for was some way to kind of lock the distribution files where they currently are for the currently installed packages. Maybe some way to tell the package manager to not clear up these files

There’s a package in the repositories called downgrade. If you install that you can use it to downgrade any individual package you want

That still requires that you have the package files for the version you want to downgrade to. So, still you need to make sure the package manager does not remove those

I didn’t think it did. I’ve used downgrade to actually install something from the unstable branch that definitely wasn’t on my pc

I assume that if the packages for the version you downgrade to is still available in the online repos, you don’t need to have a local copy. I’ve tried using downgrade to a version that I had installed before, but it was more than 3 updates ago and the version was no longer in the repos - then the downgrade function failed because of missing distro files.
I’ve spent crazy amount of hours looking for old distrofiles in manjaro/arch before, and failed.

In Gentoos packet manager, Portage, there is a folder for private distrofiles, intended for those who create their own packages. I guess in the world of Gentoo this could be solved by moving all the latest distrofiles from the folder containing local copy of the online repo to the folder containing private distro files. Does something similar exist in Manjaro?