Well this was a fun way to start my day. I was trying to install Davinci Resolve on my Mint PC (since Mint 22 broke some of Resolves dependencies), and it was still giving the warning of missing dependencies.
One of the dependencies libasound2 couldn’t install but apt recommended 2 others. Tried both and non worked. So I decided to uninstall both, and then Cinnamon Setting disappeared. I tried to fix it by reinstalling Cinnamon itself, but yeah… on reboot it would crash on the Mint file check.
However after trying the Recovery mode to get access to the terminal. I was able to access Timeshift, get the backup from yesterday and I’m back up and running.
So happy I enabled Timeshift. Hurray for safety nets actually working to protect me from myself.
I had the 22 upgrade completely bomb out of the installer and got a kernel panic on reboot. I booted off of a live boot image, launched Timeshift and restored it. Within 20 minutes my broken install was back to where it was before the upgrade. It was really invaluable.
TIL, ty. Always used a separate partition /home folder and plain reinstalled. Have to concede never thought of my personal machines as critical stuff is on a redundant Proxmox setup. Will try this out tonight, brain mush after work permitting.
I’ve always thought of dependencies as equivalent to dlls. Is that right? In the past, I’ve had to hunt down dependencies, but all I did was drop them into the right directory and everything worked. Why is Linux so fiddley with dependencies?
It isn’t, and if you’re manually downloading stuff and putting it in some folders, you’re doing it very wrong.
The package manager deals with dependencies.If a software complains about missing dependencies, you didn’t install it via your package manager.
And/Or it wasn’t packaged for your version of your distro. So take a step back and reconsider what you’re actually trying to achieve.It isn’t, and if you’re manually downloading stuff and putting it in some folders, you’re doing it very wrong.
I don’t understand. My distro doesn’t have any folders.
You’re wrong. Your distro has Nautilus, Dolphin, Thunar and/or PCManFM in its repos. Install one of them, open it and you’ll see folders.
Now your just being sad. And still wrong: I only interact with the terminal.
Doesn’t change the fact that they’re in your distro - waiting… lurking…
I’ve always thought of dependencies as equivalent to dlls. Is that right?
Usually, but not always. Most of the times a dependency is a software library contained within a shared object file (a
.so
file), and that is indeed analogous to a dll.A dependency can be other things as well though, like a specific program that a software package depends on being present. For example, the handbrake program to reencode videos will call
ffmpeg
under the hood. So naturallyffmpeg
is a dependency.Why is Linux so fiddley with dependencies?
I don’t think it is? I mean, software depending on external shared libraries isn’t exactly a Linux only concept, and if anything I think most Linux distros’ ways of handling dependencies are superior.
The main difference with Windows is that third party software tends to bring their own dlls for anything that’s not a standard part of Windows, which is wasteful because of duplication, and less secure because the included libraries may be out of date and contain known security holes.
On Linux, distributions usually have every library under the sun in their repositories, managed by the package manager and kept up to date by the maintainers. As long as you stick to software included with your distro, or software packages for your specific distro, dependencies should be resolved automatically by the package manager. For example: if you download the Google Chrome .deb file, and install it with
apt-get
, it will pull in all the dependencies it needs to run.If you go outside of that, for example compiling software yourself, or downloading non-distro specific binaries, you will have to take care of dependencies yourself. Perhaps that’s what you mean with the fiddly bit.
As a Tumbleweed user I don’t understand how it’s so rare that distros come with these features implemented, configured and activated out of the box. Snapper has saved me a couple of times in a year, with hours of headache avoided. It’s the biggest reason I finally feel like Linux is a viable platform for me.
I’ve been reluctant to use Timeshift (in rsync mode) because I’ve twice ended up hosed by it (quite possibly because of a fundamental misunderstanding).
Doesn’t Timeshift create snapshot files that your system ends up living in, much like VMware?
Case in point, I misconfigured the Timeshift backup location and wanted to correct it. I deleted snapshot files and went about pointing to the new location. But on reboot, all failed because the snapshot files were apparently live, and could no longer be found. I was dead in the water and had to reinstall. A few weeks later I tried again and ended up in the same situation where a snapshot location was removed and the system failed.
Now I’m afraid to use it.
I frequently read posts and other info like this that lead me to believe I just did something wrong and can benefit from using Timeshift, but I also don’t want to rely on running from snapshot files, and prefer my backup to live in snapshots, rather than my live system.
I’m used to snapshots in TrueNAS and virtualization, so this should be an easy transition, but experience has taught me fear.
Deleting snapshots shouldn’t destroy the system as far as I know. It might confuse Timeshift later down the line if that deletion was done outside of Timeshift’s interface, but they’re supposed to be entirely separate.
Timeshift creates a directory called “timeshift” in the root of whatever partition it’s configured to use. It should create at least one copy of every file, but it does then create hard links to save space between snapshots where files would otherwise be identical. Those links shouldn’t be to (or from) live system files though.
Now, if someone was to bypass Timeshift and manually move files of the timeshift directory back into a live system or manually link live system locations into a snapshot, that might lead to the problem you experienced. Not sure if that’s what’s happened.
It’s worth noting that I have Timeshift set to create its directory in a separate partition on a different physical drive, so if it was broken in some way, it would struggle to mess up. Hard links across partition boundaries are a lot harder to achieve if not impossible, so it would stop someone (or something) trying to bypass Timeshift, or at the very least give them pause for thought. And it would provide some protection against Timeshift doing something silly as well.
Another way I suspect this could happen is if Timeshift’s own copy as well as all hard links to it in all snapshots were manually deleted before a restore was attempted. Can’t restore from what doesn’t exist, and so the system would remain broken.
I think the first time I hosed it, I may have canceled the backup mid-process because I realized it wasn’t configured properly. Then I found and deleted snapshot files, IIRC, and things went south from there.
I’ll try again, but only on a fresh system with no value to me, not my daily driver. I know I can harness it, but for now I’m sceeeured.
rsync or btrfs?
The last time I used bags the system lost its file system. So probably the other one. Exfat4 formatted
Exfat4
this hurts my brain
I bricked my mint once by installing anki with a umask that didn’t make stuff world-readable. But timeshift from a live usb stick saved my day then.