View Full Version : /home vs. /usr/home

12-10-2005, 12:03 AM
When installing PC-BSD 1.0RC1, I decided to use the disklabel option, creating small partitions for swap, / and /var, following an example in the FreeBSD Handbook [1].

All was going well until I tried to download a large file to my home directory and the / partition ran out of space. I've since read that on FreeBSD and PC-BSD, /home is just a link to /usr/home, but in my case, it's not a symlink at all, so it sits under the / filesystem rather than /usr.

Which is correct? If /home has been changed to no longer be a symlink, I'm wondering whether I should install everything on one big partition, or whether I should create separate partitions for /home and /usr.

Nathan Jones

[1] http://www.freebsd.org/doc/en_US.ISO885 ... steps.html (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install-steps.html)

12-10-2005, 12:32 AM
By default PC-BSD uses one big partition and /var /usr /home etc are directories rather than patitions.

You are right, /usr/home is gone now - I assume that was a FreeBSD 6 change - PC-BSD should not have made a change of that magnitude. They did make some other changes to the standard BSD directory structure, /stand is gone now as well.

You may want to create a custom /swap partition I suppose, but I leave that up to the auto installer. If you have massive ram and little HD space creating a smaller swap "might" help reclaim some space, but thats ad advanced option that really should only be taken if you believe you have good reason, and know how much swap you would be likely to need.

Seperate patitions for /home and /usr are generally a bad idea on a desktop/home user system.

12-10-2005, 12:50 AM
There are a LOT of opinions on how a disk should be partitioned. The "standard" way, if you can call it that, is to have slices for /, /dev, /tmp, /usr and /var. The reasoning is that you would like to protect these slices from each other in the event that any one of them overflows or does other unwise things (like the famous rm -r *). /tmp and /var, for example, can grow to sizes that you might not expect, and if they do, the rest of the system works fine.

Now you don't mention that you created /usr at all; I'll assume you did. I also don't know why you have a /home directory, as mine sits in its usual /usr/home location. /home for me is a symlink to /usr/home.

If you want to change this, it would be easy simply to move it by creating /usr/home, copying the contents of /home to its new location, removing the /home directory, and then adding the symlink pointing to /usr/home. Everything should work fine.

You should note that I use straight FreeBSD (6.0 at the moment) so I don't quite know how Kris sets things up (or exactly what you did). I used pretty much standard partitioning when I laid out the disk, which was back in the 6.0-RC1 days. Perhaps things have changed, but I would be surprised.

Regarding your question on whether simply to create one large / directory, I suggest that you don't do it. The added safety in breaking things up is nice, and in this era of very large disk drives, the small amount of space you "waste" is not that important.

It might help if you post how you partitioned the drive, for example, by looking at the output of the command "df" (without the quotes).


12-10-2005, 01:02 AM

Once again, you and I were typing replies at the same time. We gotta stop doing that!

PC-BSD really uses one large partition? Maybe I'm just conservative, but I don't think that's a good idea. I've had overflow conditions that would have eaten the entire disk, and I'm glad they just took down /tmp (in my case).

The other changes you mention, if they happened in FreeBSD, they happened with 6.0-RELEASE, and not with any of the earlier release candidates. I would really be surprised if this happened, as I mentioned, as the FreeBSD crew are very conservative about some things. Then again, I still have the /stand directory, so maybe you are right.


12-10-2005, 01:37 AM
I FOUND IT!!!!! I knew I read it somewhere: from http://www.freebsd.org/doc/en_US.ISO885 ... world.html (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html)

20.4.13 Update /stand

Note: This step is included only for completeness. It can safely be omitted. If you are using FreeBSD 5.2 or later, the /rescue directory is automatically updated for the user with current, statically compiled binaries during make installworld, thus obsoleting the need to update /stand (which does not exist at all on FreeBSD 6.0 and later).

Not being pedantic, just pointing out the every now and then FreeBSD will take crack and make some changes. I'm still looking for the reference to the replacement of /usr/home with no simlink to it's new home /home. If this one is correct, can you IMAGINE how many scripts will break?

which sysinstall

12-10-2005, 01:41 AM
I knew about the elimination of /stand in 6.0. That I still have it means to me that some changes were indeed made from the release candidates to the release. But your comment is right on -- too much would break if /usr/home would be eliminated. I'd be surprised. Then again, I've been surprised before, and undoubtedly will be again.


12-10-2005, 01:47 AM
Thanks DrJ

Does anyone have the final release of FreeBSD 6.0 installed? Does it have a /usr/home directory , or what is the status of /home and /usr/home in terms of existence and symlinks?. This is really important to know about I believe - I have multiple installs of the released version of PC-BSD1.0rc1 and they all have no /usr/home or simlink to it - only /home exists. Maybe it's just my install. I'd made some really stupid posts a while back about rc1 only to realise I had a pre-release copy and they all changed when I downloaded the version promoted on this site. But I'm running the "right" version now.

12-10-2005, 01:57 AM

--- edit ----------------------------------------------
sorry wrong thread

12-10-2005, 02:08 AM
Well, this sort of thing (directory locations and partitioning) is very easy to change. Partitioning may just be my thing, but maintaining complete compatibility with FreeBSD ports is important. Where certain things are located is part of that. A very simply fix, for example, would be to point to /home from /usr/home if that directory is still needed.

Unfortunately, it seems that to answer the original question we have to know what exactly PC-BSD is doing, and what 6.0 is doing, about /home and /usr/home. That's not clear to me at all, as I upgraded from the release candidates and didn't install 6.0-RELEASE to begin with.


12-10-2005, 05:07 PM
The change to /home instead of /usr/home was a FreeBSD 6.0 change, *not* a PC-BSD one.

Hope that clears some things up.

12-10-2005, 05:26 PM
I have Freebsd 6.0 release installed, /home is still a symlink to /usr/home.

12-11-2005, 04:02 AM
Thanks for the feedback everyone. I initially tried copying /home to /usr/home and symlinking /home to /usr/home.

I didn't replicate permissions properly and had some troubles. But I was planning on reinstalling anyway, so I now have a fresh install with the default single partition. I know it's not ideal, but for a single-user desktop which is only a secondary computer to our iMac, it's a suitable choice.

12-11-2005, 04:18 AM
I should have mentioned the cp flags. You want "cp -R -p old_directory new_directory" to recursively copy a directory and preserve file attributes. If you are reinstalling anyway, you may or may not want to try this.