Kyouki,

Absolutely amazing. Been daily driving with Arch and its such a breeze to roll back in case of problems.

renzev,

Spent like a few hours learning about and setting up snapshots, only to never every use them lol. I guess I just don’t break my computer often enough nowadays. Copy-on-write is great tho, especially for making quick backups of a large directory structure before running that risky shell one-liner.

kevincox,
@kevincox@lemmy.ml avatar

I just use snapshots for taking backups. This ensures that I get a consistent state when the backup occurs. It seems to work well for that.

Brickardo,

I don’t now how to use them but have btrfs snapshots set up by default on SUSE nonetheless

AMDIsOurLord,

It’s awesome! The easiest way you can try it out is with Linux Mint and BtrFS and TimeShift utility

It’s saved my ass quite a few times because for some reason on my old laptop updating the Nvidia driver from GUI would completely fuck the system

cmnybo,

I’ve been using snapshots for a couple of years. So far I’ve only had to restore a snapshot once, but it and it worked fine. The snapshots are created almost instantly and they don’t use much disk space unless a lot of stuff has been changed.

avidamoeba,
@avidamoeba@lemmy.ca avatar

Missed previous highway exit:

Use Debian stable / Ubuntu LTS

BeigeAgenda,
@BeigeAgenda@lemmy.ca avatar

I upgraded 3 major versions of Devuan with a snapshot between each upgrade, and I have a script running doing hourly/daily/weekly snapshots.

The only hassle was updating grub to boot on the new snapshot, while still being able to boot the old, I had to dig up a boot USB when I messed it up.

astrsk,
@astrsk@piefed.social avatar

I want to setup snapshots but I don’t really understand how to do that properly yet in a way that lets me shoot the snapshots over to my smb storage like Apple’s Time Machine does.

possiblylinux127,

A snapshot isn’t a backup so you can’t move it outside of the drive. It is literally just a change log.

renzev,

| A snapshot isn’t a backup so you can’t move it outside of the drive

You can tho wiki.archlinux.org/title/Btrfs#Send/receive

possiblylinux127,

True

edinbruh,

Me:

  1. make the snapshot after the system is already broken
  2. Break it more
  3. Don’t restore the snapshot because its old and you can fix it
RustyNova,

Snapshots are definitely a hit or miss with me. I nearly never use them, but when I need to recover a file it’s awesome. The only system related problem I had with Nvidia drivers but it was actually better to reinstall so it does all the install configuration itself

Although the most problems I had with it is backup of data. I tend to hoard too much

missphant,
@missphant@lemmy.blahaj.zone avatar

Too confusing, why can I create them with one command but not restore them in the same way? Last time I was gonna use them to fix an issue I spent an hour trying to figure out how to restore it and then just ended up fixing the issue manually in much less time.

kazaika,

Why dont you just use timeshift ?

UnfortunateShort,

They work.

bazsy,

The FS feature is great, it’s just cumbersome to use without a tool.

Snapper works well for a local backup like history both against botched updates and accidental deletion, but eats up the free space with the default settings.

Timeshift is an easy to use GUI but doesn’t support non-default partitions.

Also the quota support had a nasty side effect: freezing the whole system on snapshot deletion.

Inductor,

If you use btrfs snapshots and systemd-boot instead of grub, then be carefull restoring updates from before a kernel update.

If I understand it correctly, with systemd-boot the kernel lives in the EFI partition, while the kernel modules live in the main (btrfs) partition. If you restore a snapshot with a different kernel version, it doesn’t restore the kernel itself, but the kernel modules have different filenames, which stops the system from being able to boot.

At least that is my understanding of the problem, from having to debug it twice (just start a live-boot system and use Timeshift to restore the system to after the update again). The next time I install Linux, I think I’ll go with grub instead of systemd-boot.

That being said, I really like btrfs snapshots as a sort of “almost backup” (still do regular backups on an external drive). They are quick and easy, and most packet managers can be setup to automatically make a snapshot before installing/updating stuff.

UnfortunateShort,

The kernel in the EFI partition is used as a tool to bootstrap hardware and memory for your proper kernel, which is chainloaded.

There is a simple reason for that: The Linux kernel can do anything a bootloader needs to do, especially for itself, so why not use it as one?

That said, in most setups there is another bootloader before that, which loads the kernel itself and the initramfs for that kernel. That can be for example systemd-boot, formerly known gummiboot, a minimal bootloader meant to (auto-)discover EFI compatible stuff it can load.

Dracut creates a setup / boot chain like that.

Inductor,

Thanks for explaining it! So systemd-boot finds the kernel in the EFI partition, which it then loads, and then that kernel loads another kernel from the main partition, which is then the full OS.

Is there a reason it’s done this way, and not just the bootloader loads the main kernel?

Also, are the two kernels the same, or does this use two different kernels?

UnfortunateShort,

Sorry for the late reply btw, responses were broken for me

Inductor,

No problem, thanks for replying.

UnfortunateShort, (edited )

In the case of Dracut, I’m not sure what it does exactly, but the kernels will almost definitely not be identical. In the “EFI kernel”, uneeded modules (meaning most of them) are usually omitted.

You could probably also have different kernels in terms of version number, although it might complicate things. Kinda depends on whether they recycle data structures from the first kernel and whether those remain compatible. I don’t really know whether this is actually done tho.

The reason why multiple kernels (or bootloaders for that matter) are used is that there are different levels of “readiness” in your system. Say you have LVM and a LUKS encrypted partition (in whatever order). Systemctl-boot will load the kernel and it’s initramfs, but can’t be bothered to deal with complicated file system shenanigans. That would complicate the whole program significantly.

So it just loads a Linux kernel which has these capabilities. That kernel can deal with LVM, decrypt the LUKS partition (or ask for a password), mount whatever btrfs nonsense is inside and then hand it over to the proper kernel. The proper kernel can in turn rely on having all its stuff mounted and ready, instead of having to worry about all this.

You could do with just one kernel, but Dracut allows you to rapidly create bootable kernel + initramfs pairs of which you might need multiple (e.g. for dual booting, backup). Moreover, you probably wouldn’t really want it to fiddle with your kernel all the time, especially when it’s customised already.

Inductor,

That makes sense. It looks like a really clever way of letting the boot process allow for basically any arangement. Thanks!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linuxmemes@lemmy.world
  • ethstaker
  • DreamBathrooms
  • cubers
  • mdbf
  • everett
  • magazineikmin
  • Durango
  • Youngstown
  • rosin
  • slotface
  • modclub
  • kavyap
  • GTA5RPClips
  • ngwrru68w68
  • JUstTest
  • thenastyranch
  • cisconetworking
  • khanakhh
  • osvaldo12
  • InstantRegret
  • Leos
  • tester
  • tacticalgear
  • normalnudes
  • provamag3
  • anitta
  • megavids
  • lostlight
  • All magazines