Yes I know ZFS is not ideal for single drive situations but was just curious if maybe the ZFS send and receive file transfer alone would be enough to help justify it over BTRFS? Imagine setting up a new computer or handheld and just moving over all your stuff from the other install through the network. Maybe add some of that ZFS filesystem compression to save space and some special logic to run deduplication on game files that are shared between multiple games and take up significant space by being stored multiple times
You can use btrfs to send and receive volumes.
Something like:
sudo btrfs send /path/to/subvolume | ssh user@remote-host 'sudo btrfs receive /path/to/target'
I would do a snapshot first, then send the snapshot, so that things don’t change while sending.
Sending over ssh is also supported by btrbk, which may be a better option.
Not to say it isn’t possible with ZFS, but that might be too large of a hammer for this nail.
Interesting and I suppose experience helps with knowing which tools are suitable for a given application or job.
Yup I highly recommend btrbk. It works amazingly well to sync backups. But to just move things (to be more specific: snapshots of subvolumes) around over the network, btrfs send/receive via ssh works super fast (way faster than rsync).
It’s my preferred way of copying large amounts of data. Especially when you need to reinstall something.
As far as I know, when you (re-) install Bluefin for example, there is no easy way to keep a subvolume that you created earlier, containing your personal files. You will have to clear the drive entirely.
In this case copying the subvolume to an external drive or leveraging btrbk to have a backup on a different device is ideal.
I have my /home on a separate drive for this very reason.
If I need to do a full install, I can reconnect my home folder without too much trouble.
We could start a new thread if anyone is interested in details.
Yes I saw someone on Reddit mentioned to split the OS data from personal stuff for convenience. I took it to the logical conclusion and used a spare drive to install Linux onto instead of trying to dual boot Windows and Linux from different partitions on the same drive.
Yeah I’d never do that. The /home folder is used by both the OS and applications to store important files for its operations. Simply connecting your old /home back on a newly installed system is absolutely going to lead to issues, since apps are missing (even ones that may have come pre-installed in previous versions of the distro). This is the recipe for incompatibilities.
I move my Documents, Pictures folders into a new subvolume /mnt/userdata/myname/
and symlink them back into /home.
I also move Desktop into Documents.
I don’t have local music or videos otherwise I would do the same with those.
No, apps installed by the os aren’t installed in home. You can see this by creating a new user, logging in, and running tree -a
. Apps installed by the user are installed in their home (.var). That’s still okay, as changing home takes .var, .local, .config, etc. with it.
This works fine for me, and isn’t uncommon with non-atomic distros. I even ran Aurora for a week from a USB with my home drive attached, and switched back to Bluefin, same home drive attached. Didn’t have any problems.
I didn’t mean they install in /home but they do splatter their config files all over in /home.
It’s such an essential part of the experience for an end user, a clean install without a clean home wouldn’t make much sense in some cases. Plus like I said, can lead to issues.
I’ve had that with numerous apps including Libreoffice when newer versions use config files in different locations or when the OS decides to install the flatpak version instead of rpm-ostree, meaning you now have old config files, unused, in home, and a default app experience without your own config, defying the purpose of backing up /home.
For me I only see 2 types of data: my personal data and all data necessary for the end user experience. I’d backup the first, not the latter.
I do have a post install bash script that will set the configuration of OS and several apps to my liking.