More specifically, I want to have the user folder for my home account another disk that has more space, but keep my other smaller accounts on my ssd. I was able to copy my user folder to another disk, but now I need to link it to the home folder on my ssd, I want it accessible from a normal boot, and please don't tell me that what I did was not the best thing, I just want an answer. How do I get it to create a link that goes from /home/username to /extra-home/username and is recognised by the system when loading the user folders?
Remember that your permissions will need to be the same. In addition to symlink, on more recent distros and filesystems, as root you can also use bind-mount:
mount --bind --verbose /extra-home/username /home/username
This is useful for allowing access "through" the /home directory to subdirs via daemons that are otherwise configured to avoid pathing through symlinks (apache, ftpd, etc.).
You have to remember (or init script) to bind upon restarts, of course.
I would try this:
While logged in as a different user, in a root shell (e.g.
sudo -i), copy over the contents of
/extra-home/username and make sure the new location is owned by
# cp -p /home/username /extra-home/ # chown username:username /extra-home/username
Move the original
/home/username/ directory to a safe place:
# mv /home/username /root/
Create the symlink:
# ln -s /extra-home/username /home/username
Verify it's working as expected by opening another terminal window and running
$ sudo su username
If everything looks good, at least from the terminal (contents of
/home/username/ appear as expected), then log out and log back in (I'm assuming you're on Ubuntu desktop) and it should be working normally. However, if it isn't, just delete the symlink and move the archived home folder back to its original location.