FreeBSD 5.0 Developer Preview #2
noackjr writes "'The FreeBSD Project is proud to announce the availability of the second Developer Preview snapshot of FreeBSD 5.0 (5.0-DP2). This
snapshot, intended for widespread testing purposes, is the latest milestone towards the eventual release of FreeBSD 5.0-RELEASE, currently scheduled for mid-December 2002.' See the announcement, early adopter's guide, and the release notes."
I think the release notes are supposed to deal with changes. FreeBSD has always been able to run KDE and GNOME, som them not being mentioned should mean that they still work.
Yeah, so dead, that they continue to release new versions!
(note to troll: the story about FreeBSD's latest release is hardly the place to try the ol' 'BSD is dying' ploy)
Because the FreeBSD core team is really building the OS, KDE and Gnome are userland applications are are out of the scope of the core team. KDE and Gnome is left as a port that the user can optionally install later (cd /usr/ports/x11/gnome; make install clean or cd to /usr/ports/x11/kde3; make install clean). In fact the FreeBSD team has been moving to streamline their installer recently be removing as many third party applications (perl) from the base system as possible and instead making them ports.
I read the internet for the articles.
Jeremy Zawodny, who works at Yahoo, wrote an interesting article in his weblog a few months ago. It chronicles his experience with MySQL under FreeBSD and MySQL's problems with threading under FreeBSD. It will be interesting to see if 5.0 improves these things significantly.
6.02x10^23, baby!
NetBSD I've read has the best sparc port out there (and the most well tested).
If the application you want to run is one of the 5000 applications in the "FreeBSD ports collection", then a simple "make install" in the proper directory will download the sources, patch them for FreeBSD, compile and install. If you need to run something that is distributed as binaries only, then FreeBSD has support for the Linux ABI. I run Linux versions of Mathematica and Unreal Tournament 2003 with no problems at all.
I'm a FreeBSD user since three months, and I think FreeBSD is an excellent beginner's unix.
My unix adventures started with downloading Redhat and installing it. It took 30 minutes and I learned nothing. Then I sat there with a system that I had no idea how to configure to my taste. I disliked it and went back to Windows.
My next try was FreeBSD. Installing it took a couple of tries and it took at least a day or two before I was satisfied. But I learned a lot, mainly because of the excellent online documentation. Now I run FreeBSD on all my computers and I am not going back.
That being said, expect Linux to have better support for the latest and greatest hardware. (And expect Windows to have even better hardware support than Linux!) But I'm happy since the recent release of FreeBSD drivers for my NVidia card.
Linux is beginning to hit so big in corporate America that the software development effort to develop new applications and port existing applications to Linux is amazing.
This of course is just my opinion, but I would have to say that the development effort for Linux is outpacing that of the FreeBSD community.
I suppose the bottom line though is what works best for you? I would recommend that you take a look at both and decide for yourself which one works best for you.
Besides some small (and not so small) technical differences, the most significant divergence between BSD and Linux is the license model (and the underlying philosophy). Linux is a GPL kernel, with GNU tools providing rest of the system (thus GNU/Linux). The GPL license has a clause that says if one wants to distribute a modified version of a GPL'ed software, one must also include the modified source code. BSD however says you can do whatever you want with the program and its code, including selling your modified version without source code. All you have to do is include the BSD/UC Berkeley copyright notice. If you ever read the MS Windows copyrigth page, it includes the BSD Copyright. Yes, MS Windows has some BSD code.
A lot of other Open Source software are BSD styled. Others are GPL.
It's a matter of which philosophy you subscribe to.
In Soviet Russia, articles before post read *you*!
Here are some big ticket items in -CURRENT that you might want to check out.
;).. Recommended you use UFS2 for full extended attribute support.
:)
;(.. UFS2 is not yet bootable on i386 due to space constraints in the boot loader. No word on whether this will be fixed in time.
/pub/FreeBSD/development I believe. sparc64 is actually part of the DP release
/etc/rc.d. This is basically an import from NetBSD. scripts in rc.d, as opposed to the init.d/rc*.d method where the filename determines the dependency order, use a program called rcorder(8) to determine the order in which scripts are executed. rcorder determines the order by special headers in the scripts. e.g.
1) Filesystem Snapshots/Background fsck - On filesystems with softupdates enabled, fsck will be performed on the mounted filesystem (well, actually a snapshot) after the disk is mounted. This allows fsck to be run without affecting uptime along with the other obvious benefits of having snapshot support (dump comes to mind).
2) ACLs - Filesystem ACLs are included with FreeBSD now and can be set using the standard setfacl/getfacl methods
3) LOMAC - The LOMAC with DP2 is apparently old and seems intrusive. A recommendation from the author was to try the version of LOMAC from trustedbsd CVS. It is said to contain "99% less ASS"
4) MAC - I personally haven't tried it yet, however I plan to. Recommended you use UFS2 for full extended attribute support. This could/should rock
5) GEOM - A modular framework for disk I/O. This allows modules to be placed along the I/O request path in order to do nifty things such as filesystem encryption easily. There is an encryption module already written for this as well
6) UFS2 - UFS with extended attributes support and various code cleanup afaik. sysinstall will use UFS1 by default
7) SMPng - Have at it.. Last I heard, the speed increases weren't as significant as people seem to think they'll be. The groundwork is laid out though for future speed improvements. A lot of code has been moved out from under Giant (Big Giant Lock). That could have definitely changed though, as the last time I heard an SMPng update was at the kernel summit in SF. There are quite a few debugging options enabled in GENERIC, so you might want to take note of that.
8) sparc64/Itan{ic|ium} - If you have a supported hardware config.. Itanium is under
9) gcc3 - Nothing more to really put here.
10) New and improved rc system in
# PROVIDE: sshd
# REQUIRE: LOGIN
# KEYWORD: FreeBSD NetBSD
Ports, unfortunately, does not use this dependency system yet. However, last I heard, there will be a cutoff date at which time they should support it.
Some information may be outdated, but most of it should be correct.
Enjoy,
-JD-
For the sake of clarity to all... Sparc64 and UltraSparc are 2 different but instruction compatable cpu series. Sparc64 is a Fujitsu product and UltraSparc is a Sun product. They are both SPARC V9 instruction set compliant but have some different innards that make them not the same thing. (Athlon XP vs Pentium 4 basically) The Sparc64 runs at lower clock rates than the UltraSparc series CPU but can achieve similar performance by using more advanced branch prediction and out of order execution techniques. Just mentioning this because many people use Sparc64 and UltraSparc interchangably but keep in mind that just because something is in the "Sparc64" FreeBSD port doesn't necessarily mean it will run on a real Fujitsu Sparc64 system which may have different hardware entirely than Sun. ;)
Just after compiling the perl port, do:
use.perl port <enter>
and you STABLE system will always use the perl from the ports. This will probably save you a headache or two when upgrading to CURRENT
Funny, I have quite the opposite judgement. I'm a huge FreeBSD fan, am typing this on my FreeBSD laptop in fact, but it now dual-boots Gentoo. One of the big selling points of FreeBSD, for me, was the ports system -- RPM is just so much of a headache -- but that was until I met gentoo. It has really gotten rid of many of the headaches associated with FreeBSD's ports: in particular, if you have a port A installed, and then port B pulls in a newer version of port A, the old version can be uninstalled automatically and safely in Gentoo without touching any of the new files. (In fact Gentoo now does it automatically.) And that's just one aspect: I like the fact that gentoo portage supports multiple versions of ports, that it generates the CONTENTS file automatically, and if your favourite port hasn't been updated to the latest version, you can often trivially do it yourself (you can also do that in FreeBSD but it's more complicated to get the CONTENTS right, and if you don't it won't uninstall cleanly). Now that I've used Gentoo for some time, FreeBSD's ports system is clearly showing its rough edges and deficiencies.
So why am I sticking with FreeBSD? Because it performs better (especially under load), and a lot of things just work better -- eg, I occasionally have problems with ppp or dhcp/cable modem in linux, never in FreeBSD. But gentoo has huge potential, in fact it's already a pretty spiffy system, I think. If I had multiple machines, I'd install FreeBSD on the "mission critical" ones and gentoo on the "play" ones (bleeding-edge software, multimedia, etc).
When my company was just starting out in late 1998, we deployed Linux for our custom S.E.D.D solution. It worked reasonably, aside from the occassional ext2 filesystem crash or kernel panic, which wasn't a big deal then since we had redundancy and weren't under heavy load. Unfortunately, when the load started increasing, so did the crashes and panics. The systems needed to be reinstalled every week. After messing around trying to get the 2.3.x series of kernels to work, I eventually had a cutting edge test server to see if the latest Linux offering could match up. It didn't.
I read about FreeBSD and downloaded the 3.2-RELEASE version. Since then I've tracked both STABLE and CURRENT, and I can say with conviction that any FreeBSD system is more stable, can take higher load, and is far easier to configure for hard-core use than is any Linux dsitribution, in my experience. The FreeBSD servers slowed (but even then, not as much as the Linux servers had), but didn't crash, even when far higher load was placed on them than was placed on the Linux servers we used to run. As a S.E.D.D company, we send millions of secure documents out per day, and also thousands at once. Since this IS Slashdot, and people here are Linux fanatics, I am not logged in with my username or password, since (a) I don't want to lose all of my karma and (b) I don't want childish Linuxbrats sending flames to me.
Linux may be ok for some, but for people who are trying to run their own companies, still have some sort of life, have other hobbies, like horse riding, and have girlfriends, Linux is not the ideal solution.
I was having similar problems with FreeBSD, regarding newer versions of ports, and portupgrade helps a lot in making this easy to handle. It's made managing things just so much easier. It's incredible, really.
----------
Floccinaucinihilipilification - the action or habit of judging something to be worthless
Support for not building certain subsystems has been there for a while now. Read /etc/defaults/make.conf, and put the appropriate lines in /etc/make.conf. You won't get BIND or Sendmail or Perl or whatever when you rebuild your system.
Um, exactly how much experience do you have with Gentoo? I've been using it as my only OS for several months now, and ports has served me not only in installing ports and whatnot, but allowing me to edit my ebuilds to test alpha-pre-rc software like I have a tendency to. Specifically, what don't you like about Portage? Do you realize there are extension tools (in gentoolkit) that add package management on top of emerge?
A deep unwavering belief is a sure sign you're missing something...
You already can do that with bind (build with PORT_REPLACES_BASE_BIND8) and openssh (build with OPENSSH_OVERWRITE_BASE).
bash$
As the others mentioned, portupgrade can help quite a bit. It has its problems though.
/var/db/pkg and how it could render the system useless didn't give me enough (read: any) confidence to use it in a server situation.
1) It's confusing. Upgrading ports and packages should *not* be this difficult. The documentation is terrible which only adds to the confusion.
2) portupgrade belongs in the base system. It needs to be rewritten in C so as to remove Ruby dependency (they did remove Perl from 5.0 for this reason, after all).
I guess it's too late for 5.0, but I wish something would be done about the complex nature of upgrading FreeBSD, both the base system and ports.
I recently started using Redhat 7.3 on a server of ours and I have to say that running 'up2date' is MUCH simpler than trying to upgrade PHP and all of its dependencies on FreeBSD whenever a security fix was released. All of the repeated warnings in portupgrade about backing up
The one issue I have about RH's 'up2date' tool is that it doesn't seem to make any distinction between the base system (OS) and add-on RPMs. Even if it did, I would prefer having two separate tools for that.
I concede that FreeBSD *is* more stable than Linux. However, the data you're using is nearly five years old, an eternity in the technology world. FreeBSD is certainly no longer an order of magnitude more stable than Linux, while at the same time both FreeBSD and Linux are several orders of magnitude more stable than Windows on "do-it-yourself" hardware found at small companies or in homes.
Of course, for controlled quantities like vendor-supplied hardware, all three can be very stable, though I'd still suggest that FreeBSD and Linux are at least an order of magnitude more stable than Windows.
And just to inject some of my own anecodtal evidence, on a volunteer basis I administrate several SMP x86 file and Web servers for NGO's/NPO's that 1) run Slackware Linux, 2) have uptimes >700 days and 3) have significant load a good percentage of the time with load spikes at times that can reach into the stratosphere.
STOP . AMERICA . NOW
I've read that Apple is working on getting Darwin and FreeBSD a lot more in synch. A lot of the big changes in FreeBSD 5.0 (devfs, SMP stuff, etc) are kernel changes though, and won't matter at all to OSX which has its own kernel and relies on FreeBSD (and NetBSD I believe) for the userland tools and stuff.
Oddly enough, the installer isn't ncurses, it's a program called 'dialog'. It's a kludge that someone jkh beat into the system a while back, and everyone would like to see changed, although efforts have stalled at the moment.
The history is here, for further reading.
Mooniacs for iOS and Android
>Portupgrade under freebsd just blows chunks, and not just because yet another script interpreter (ruby) needs to be installed. It croaks a lot when dependancies somehow shift (because you compiled new versions of something). Which lieves you with the dreaded pkgdb -F which sometimes leaves you guessing.
I suggest you lok into the '-r' and '-R' options of portupgrade, it automatically handles the dependencies for you.
--Jon
http://www.witchspace.com
If linux was so wonderful then why would apple choose BSD for OS X and not linux?
Umm, they didn't. Choose, that is. The decision was made by NeXT, years before, after Jobs had left Apple and started hanging out with Avi Tenevian (sp?). NeXT chose BSD over Mach, which was state-of-the-art for Unix at the time, and is still very good (I personally am ambivalent on the subject of microkernels, but some people have very strong feelings about them).
Apple's next-generation OS (Copland, Pink, whatever) was in fairly dire straits, they had been working on it for years and had gotten precisely nowhere. So Apple bought NeXT, but NeXT people wound up in charge, and they made the decision that MacOS X would be the next (no pun intended) iteration of the NeXT OS.
Even without this, Apple would never have chosen Linux - if they had to release their modifications to it under the GPL, people would just have run it on cheaper PCs, and Apple make almost all their money on hardware. The BSD license allowed them to compromise.
The "standard" NetBSD iso image contains everything you need to install for a basic desktop machine. It includes compilers, X Window system, etc. What it doesn't include is third party stuff like KDE, GNOME or Apache. That can be installed from the packages collection (akin to the FreeBSD ports collection, only a port is a different architecture in NetBSD terminology). If you can't or wont install packages from the FTP sites, then there are supplemental iso images for the i386 architecture that contain a massive amount of precompiled packages.
Chris
- Even with apt and deb, it's still all binary packages. I like the source-based approach better. (and yes, I know about src-debs. But honestly, what do you use more often?)
- Building a port yourself is trivial (it's just a Makefile and a list of files that get installed, basically), way easier than building your own debs. I find that on my FreeBSD system, there is way less software installed without being under control of the package management system than on every Linux system I used.
- FreeBSD doesn't try to be clever unless I tell it to, unlike, for example, Debians "alternatives". If I type "vi", I get vi, and not an end- and useless mess of symlinks pointing to whatever editor. The packages just work like the original authors intended, not like the packagers thought it would be better.
- Debian has more kinds of dependency. Ports just depend on something, or they don't (of course, what they depend on may depend on some options you choose), but they don't "suggest" anything. I never understood why this fine-grained dependencies are useful, I like the KISS approach better.
Of course, YMMV. More important than the differences are the similarities, however, especially that both systems "just work". Both Debian and FreeBSD are fine systems, and there really isn't such a great difference between them from a users point of view. Certainly not enough to justify holy wars.Programming can be fun again. Film at 11.
I can't see what's so hard about typing
pkgdb -F
(fix some deps)
portupgrade -ra
(compile compile compile)
go away (to sleep or something)
and when you come back everything is on the newest version and even better.... everything is compiled from source =)
And what's so hard about upgrading FreeBSD's base system? just type
cvsup -g -L 2 supfile
make buildworld
make buildkernel
mergemaster -P
make installkernel
make installworld
mergemaster
reboot
and thats all, you now should have a freshly upgraded freebsd box, OK I admit, if you come from redhat/mandrake land all those commands might be a bit scary but I'm a console kiddie anyway...
Greetz
The way to corrupt a youth is to teach him to hold in higher value them who think alike than those who think differently
OS X uses mach which avie tevanian wrote at CMU. Mach has a BSD compatability layer so that programs could be used on it and so the mach people did not need to write servers for their kernel. Apple could never use Linux or a monolithic unix kernel because of how the architecture works. Mach and the BSD layer are running shared in kernel space, classic sits on top in it own server on the Mach kernel running in kernel space for performance reasons, as do the Cocoa and Carbon layers, quartz and aqua of course run on top of this. Say what you will about microkernels but they are flexible and make things much easier.
Bla, Bla, Bla, linus talks about performance and how he hates microkernels. Apple runs the servers in kernel space not in userspace like hurd, at most it is a 5-10% speed hit but it also allows for greater flexibility and makes it easier to maintain. Also the modularity of it makes updating things like BSD easy because the servers are not heavily connected elsewhere, the os is somewhat abstracted from BSD. Apple could put linux in the place of BSD easily but mach must stay or be replaced by a new MicroKernel.
Just remember apple does not use message passing servers running in userspace, they run BSD and mach in shared kernel space and the servers run in kernel space. So yes OS X really is not unix but it contains unix. I hope this clears things up.
That's precisely what BSD has. One partition table entry for the BSD slice. Inside that slice, you can partition to your heart's content. All other OS's see only a single BSD partition, which makes things very nice, neat, and tidy.
I can't stand the DOS/Linux method of using a separate partition table entry for each partition. You end up with a partition table 17 miles long just for a standard Linux install. Try adding multiple disks and multiple OSs and you end up with something that resembles the original Dead Sea Scrolls.
1 OS per partition table entry. Makes it so much simpler.