For example, I've never really mucked with the USE variables. I asked for advice when I set up the server and haven't changed them (other than adding "vhosts", which I've actually regretted) since. So, I'm really not enough of a tweaker/power user to get the full benefit out of gentoo. I just like being able to keep up with patches/upgrades in a few minutes a day (on average).
Also, heh, I couldn't tell you off the top of my head what "netstat -nlp" does. As long as many of the core utilities are the same or have reasonable counterparts, I'm not too worried about it. It does concern me a bit that BSD divides package upgrades into system and "outside" -- I just want one way of keeping my server up to date -- though it sounds like I use CVSup for both, so maybe to me it'll all be the same.
As far as the learning curve goes, I hear ya. I told my partner (my brother) that if he'd take the time to install FreeBSD on a box at his place and give me root access, I'd play around and check it out. If he blows it off, well, then I just keep on emergin'... ;-)
b
Sancho2k.net Lists wrote:
Ben Munat wrote:
However, since I've been doing 99% of the maintenance of this server, I want to know what I'm in for. So, I'm curious if anyone on the list also runs or has run FreeBSD? If so, what were your impressions? What pitfalls are there? What are the big differences? If you left BSD for Gentoo, why?
We need to give the default answer here for any OS comparison: the only effective way you will see the differences, how they affect you, and reasons you should choose one over the other is to experience both for yourself.
Beyond that, the first rule is: The grass is always greener on the other side. Are you having difficulties in Gentoo Linux? No surprise, you will also have "issues" in FreeBSD, or OpenBSD, or OS X. They may not be the same problems, and they may be worse or they may be not as bad. After switching you are bound to look back and think that there are things that Gentoo handled in their way that you find hard to live without.
That said, my primary server system at home is OpenBSD and has been for 4 years. Close enough to FreeBSD that I can probably comment intelligently on it.
It seems like the ports collection offers everything that portage does (it was the inspiration for portage, after all), but their devs are making the latest versions available and stable faster. Is doing "cvsup" is really the same as "emerge sync" and "make install" in a given apps directory the same as "emerge <thatapp>"? Seems like FreeBSD is a winner... what's the catch?
The ports collection is really great. Honestly though, it's probably not a *whole* lot larger in size than Portage. Gentoo has the largest collection of packages that I've seen in a Linux distro (never used Debian, dunno about it.) If you were to complain about something in Gentoo, the package system should certainly not be it.
One of the foremost differences you'll see between Portage and a port is that you don't have the granularity in your build process. Where Gentoo has USE flags, BSD has flavors. They're roughly the same, but where you may have 15 USE flags for your favorite ebuild, you might find 5 flavors under BSD. Where Gentoo gives you an easy interface into the FEATURES available for your builds, you'll find a bit less capability in your BSD system. And where you have KEYWORDS helping you control the stability of application versions that are installed on your system, you get 1 version of a port most of the time, or a handful of different versions if the differences are well-known and "large". You don't get gentoolkit for a remarkably flexible way of interfacing with package metadata (equery is working pretty sweet these days). You get to use standard Unix tools for getting some of this information, which isn't an altogether bad thing for building your sysadmin skills.
To answer your questions about updating and installing and such, you will generally find your updates broken into two categories: the system and the ports tree. Updates to the system tree will get you stable or current versions of the operating system and the tools/utilities that make it up, kernel inclusive. The ports trees are "outside" software, and are handled in a different collection. CVSup is good to use for both, and similar to an 'emerge sync' will bring your system up to date, but over CVS, not rsync. Ports are easy, like you said a 'make install' in the directory, which creates a binary package and installs it. Just like in Portage, dependencies are auto-resolved, software is downloaded, patches are applied, and it is compiled.
There is a learning curve. You can't jump right into a BSD system expecting it to be just like Linux. You need to read up on *their* documentation. You need to get familiar with *their* toolset, the filesystem heirarchy, the utilities that are available to use. For example, you don't have the command 'netstat -nlp', you would use one of the included tools or the lsof utility. You have to think differently when seeing how hardware is handled (such as differences in ethernet interfaces and hard disks.) The kernel is a bit different. So again, more reasons to spend time experiencing it for yourself.
I fully recommend FreeBSD if you're serious about stable, high-performance server systems. A lot of folks like it for a desktop too. If your reason to switch is that "someone said it was better", I'd do my homework first and see what they mean.
HTH,
DS
