I'm thinking of getting a dedicated FreeBSD box to learn how to admin it. I've been reading the FreeBSD handbook and something strikes me; it says that make installworld should be done on single user mode, so it is impossible to do it remotely unless you have a remote console.
So my questions are: 1) Do you FreeBSD admins make buildworld remotely at all (on multiuser mode)? If so, how often? 2) Is it safe to make installworld on multiuser mode? 3) If make buildworld is not needed, do you update only parts of your system, or do you still make buildworld and make installworld because it is the "recommended" way of updating your system? 4) Is there any other way to keep your FreeBSD system updated without doing make installworld, which is apparently unsafe in multiuser mode?
The question I really want to ask is, is FreeBSD really suitable to be upgraded remotely? Or is it better to have physical access to the server?
Yes, it is safe to installworld remotely. Well, pretty much. I wouldn't do it on a system running -current, but it should be safe apart from that.
The logic behind the suggestion is that having programs and libraries out of sync will cause problems; but (at least theoretically) this shouldn't happen on -STABLE, and it is definitely never going to happen on security branches. (If you want to be really careful, disable user logins for the duration of the installworld and reboot immediately thereafter.)
Speaking of which, you don't mention which branch you're tracking; it should be RELENG_4_8.
All of the above notwithstanding... I don't build world or kernel on my production systems; instead, I use FreeBSD Update to fetch and install binary updates. Much easier, faster, more secure, and as a side benefit binary updates are usually available before the source updates reach the mirrors.
RELENG_4 is the stable development branch. Anyone who causes this to break is awarded a pointy hat. This doesn't happen often, but it does happen. If you really must track RELENG_4, I suggest that you cvsup, wait a few days, read the freebsd-stable mailing list to make sure that there haven't been any major problems recently, and then build. But unless you absolutely must have the latest bug fixes (and by this point they tend to be rather unimportant) there's no reason to track RELENG_4.
FreeBSD Update is not (yet) officially endorsed by the FreeBSD Project. FreeBSD Update is officially endorsed by me. Yes, it will work reliably with the kernel and libraries (at least, it's been used by several thousand people, and nobody has reported problems). Note, however, that it can only install new GENERIC kernels; if you need/want a customized kernel, you'll have to build it yourself.
I intend to track RELENG_4 only because RELENG_4_8 will become "not officially supported" soon, and I'm concerned about not having the same level of quality fixes (I'm probably nitpicking, I know).
Another question: would using FreeBSD Update be like following RELENG_4_8, RELENG_4 or is it unrelated with any branch? If, say, XFree86, has any critical bug, will FreeBSD Update update it, or will only update system files? (If XFree86 is considered part of the system, substitute it for Apache, BIND, wget or whatever)