> Instead, the system startup scripts live in /etc/rc.d, and
> the startup scripts for third-party applications stay in
> /usr/local/etc/rc.d.
Personally I have always liked that third-party applications scripts are not stored under /etc but under /usr/local/etc ( /usr/local/ is where packages are installed )
It’s a more clean design, imho.
By the way the rc.x of freebsd5.x was imported from netbsd.
> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot.
> Would not it be good to add it at /usr/local/etc/rc.conf ?
> (/usr/local/etc/rc.conf does not exist )
There is the /etc/rc.conf.local for this purpose. See the rc.conf[1] and rc[2] manpages.
“> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot. ”
You’re quite wrong. Look at the script in /usr/local/etc/rc.d. Recent changes have those scripts look for apache2_enable, smbd_enable, nmbd_enable and more (obviously for the relevant port – apache2 and samba in this example). The scripts will do nothing if those are not set to “YES” in rc.conf (or perhaps rc.conf.local or another file I’m unfamiliar with).
Actually apache2’s default rc.d script has been updated to use the rcNG system, so you do have to edit /etc/rc.conf. More and more ports are installing their startup scripts in this manner. Notably the Mysqls just switched over.
<I/>> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot.
[/i]
Well, a proper rcNG startup script will only start upon startup if you add the rcvar apache2_enable=”YES” to /etc/rc.conf. This is intentional so users have one configuration point for the services and to startup scripts is all set and done and you will not have to rename it to make sure it is run. Thus since the apache2 port now use a proper rcNG script (was inplemented quite some time ago) it will not start unless you’ve added apache2_enable=”YES” to /etc/rc.conf.
Is the way the initalization of a system takes place really important?
Main points are IMHO that it should work and be easily configurable. I’m used to SysV style init, but the BSD init sounds sensible too.
Nice to see some guides appearing that make interplatform use more amenable. The more Free OSes the merrier. I was allready contemplating on checking FreeBSD 5.x out, so a series like this could come quite in handy.
I’m a bit lazy at the moment, so I won’t delve in to Google, but wasn’t there a project underway that would do away with the GNU/Linux SysV init and replace it with a service-manager?
Init is compatible with the System V init. It works
Only from the /etc/inittab on out, does Slackware start to look like BSD. Even so, support for full-blown SysV is provided by the /etc/rc.d/rc.sysvinit script, to enable it:
(cd /etc; ln -s rc.d init.d)
for ((i=0; i<=6; i++)); do mkdir /etc/rc.d/rc$i.d; done
There’s several alternative init systems for Linux as well, most are just not well known or used/tested as much as the common SysV init. I’m using SysV init program only, but with replacement for all that symlink cruft. Just 1 single config file for starting/stopping services in different runlevels. If you’re interested, search Debian packages for “file-rc”.
The article mostly describes surface/cosmetic differences, IMHO the differences between Linux and *BSD systems are more in the distribution management/philosophy area. You can find a good read about this at:
I have tried several distos for quite some time (I think my first was Mandrake 6.0). But If you’re still into sysv style… once you tried BSD (and if you don’t resist change or not paradigm-atic) you too will most certainly find refuge to the BSD style of system organization. It’s really much simplier and logical for me. That’s why I also like Slackware coz of this.
It’s worth noting that the reason the linux man page for ls has terser information is that a much longer and fuller explanation is in info. So rather than the lesson being “trawl the net for other man pages if yours isn’t sufficient” I’d say that checking info first is a good idea…
(Especially for GNU apps, since GNU wants everything to use info.)
Well, I am a *BSD User and I have to somewhat object to the pharse refuge. Sorry, just my opinion. As for run-levels vs *bsd style, Arch and I believe Crux do support *bsd style run levels.
Something that’s a bit annoying with commercial linux distros is the habit of installing third party apps into whatever directory (/opt, /etc,…) comes into the vendors mind (are you listening, Suse, a.k.a Novell ?).
In essence, this script could even be placed in /etc/rc.d directory. Yet, that has the potential to upset the mergemaster(8) utility when used in conjunction with software upgrades.
linux user, looking forward to try freebsd in the future
1) right now i can’t go compiling all of the packages (low end sucky PC), that’s one of the main reasons why i don’t use any source based linux distro (the scary GB of wasted space in /usr/portage… assuming something similar happens with ports). so i couldn’t appreciate the full power of ports.
2) i don’t find so important the diff between BSD and SysV, it’s just a matter of good organization.
3) i’m very curious about the overall consistency that’s “said” to be found in *BSD, but still… my Debian GNU/Linux feels like home. even with the always ongoing significant architectural changes. think of /dev/ management: right now i have a (cool) udev + hotplug system, will that change tomorrow? on the one hand it suggests poor backward consistency, on the other it’s just linux’ cool open nature, i guess.
3) i’m very curious about the overall consistency that’s “said” to be found in *BSD, but still. [snip] think of /dev/ management: right now i have a (cool) udev + hotplug system, will that change tomorrow? on the one hand it suggests poor backward consistency, on the other it’s just linux’ cool open nature, i guess.
Linux isn’t *too* worried about backwards compatability[0]. Which is good from a reducing-cruft standpoint, but makes it hell for someone trying to release binary software for the system. In theory I can dig up a binary from FreeBSD 1.x and run it on a 5.3 system as long as I turn COMPAT_1X on when the system is built.
Consistancy: the difference in FreeBSD and say, Debian, is FreeBSD’s base system is one unit. All the commands, kernel, sshd, etc are treated as one version. Not so great when you to recompile everything[1] in the base system to patch one utility, but it’s great when stuff doesn’t subtly break because I updated, say, tcsh to a new version and the rest of the system doesn’t realize it.
[0] It’d be nice if gcc didn’t change the C++ ABI layer ever .x version. I’m not sure how that would work with old FreeBSD C++ binaries.
[1] You *can* go in an only compile and install the patch stuff, and install it if you choose. On my modest (Celeron 733, 128MB) machine is takes probably 20 minutes to compile the kernel+all modules [2], and 10 hours to compile ‘world’, which is the rest of the base system. I could be way off on the times, I’ve never really clocked it.
[2] Contrary to popular belief, you don’t have to recompile the kernel to use sound. In my desktop system, you simply kldload snd_emu10k1.ko. Or better, put load_snd_emu10k1=”YES” in /boot/loader.conf
I *really* wanted to spend a month with FreeBSD on my desktop (PARSEC). However, I am unable to get sysinstall to create any disk slices on the hard disk. FreeBSD is complaining about the disk geometry, and when I try to write new slices to the disk that I create, it fails with an error. I even tried clearing all partitions with Linux fdisk, and then re-launching the FreeBSD install. No dice. This is puzzling considering that PARSEC uses a standard 60GB ATA-100 drive, and that Linux and Windows partitioning works without any problems.
This was after finding out that USB Keyboard support is broken unless you pass the set hint.atkbd.0.flags=”0x1″ flag to the kernel at boot time.
I have been running FreeBSD on my server (QUASAR) for months, without any major problems. Is it just me or is this 5.3 release buggy? I am still looking for a way to resolve this problem, as I want to try again this weekend. I was planning on upgrading QUASAR from FreeBSD 5.2.1 to FreeBSD 5.3 when I moved, but now I am not so certain.
Anybody else have problems creating partitions with this release? I’d sure love to solve this head scratcher, so I can see how today’s FreeBSD desktop works (esp. now that it has native nVidia drivers!)
OK, there are differences between the *nixes, though if you know one you can figure out the others. The diferences between modern *nix flavors are minor in comparison to other operating systems. It’s not like the difference between Windows and OS9, let alone Windows ME and NT or OS9 and OSX.
On the desktop, they all run X, a window manager, and some kind of desktop environment. These days, that usually means KDE or Gnome.
On the server, they all run the same basic apps and services.
If necessary, the tools can be cross compiled, so the processor type doesn’t even matter. (Example: The Linksys wireless router near my desk runs Linux on a MIPS CPU — I think. It’s such a minor detail it doesn’t even matter much if I’m wrong.)
This past week, when hunting around for a web host provider, I didn’t care what flavor of *nix it was…only that I could mangle it and add in whatever I need.
The other features were what sold me — not the specific brand of *nix.
I’d have no serious concerns using FreeBSD — or not using FreeBSD. It really doesn’t matter except for very narrow and specific uses.
…is stability. FreeBSD is far more stable and has far fewer patches once released than Linux. It seems like patches for the various programs that come with distro X come out hourly.
The nicest thing about FreeBSD is that it is only 1 distro. That means you only have to learn one way of doing something. With linux it depends on the distro.
I view every distro as a separate OS in itself.
Lastly, FreeBSD runs sooooo much better on a laptop. I could not get Wi-Fi working with my laptop running Linux but with FreeBSD I had it up and running in less than 1 hour.
You’re talking mostly simplicity. I’m definately a ‘less is more’ person. Linux distributions are too complex — too cluttered — for most deployments. That’s why I cut out as much as I can and simplify the distribution when I can.
The web server I’m working on started off with ~300 packages. I’ve chopped it down to ~200 and expect to reduce it to well below 100 once I’m done.
This should increase stability and eliminate problems associated with increased complexity (resource useage and human error mainly).
I could have skipped some of these steps by using FreeBSD…though the core is still *nix. If you add all the extras to FreeBSD it would get some of the defects that come along with those extras. Remove them from Linux, and it benifits.
It’s not as simple as I’ve mentioned it above, though unless you’ve got a real strong reason to choose one *nix over another…I don’t see the drastic difference. It’s not like choosing between Windows NT (and later) or Windows ME (and earlier).
After all, would you have any problem using NetBSD or OpenBSD in a pinch? I see all of the *nix variants as basically the same.
Like national or regional keyboards, they are all keyboards … just the keys are in different places or have different charcters on them. Dvorak may be better…though if you figure out one keyboard, learning another is not a big deal.
“The web server I’m working on started off with ~300 packages. I’ve chopped it down to ~200 and expect to reduce it to well below 100 once I’m done.”
hm, you’re going backwards about it. When I install a webserver, I start ONLY with a base installation (easy with debian or slackware and other distros that offer base install), then add only the packages that I want.
Linux can use whatever init the distro/hacker want. Consider GoboLinux… it has its own unique init system (neither SysV nor BSD), which is briefly explained in the last paragraph of this web page:
I’ve been running FreeBSD 4.9 on a super small form factor, lower power, embedded box since early this year. I haven’t had any problems with it and have only ever had to reboot due to extended power outages. (I live in Florida and we lost power for days during the hurricanes this summer. My UPS’s couldn’t keep my little FreeBSD box running all that time.) Anyway…
The system is behind a firewall and only has port 25 available to the Internet. So unless there’s a problem with Postfix, it should be fairly secure.
However – I still want to learn how to update it. I’ve been over the FreeBSD handbook a few times but it’s kind of overwhelming. I would like to learn how to use cvsup to just update 1 single program. Updating the whole box at once sounds like a disaster waiting to happen.
I use Gentoo on my Desktop machine. I’m real comfortable with Linux. Close to a decade of Linux experience. But I chose to use FreeBSD on my mail server box simply because I wanted to learn more about FreeBSD – and it isn’t the end of the world if my private e-mail server goes down for an extended period. My host provider is my MX backup so I don’t lose anything.
I bought a FreeBSD book from freebsdmall.com yesterday so I’m hoping that will help – when it gets here. But in the mean time I just thought I’d post this message. Any FreeBSD experts willing to point me in the right direction? Again – I don’t want to use cvsup to update my whole system – yet. I’m not comfortable with that. I guess I would be looking for the FreeBSD equivilent of “emerge sync” (to syncronize portage), and “emerge NameOfPackage” to update just that one package.
what optional boot parameters can be used with the FreeBSD-5.3 install CD, i need to bypass the USB ports during booting of the install CD #1 becuase i get kernel panic when it starts probing hardware
You can upgrade just one port/package at a time – install the portupgrade port; cvsup the ports-supfile (you have to do just a bit of editing of ports-supfile to make it usable – change CHANGE_THIS.freebsd.org to something like cvsup4.freebsd.org); then run portupgrade [port-or-package-you-want-to-update]. The man page for portupgrade is fairly simple and clear if you have questions about how to run it.
Upgrading the whole system is not at all an invitation to disaster – it works quite wonderfully if you read and follow the Handbook carefully. (Hint – print out the Handbook section so you have it right there for reference.) I update/recompile my userland and kernel every couple of weeks – no fuss, done in an hour or so.
can you e-mail me? I’d like to ask a few questions if you have the time and are willing to entertain my relative FreeBSD ignorance. use blixel at yahoo dott com.
I have been following Dru Lavigne’s articles for some time now. Even though I am a NetBSD/Mac OS X user, her articles have been very useful to me, particularly the articles concerning tar, cron, find, and the Unix filesystem.
hm, you’re going backwards about it. When I install a webserver, I start ONLY with a base installation (easy with debian or slackware and other distros that offer base install), then add only the packages that I want.
Agreed…if I set it up to begin with. It’s a virtual dedicated host with a generic default installation. (Tektonic.net, btw…good so far, and much of what I removed is useful to someone!)
Agreed…if I set it up to begin with. It’s a virtual dedicated host with a generic default installation. (Tektonic.net, btw…good so far, and much of what I removed is useful to someone!)
true.. it all depends on who set it up in the first place before you get your hands in it
Which article? The link has a hoover effect but thats it.
Sorry, too quick to posting (I was first post)…the HTML tag you used has “a hrref”. The link is here: http://www.onlamp.com/pub/a/bsd/2004/11/11/FreeBSD_Basics.html
Compiling the FreeBSD kernel is easier,faster,and you at least don’t see all the , punned pointer, string passed without a cast,etc type mesages.
Nice article,good quick start conversion from Linux to FreeBSD.
Red Hat’s rpm, Debian’s apt-get, and Gentoo’s emerge…
Wouldn’t it be better if its RPM’s yum/urpmi, DEB’s apt-get and Gentoo’s emerge?
> Instead, the system startup scripts live in /etc/rc.d, and
> the startup scripts for third-party applications stay in
> /usr/local/etc/rc.d.
Personally I have always liked that third-party applications scripts are not stored under /etc but under /usr/local/etc ( /usr/local/ is where packages are installed )
It’s a more clean design, imho.
By the way the rc.x of freebsd5.x was imported from netbsd.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtun…
http://www.netbsd.org/guide/en/chap-rc.html
One thing I don’t understand, though.
All Apache2 files, for example, will be installed under /usr/local subdirs such as etc, rc.d and so on.
But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
Would not it be good to add it at
/usr/local/etc/rc.conf ?
( /usr/local/etc/rc.conf does not exist )
In my mind all packages files should be into /usr/local,
so in theory by doing rm -rf /usr/local I should be fine.
( ok, maybe some files are installed into /var dunno )
if I have to remember to edit /etc/rc.conf it will be a pain!
> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot.
> Would not it be good to add it at /usr/local/etc/rc.conf ?
> (/usr/local/etc/rc.conf does not exist )
There is the /etc/rc.conf.local for this purpose. See the rc.conf[1] and rc[2] manpages.
[1]: http://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5
[2]: http://www.freebsd.org/cgi/man.cgi?query=rc&sektion=8
Cheers
Stelios
“> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot. ”
You’re quite wrong. Look at the script in /usr/local/etc/rc.d. Recent changes have those scripts look for apache2_enable, smbd_enable, nmbd_enable and more (obviously for the relevant port – apache2 and samba in this example). The scripts will do nothing if those are not set to “YES” in rc.conf (or perhaps rc.conf.local or another file I’m unfamiliar with).
slack has no SysV style init…
Actually apache2’s default rc.d script has been updated to use the rcNG system, so you do have to edit /etc/rc.conf. More and more ports are installing their startup scripts in this manner. Notably the Mysqls just switched over.
And as irrefutable proof, the following is a comment in /usr/local/etc/rc.d/samba.sh:
# Add the following lines to /etc/rc.conf to enable samba:
#
#samba_enable=”YES”
#
# or, for fine grain control
#
#nmbd_enable=”YES”
#smbd_enable=”YES”
#winbindd_enable=”YES”
.. but it’s an informative article. I’m looking forward to the next part!
<I/>> But why to launch apache2 at boot I have to add apache2_enable=”YES” to /etc/rc.conf ?
You don’t have to do that. The apache rc script is added (e.g. by the port) to the /usr/local/etc/rc.d directory so it is automatically started on boot.
[/i]
Well, a proper rcNG startup script will only start upon startup if you add the rcvar apache2_enable=”YES” to /etc/rc.conf. This is intentional so users have one configuration point for the services and to startup scripts is all set and done and you will not have to rename it to make sure it is run. Thus since the apache2 port now use a proper rcNG script (was inplemented quite some time ago) it will not start unless you’ve added apache2_enable=”YES” to /etc/rc.conf.
Once again, kudos to Dru Lavigne
This is a list of all BSD-related Onlamp articles
http://www.onlamp.com/pub/q/all_bsd_articles
Most of them are really valuable stuff.
Is the way the initalization of a system takes place really important?
Main points are IMHO that it should work and be easily configurable. I’m used to SysV style init, but the BSD init sounds sensible too.
Nice to see some guides appearing that make interplatform use more amenable. The more Free OSes the merrier. I was allready contemplating on checking FreeBSD 5.x out, so a series like this could come quite in handy.
I’m a bit lazy at the moment, so I won’t delve in to Google, but wasn’t there a project underway that would do away with the GNU/Linux SysV init and replace it with a service-manager?
Evert Posted:
> slack has no SysV style init…
Well Linuxes init is SysVish:
$ man init |col -b |grep -i conform -A1
CONFORMING TO
Init is compatible with the System V init. It works
Only from the /etc/inittab on out, does Slackware start to look like BSD. Even so, support for full-blown SysV is provided by the /etc/rc.d/rc.sysvinit script, to enable it:
(cd /etc; ln -s rc.d init.d)
for ((i=0; i<=6; i++)); do mkdir /etc/rc.d/rc$i.d; done
There’s several alternative init systems for Linux as well, most are just not well known or used/tested as much as the common SysV init. I’m using SysV init program only, but with replacement for all that symlink cruft. Just 1 single config file for starting/stopping services in different runlevels. If you’re interested, search Debian packages for “file-rc”.
The article mostly describes surface/cosmetic differences, IMHO the differences between Linux and *BSD systems are more in the distribution management/philosophy area. You can find a good read about this at:
http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4linux1.php
Thanks for the link and the Debian package! I’ll look into it.
I expect this works on Ubuntu too. Just switched to Ubuntu and never been more happy about GNU/Linux.
GNU/Linux could be cleaned up here and there and simpler often means easier to maintain, deploy and administer.
And after using ports we can have 2 copies of config files
and libs in /usr and /usr/local, or /usr/pkg for NetBsd.
For me itis really sign of disorganised system.
How much everything is cleaner in debian. No /usr/etc or
/usr/local/etc or /usr/pkg/etc. Eevrything in one place.
I have tried several distos for quite some time (I think my first was Mandrake 6.0). But If you’re still into sysv style… once you tried BSD (and if you don’t resist change or not paradigm-atic) you too will most certainly find refuge to the BSD style of system organization. It’s really much simplier and logical for me. That’s why I also like Slackware coz of this.
It’s worth noting that the reason the linux man page for ls has terser information is that a much longer and fuller explanation is in info. So rather than the lesson being “trawl the net for other man pages if yours isn’t sufficient” I’d say that checking info first is a good idea…
(Especially for GNU apps, since GNU wants everything to use info.)
Well, I am a *BSD User and I have to somewhat object to the pharse refuge. Sorry, just my opinion. As for run-levels vs *bsd style, Arch and I believe Crux do support *bsd style run levels.
Just an FYI, also Slack is a way cool distro.
Something that’s a bit annoying with commercial linux distros is the habit of installing third party apps into whatever directory (/opt, /etc,…) comes into the vendors mind (are you listening, Suse, a.k.a Novell ?).
The link you have to the handbook explains this
In essence, this script could even be placed in /etc/rc.d directory. Yet, that has the potential to upset the mergemaster(8) utility when used in conjunction with software upgrades.
In other words it saves you A World of Pain ®
linux user, looking forward to try freebsd in the future
1) right now i can’t go compiling all of the packages (low end sucky PC), that’s one of the main reasons why i don’t use any source based linux distro (the scary GB of wasted space in /usr/portage… assuming something similar happens with ports). so i couldn’t appreciate the full power of ports.
2) i don’t find so important the diff between BSD and SysV, it’s just a matter of good organization.
3) i’m very curious about the overall consistency that’s “said” to be found in *BSD, but still… my Debian GNU/Linux feels like home. even with the always ongoing significant architectural changes. think of /dev/ management: right now i have a (cool) udev + hotplug system, will that change tomorrow? on the one hand it suggests poor backward consistency, on the other it’s just linux’ cool open nature, i guess.
3) i’m very curious about the overall consistency that’s “said” to be found in *BSD, but still. [snip] think of /dev/ management: right now i have a (cool) udev + hotplug system, will that change tomorrow? on the one hand it suggests poor backward consistency, on the other it’s just linux’ cool open nature, i guess.
Linux isn’t *too* worried about backwards compatability[0]. Which is good from a reducing-cruft standpoint, but makes it hell for someone trying to release binary software for the system. In theory I can dig up a binary from FreeBSD 1.x and run it on a 5.3 system as long as I turn COMPAT_1X on when the system is built.
Consistancy: the difference in FreeBSD and say, Debian, is FreeBSD’s base system is one unit. All the commands, kernel, sshd, etc are treated as one version. Not so great when you to recompile everything[1] in the base system to patch one utility, but it’s great when stuff doesn’t subtly break because I updated, say, tcsh to a new version and the rest of the system doesn’t realize it.
[0] It’d be nice if gcc didn’t change the C++ ABI layer ever .x version. I’m not sure how that would work with old FreeBSD C++ binaries.
[1] You *can* go in an only compile and install the patch stuff, and install it if you choose. On my modest (Celeron 733, 128MB) machine is takes probably 20 minutes to compile the kernel+all modules [2], and 10 hours to compile ‘world’, which is the rest of the base system. I could be way off on the times, I’ve never really clocked it.
[2] Contrary to popular belief, you don’t have to recompile the kernel to use sound. In my desktop system, you simply kldload snd_emu10k1.ko. Or better, put load_snd_emu10k1=”YES” in /boot/loader.conf
I *really* wanted to spend a month with FreeBSD on my desktop (PARSEC). However, I am unable to get sysinstall to create any disk slices on the hard disk. FreeBSD is complaining about the disk geometry, and when I try to write new slices to the disk that I create, it fails with an error. I even tried clearing all partitions with Linux fdisk, and then re-launching the FreeBSD install. No dice. This is puzzling considering that PARSEC uses a standard 60GB ATA-100 drive, and that Linux and Windows partitioning works without any problems.
This was after finding out that USB Keyboard support is broken unless you pass the set hint.atkbd.0.flags=”0x1″ flag to the kernel at boot time.
I have been running FreeBSD on my server (QUASAR) for months, without any major problems. Is it just me or is this 5.3 release buggy? I am still looking for a way to resolve this problem, as I want to try again this weekend. I was planning on upgrading QUASAR from FreeBSD 5.2.1 to FreeBSD 5.3 when I moved, but now I am not so certain.
Anybody else have problems creating partitions with this release? I’d sure love to solve this head scratcher, so I can see how today’s FreeBSD desktop works (esp. now that it has native nVidia drivers!)
What is he aiming for widescreen users? I’m running 1600×1200 and the text’s to wide to fit.
And it’s not just IE that’s crap this time it’s in FF1.0 and mozilla 1.8a on windows as well. As in Mozilla 1.7 on my and my moms Gentoo machines.
My conclusion: The article is nice, would be nicer if it was in a readable layout and I’m sticking to Gentoo.
OK, there are differences between the *nixes, though if you know one you can figure out the others. The diferences between modern *nix flavors are minor in comparison to other operating systems. It’s not like the difference between Windows and OS9, let alone Windows ME and NT or OS9 and OSX.
On the desktop, they all run X, a window manager, and some kind of desktop environment. These days, that usually means KDE or Gnome.
On the server, they all run the same basic apps and services.
If necessary, the tools can be cross compiled, so the processor type doesn’t even matter. (Example: The Linksys wireless router near my desk runs Linux on a MIPS CPU — I think. It’s such a minor detail it doesn’t even matter much if I’m wrong.)
This past week, when hunting around for a web host provider, I didn’t care what flavor of *nix it was…only that I could mangle it and add in whatever I need.
The other features were what sold me — not the specific brand of *nix.
I’d have no serious concerns using FreeBSD — or not using FreeBSD. It really doesn’t matter except for very narrow and specific uses.
…is stability. FreeBSD is far more stable and has far fewer patches once released than Linux. It seems like patches for the various programs that come with distro X come out hourly.
The nicest thing about FreeBSD is that it is only 1 distro. That means you only have to learn one way of doing something. With linux it depends on the distro.
I view every distro as a separate OS in itself.
Lastly, FreeBSD runs sooooo much better on a laptop. I could not get Wi-Fi working with my laptop running Linux but with FreeBSD I had it up and running in less than 1 hour.
You’re talking mostly simplicity. I’m definately a ‘less is more’ person. Linux distributions are too complex — too cluttered — for most deployments. That’s why I cut out as much as I can and simplify the distribution when I can.
The web server I’m working on started off with ~300 packages. I’ve chopped it down to ~200 and expect to reduce it to well below 100 once I’m done.
This should increase stability and eliminate problems associated with increased complexity (resource useage and human error mainly).
I could have skipped some of these steps by using FreeBSD…though the core is still *nix. If you add all the extras to FreeBSD it would get some of the defects that come along with those extras. Remove them from Linux, and it benifits.
It’s not as simple as I’ve mentioned it above, though unless you’ve got a real strong reason to choose one *nix over another…I don’t see the drastic difference. It’s not like choosing between Windows NT (and later) or Windows ME (and earlier).
After all, would you have any problem using NetBSD or OpenBSD in a pinch? I see all of the *nix variants as basically the same.
Like national or regional keyboards, they are all keyboards … just the keys are in different places or have different charcters on them. Dvorak may be better…though if you figure out one keyboard, learning another is not a big deal.
“The web server I’m working on started off with ~300 packages. I’ve chopped it down to ~200 and expect to reduce it to well below 100 once I’m done.”
hm, you’re going backwards about it.
When I install a webserver, I start ONLY with a base installation (easy with debian or slackware and other distros that offer base install), then add only the packages that I want.
Well Linuxes init is SysVish:
Linux can use whatever init the distro/hacker want. Consider GoboLinux… it has its own unique init system (neither SysV nor BSD), which is briefly explained in the last paragraph of this web page:
http://gobolinux.org/index.php?lang=en_US&page=quickdifflist
The Gobo init is very easy and clear.
I’ve been running FreeBSD 4.9 on a super small form factor, lower power, embedded box since early this year. I haven’t had any problems with it and have only ever had to reboot due to extended power outages. (I live in Florida and we lost power for days during the hurricanes this summer. My UPS’s couldn’t keep my little FreeBSD box running all that time.) Anyway…
The system is behind a firewall and only has port 25 available to the Internet. So unless there’s a problem with Postfix, it should be fairly secure.
However – I still want to learn how to update it. I’ve been over the FreeBSD handbook a few times but it’s kind of overwhelming. I would like to learn how to use cvsup to just update 1 single program. Updating the whole box at once sounds like a disaster waiting to happen.
I use Gentoo on my Desktop machine. I’m real comfortable with Linux. Close to a decade of Linux experience. But I chose to use FreeBSD on my mail server box simply because I wanted to learn more about FreeBSD – and it isn’t the end of the world if my private e-mail server goes down for an extended period. My host provider is my MX backup so I don’t lose anything.
I bought a FreeBSD book from freebsdmall.com yesterday so I’m hoping that will help – when it gets here. But in the mean time I just thought I’d post this message. Any FreeBSD experts willing to point me in the right direction? Again – I don’t want to use cvsup to update my whole system – yet. I’m not comfortable with that. I guess I would be looking for the FreeBSD equivilent of “emerge sync” (to syncronize portage), and “emerge NameOfPackage” to update just that one package.
what optional boot parameters can be used with the FreeBSD-5.3 install CD, i need to bypass the USB ports during booting of the install CD #1 becuase i get kernel panic when it starts probing hardware
There is a preformatted comment at the bottom, tbf the poster did ask for it to be edited
I know what you mean though, perhaps a sanity check on the comments code would help
You can upgrade just one port/package at a time – install the portupgrade port; cvsup the ports-supfile (you have to do just a bit of editing of ports-supfile to make it usable – change CHANGE_THIS.freebsd.org to something like cvsup4.freebsd.org); then run portupgrade [port-or-package-you-want-to-update]. The man page for portupgrade is fairly simple and clear if you have questions about how to run it.
Upgrading the whole system is not at all an invitation to disaster – it works quite wonderfully if you read and follow the Handbook carefully. (Hint – print out the Handbook section so you have it right there for reference.) I update/recompile my userland and kernel every couple of weeks – no fuss, done in an hour or so.
can you e-mail me? I’d like to ask a few questions if you have the time and are willing to entertain my relative FreeBSD ignorance. use blixel at yahoo dott com.
I have been following Dru Lavigne’s articles for some time now. Even though I am a NetBSD/Mac OS X user, her articles have been very useful to me, particularly the articles concerning tar, cron, find, and the Unix filesystem.
Thanks for all the great articles Dru!!
hm, you’re going backwards about it.
When I install a webserver, I start ONLY with a base installation (easy with debian or slackware and other distros that offer base install), then add only the packages that I want.
Agreed…if I set it up to begin with. It’s a virtual dedicated host with a generic default installation. (Tektonic.net, btw…good so far, and much of what I removed is useful to someone!)
Agreed…if I set it up to begin with. It’s a virtual dedicated host with a generic default installation. (Tektonic.net, btw…good so far, and much of what I removed is useful to someone!)
true.. it all depends on who set it up in the first place before you get your hands in it