I have a problem shared by a number of other Linux users.
Or, well, had…
Every few months or so I would get the desire to reformat my hard drive, either to distro hop or to set up a fresh installation of the distro I had been currently using. Over the 15 or so years I’ve been using Linux, especially the last 10 I’ve used it as a daily driver OS, I’ve reformatted countless times.
The first Linux distro I tried was Knoppix. I ran it off a LiveUSB back in 2007 or so, and from then on I’ve tried a number of different Linux distros and other Unix-like Operating Systems. The list of what I’ve tried would be ridiculously long, but as for desktop daily drivers, I’ve used PC-BSD, Linux Mint, Fedora, and Manjaro (which I am currently running). Server-side, I’ve run Debian, CentOS, and Ubuntu.
When I eventually settled into Manjaro, I still couldn’t escape the desire to reformat periodically. Not to distrohop mind you (Manjaro has been great), but rather, to set up a fresh install. This required that I make manual backups of the files I wanted to copy over — from movies to config files — and write scripts to install the list of packages I need on my machine, and so on. After a while (and after many missing files) it got tedious; that and the data loss. Then one day, I noticed a package on my Manjaro install called Timeshift.
TL;DR: it’s backup software that uses
rsync to take incremental backups. There are settings to schedule backups, backup user’s home directories, filter out specific paths, and so on. Nothing all that groundbreaking.
But it’s nonetheless been instrumental in how I now use my computer.
Manjaro is an Arch-based (btw) distro, so it’s rolling release. That means you don’t need to perform any complicated upgrades or re-installations. Rather, the packages that make up the distro are constantly updated and upgrading your version is as simple as upgrading the packages. That’s a kind-of simplified description, but it works well enough.
In any case, I would probably never consider running it on a server because those constant upgrades can be rather unstable. But for my desktop needs it works just fine. Especially since I don’t really treat my Manjaro install like the rolling release distro it is.
I’ll probably get yelled at by anyone else who runs an Arch-based distro, but I only update my machine every one or two months. This is so I avoid any system-breaking updates (usually to nvidia drivers) while also making sure I don’t fall too behind and break everything else.
I’ll also probably get yelled at by everyone else, but I also don’t have an automatic backups schedule set up.
So then where does Timeshift come into play? And what does this even have to do with reformatting?
We’re getting there.
When I did my first install on my current machine, and had all of the packages I needed, all my games and files in place, all my confs tweaked, and so on, I took a full backup (both system and user files) with Timeshift. Sure, Timeshift is really only intended for system files, but hey, if it works, it works.
Then I used my machine for about a month until it was time for an update. So then I rolled everything back to that nearly-fresh install, ran all my updates, took another backup, and went on using my machine. When time came again, I rolled back to the most recent backup and did the process all over again.
And that’s been my process for a while now. Each time it’s like I’m using a fresh install, but a fresh install that’s already configured exactly how I like it.
Now, there’s one glaring issue here. Any new files I’ve created are going to be deleted when I roll my install back. For some things, there are obvious or automatic solutions: I do most of my writing in Google Docs, Steam auto-syncs saved games to their cloud, and I can push changes to my code to Gitlab. But for other things, like songs I’m working on in LMMS or album art I’m working on in GIMP, it’s a manual process. I have to manually copy these over to cloud storage or external storage, and then copy them back over to my machine after I’ve rolled back and before I take the next backup.
I’d be lying if I said I hadn’t lost the occasional file this way, but I feel it’s worth it just so I can keep that fresh install feeling without actually needing to do a fresh install. Especially since I’ve lost more files doing actual fresh installs.
I’ve got 3 disks on my machine. A 2TB NVMe SSD onto which my OS is installed, a 2TB HDD that I use for extra storage, and a 4TB HDD I use for my Timeshift backups. All 3 use full disk encryption.
When I had first first set up Timeshift on an old machine, the disk I used to store backups there was also encrypted, and I noticed some weirdness when it tried to mount that backup disk. I can’t recall the specifics, but it was nothing major; I have a vague recollection of just needed to input the encryption phrase each time I started Timeshift, which is barely an inconvenience, let alone a real problem. Still, I didn’t want to do that each time and found a workaround.
The workaround is, using GNOME Disks (yes, I use GNOME as my DE), to Edit Encryption Options on the disk and set the disk to unlock on system startup.
This way, it’s already mounted and decrypted when Timeshift gets started. No problems!
Someone may mention something about passphrase security since it does require that the encryption phrase is now stored on the machine, but as mentioned, the disk it’s saved on is itself encrypted as well. So I don’t really see that as a problem. It could be if my machine was taken while it still running (and thus decrypted), but I doubt I’m that high on any government lists for something like that to happen.
In short, Timeshift is great. Manjaro is great. Linux is great.
5 thoughts on “Keeping Backups, or: How I Learned to Stop Reformatting and Love Timeshift”
Timeshift looks cool and I’ll have to keep that in mind. I’ve always taken rather incomplete backups of linux machines using my own rsync scripts, but then I spend a lot of time setting machines back up again.
I have been playing with Arch a little more inside of Windows on my personal machine using WSL. I wanted to try it there as I’m not super familiar with it and wanted to get familiar while I waited on my Steam Deck pre-order (Steam OS is arch based). I’m digging arch and the AUR is amazing. Might need to do a proper dual boot on my desktop 🙂
I’ve never done a deep dive into Arch proper, but Manjaro is super user friendly while still giving you access to most-things Arch (the amazing AUR included).
But if Time Shift uses Rsync wouldn’t the backups always be up-to-date, I guess i am having an issue understanding why a return to a clean distro is valuable/ is there so much that gets changed/mangled over the course of a month that starting from scratch is desirable?
If I had an automatic backup schedule set up, then yeah, they would be up-to-date. But I only take them manually, and then only after I’ve already rolled back to a previous backup. So pretty much none of the changes get carried over unless I make them after a restore but before the next backup.
And the clean distro thing is really just a personal preference. I’m very “particular” about my personal machine, and I would often get a nagging in the back of my mind that tells me to reinstall if I felt anything fall out of place. This whole backup process provides a kind of middle-path between a full reset where I have to re-do everything and letting the “out of place” things build up.