Help moving Home directory

So, I’ve been wanting to move my Home directory for a while now. I’ll try to explain my hardware situation and why I want to do it.
I have currently 4 drives in my PC: 2 nvme SSDs (512GB and 1TB) and 4 HDDs (2 TB and 4TB). I I use the first SSD for the OS, the second for my games library, and the HDDs for media storage. Ever since I began using EndeavourOS I’ve had to reinstall it some 3-4 times due to some newbie mistakes I’ve made, and for a while I’ve been wanting to test some other distros, though I’m not knowledgeable enough to do it without doing a complete reinstall, and I want to use my second SSD as a permanent Home directory so I can just reformat the first SSD and keep my files and configs intact as I change OSs.
Is there a not-that-acrobaticatilly-hard way to do this? I’ve seen some “tutorials” online which seem doable enough, but I want to be careful. There’s a way to do it where I could just copy everything to the second SSD (after formatting it), then assigning as /home either before or after reformatting the first SSD (either while still using EndeavourOS or installing other distro), but that would involve me removing the auto-mount I’ve set on fstab for every drive I have and deleting the mounting point I’ve created for every drive which is a folder for each drive in my Home directory, and you see why I think this is beyond my skills as is.

Separating a /home directory is easier during a clean install, but it’s possible afterward with risks of data loss or corruption if mistakes are made.

Here’s a recommendation I personally practice: If you have a Raspberry Pi (or any reliable 24/7 device), install a headless distro like DietPi and set up Syncthing to sync your /home folder. I use this setup, and it keeps my /home folder synced across all my Linux devices, with a master copy on the Raspberry Pi. Once configured, it runs seamlessly, ensuring my data is always safely backed up.

I don’t recommend it (especially for your skill level) as the configuration files for the distro are usually stored in the home directory. Copying them around between distros will almost certainly cause some flakiness if not complete crashes. End result, you’re going…wow X distro sure crashes a lot and snowflakes randomly fall from the top of the screen.
Better idea is to figure out what is data that you want to keep and not keep certain dotfiles and .config directory. Don’t just try to wholesale the whole thing.
Each distro should have it’s own home (unless/until you’re adept at creating links).
Consider using a VM to explore other distros.

Well, I currently don’t have (and won’t have for the foreseeable future) the resources to acquire a Raspberry Pi :frowning:

1 Like

But can it be done if I just wanted to copy the Pictures/Videos/Documents/Download folders, and not the config files? Or it’s just not worth it?
And if I kept my distro hopping on the Arch side of the force, would it still cause problems with the dotfiles?

Well, I (for similar reasons probably), tend to not keep anything locally. I store files on my NAS or in cloud services.
But yes, if you identify those files/directories specifically, you can do that.
As to whether it’s really worth it, it probably wasn’t for me (but again because my real data is stored elsewhere). You’ll have to judge for that :wink:
Just changing the desktop environment from Gnome to KDE (for instance) can cause problems on the same distro. That’s why they recommend you use a separate user for each (at minimum). Again, related to the configuration files.
I also have an unsolicited comment, there is little reason to distro hop around the Arch systems, because they’re all Arch (and virtually the same therefore, the only difference is what comes pre-configured…usually in the .config directory, but not exclusively).

Maybe I don’t understand this correctly but why not use the second SSD as a storage file for all of your mentioned directories like pictures,documents etc. Create folders for each directory and put the content of each directory in the folders. Doing it that way you only have to mount the SSD that contains the folders, in each distro. And if you are using plasma there is an easy way of just changing the location of the directories pointing to the mentioned folders.

2 Likes

for that a suggestion may be to create a directory (named e.g. ‘private’ ) and set some links to Pictures/Videos/…and so on

1 Like

Format the other SSD as Btrfs.
Create subvolumes Documents, Music, Pictures, …
Mount the subvolumes anywhere convenient in the filesystem. Under your home directory for example.

1 Like

For reference, the folders in my Syncthing setup match exactly what you described, it’s spot-on and works flawlessly. I don’t know your resource situation, but a used Raspberry Pi can often be picked up for as little as $30 on local classifieds, making it an affordable option for most. Just putting it out there.

Don’t let @dbarronoss discourage you from exploring this. Setting up Syncthing isn’t rocket science, and its ignore patterns feature lets you easily exclude all other home folder contents, syncing only the folders you specified.

Sounds like you don’t have too much experience with syncthing.

This entry in the ignored patterns tab solves the concern you’re voicing. All other folders are ignored, and specifically the folders that OP voiced that he wants to keep separate are backed up to a remote device.

It doesn’t take an intermediate skill level to pull this off. Just saying.

I don’t have any (because I don’t use it) :slight_smile:

I recommend using a USB stick or drive with a filesystem, which supports access rights of linux (ext4, xfs, zfs, btrfs) and copy the home directory to the USB device with rsync -ahr /source /destination.
Then make a clean install and copy back.

Yes, this can work fine. An easy and safe way to set this up is to leave the Pictures/Videos/Documents/Downloads folders on the separate disk, mount the separate disk somewhere (put it in fstab), then on the disk where you install the OS you remove the (empty) folders from your home directory and replace them with symlinks to the separate disk mount point.

ln -s /path/to/separate/disk/Pictures ~/Pictures
ln -s /path/to/separate/disk/Videos ~/Videos
ln -s /path/to/separate/disk/Documents ~/Documents

And so on. It should only take a few minutes to set up. Once you have the symlinks, everything will work normally (just as when the files were on the same disk). When you are ready to reinstall, go ahead and wipe the OS disk and then set up your symlinks again on the new distro.

1 Like