It went fine until I tried to reinstall Ruby, upon which it broke out of the make, with a "cpp fails sanity check" error.
How did you try to install it, ie with portupgrade or directly though running "make" in the ports tree? Had you rebooted after running "make installworld" but before this step?
I had to add -rR for it to do anything, though. Else it would just leave everything unbroken while reporting things were fabulous.
Are you sure you were using the "-f" option to portupgrade to force it to rebuild the ports? Otherwise, it will only built ports that are out-of-date.
That's not strictly true. If you're running a mirror setup, then the odds of one of the drives being available to serve a random read request is better than in a single-drive setup. Put another way, if you have four drives and four processes reading from them, you could theoretically have a single drive dedicated to each process. The average latency would indeed by significantly lower than in a non-RAID system.
I know what you meant, and you were correct within that context, but there are several ways to look at the issue.
It's a bit sad that upgrading can't be done via SSH
I bet it can. Although that's not the officially supported method, I do it all the time. I'm not about to drive into work on a Saturday to rebuild a machine when I can SSH in from home in my pajamas.
First, there are two mostly separate steps: upgrading the base system, and then upgrading everything else. Use the process you mentioned of running cvsup, buildworld, etc. (but be sure that your stable-supfile has the line "*default release=cvs tag=RELENG_6", or else you'll end up with the most recent 5-STABLE system!).
You are also correct that the ports tree is unrelated to the release version. The base system in 6.x comes with a new utility, "portsnap", that you can use instead of cvsup to update your ports tree, but it's perfectly OK to ignore that for now and use cvsup as usual.
I'm puzzled as to how portupgrade is supposed to know I want everything fresh and shiny with the 6.0 kernel.
Basically, the portupgrade (and the underlying ports sytem itself) will build everything to run on your current system. Running 5.x? It builds 5.x binaries. Running 6.x? It builds 6.x binaries. So, you'll want to run upgrade the base system and be booted into it before you start upgrading your ports.
All the old, obsolete system libraries and binaries. For instance, I found some programs in/sbin with timestamps from 1998 - when I installed 3.something on the system. It's just a thorough housecleaning. The base system can't require any of the old libraries, since they were are linked against the new libraries during the buildworld process.
The general consensus on the mailing lists is that running with a mix of old and new libraries isn't a good idea. For example, it's likely that you'd end up with an application that links against a different version of libc than the other libraries it also uses are linked against.
Also remember the compat5x port actually installs a binary package of the libraries - it doesn't build them from source. That means that you only get the debugging or optimization flags that the package was built with, not the ones that you might have chosen for the rest of the system.
The _default_ support for 80386 processors has been removed.
Do you have proof of that? I was under the impression that the 386-specific parts of the kernel had been ripped out altogether. You might be right, but that wasn't my understanding.
It was a pretty simple upgrade. I followed the instructions in/usr/src/UPDATING under "To upgrade in-place from 5.x-stable to current" and it all worked out OK. Then, I ran the steps mentioned to the previous poster for the sake of thoroughness and having a "pure 6.x" system.
As far as resources, I highly recommend joining one of the official FreeBSD mailing lists ("-questions" and "-stable" would be appropriate for this). The people on there are really friendly and helpful. That's the first place I turn when I need human assistance.
Do I need to recompile all the ports I installed against the 6.0 system?
You probably don't need to, but it's a good idea. Here's how I do it:
Use "find" to find and delete all files in/bin,/sbin,/usr/bin,/usr/sbin,/lib,/usr/lib,/usr/libexec, and/usr/include that are older than the day I upgraded the machine. At this point, I have a 99% "pure" base system, but almost all ports on the machine are temporarily broken. Note that FreeBSD 7 has this feature built-in.
Is portupgrade installed?
- If so: cd/usr/ports/lang/ruby18; make deinstall; makereinstall; make clean. This rebuilds ruby against the new system libraries so that portupgrade will work again.
- If not: cd/usr/ports/sysutils/portupgrade; make install; make clean to install it.
Upgrade all the ports in one swoop: run portupgrade -fa and walk away for a few minutes/hours/days until it's finished.
There might be trickier ways to do it, but that way's pretty much guaranteed to work. Regardless, this is an excellent time to join one of the FreeBSD mailing lists. Everybody's going through this together, and you're very likely to get some friendly, useful advice.
That's funny. I just tried to use curl to fetch that page and didn't have any luck. So I tried another 9,999 times and still no luck.
Could someone else try it and let me know if it works for them? I'd really like to read the page but can't. I hope to see it before it gets, say, cut off for exceeding traffic limits or his bandwidth bill cap.
Out of curiosity, why? This version's big features are increased performance on big systems (where big means "expensive new desktop and above"). I have a hard time imagining an intersection between 386 systems and the new target audience.
In this case, not really. I only made the jump after hearing person after person rave about the performance and stability benefits of upgrading. My experience echoes that: we've actually seen fewer problems from the "bleeding edge" systems than the "stable" ones.
I wouldn't have done it if I thought it was a risk. It seems like the real risk in this case was in not upgrading.
My desktop / server at home has 709 ports installed on it. Since 6 is basically 5++, almost everything Just Worked.
Re:Vast performance improvements.
on
FreeBSD 6.0 Released
·
· Score: 4, Insightful
That's not to suggest that OpenBSD is bad, but performance wise, FreeBSD has taken the lead.
Erm, has OpenBSD ever had the lead in performance? I really doubt it; that's not what it was designed for. All of those little niceties like ultra-paranoid memory protection, cryptographically random process IDs, etc. take resources. Basically, it's tuned for security and correctness with a nod toward performance, while FreeBSD emphasizes raw performance over watertight security.
That doesn't mean that FreeBSD has bad security, or that OpenBSD doesn't incorporate performance enhancements when they can safely do so. All of the BSDs are heavily cross-pollinated, and the best ideas tend to get broad support from all of them.
Still, it's pretty reasonable to say that OpenBSD is more secure and FreeBSD is faster. I wouldn't be the least surprised that FreeBSD can process more email or web hits, especially when you through SMP or HTT systems into the mix.
If you're upgrading a 5.x machine, the usual cvsup / build / install routine will give you a shiny new system. It's a much easier upgrade than from 4 to 5.
I've been comfortable enough with the release candidates to upgrade my production servers from 5.x to 6 a while back. I really have nothing but good to say about it: it's faster, more stable, and more worthy of the FreeBSD name than 5 ever seemed to be.
Congratulations, Release Engineering team! You've turned out a great product.
And as a side note, we've seen big releases from each of the major BSDs within the last week. Dying, my foot.
Why should CNN or Fox be restricted in what they show on cable TV, but be unrestricted in streaming live online video to me over the same damned cable?
Good point. All restrictions on the abilities of the press to deliver information - regardless of medium - are patently unconstitutional and should be removed immediately.
So 1 democrat + 2 republicans = democratic project?
It does when the one Democrat was on every TV and radio show to explain how censoring kids' music would make them happier, healthier, and safer. I'm pretty sure she invented the phrase "think of the children!".
Both sides of the aisle were in on this one, but Tipper was definitely the starring attraction.
Yep - they bumped the version of pretty much everything.
How did you try to install it, ie with portupgrade or directly though running "make" in the ports tree? Had you rebooted after running "make installworld" but before this step?
I had to add -rR for it to do anything, though. Else it would just leave everything unbroken while reporting things were fabulous.
Are you sure you were using the "-f" option to portupgrade to force it to rebuild the ports? Otherwise, it will only built ports that are out-of-date.
That's not strictly true. If you're running a mirror setup, then the odds of one of the drives being available to serve a random read request is better than in a single-drive setup. Put another way, if you have four drives and four processes reading from them, you could theoretically have a single drive dedicated to each process. The average latency would indeed by significantly lower than in a non-RAID system.
I know what you meant, and you were correct within that context, but there are several ways to look at the issue.
I bet it can. Although that's not the officially supported method, I do it all the time. I'm not about to drive into work on a Saturday to rebuild a machine when I can SSH in from home in my pajamas.
You are also correct that the ports tree is unrelated to the release version. The base system in 6.x comes with a new utility, "portsnap", that you can use instead of cvsup to update your ports tree, but it's perfectly OK to ignore that for now and use cvsup as usual.
I'm puzzled as to how portupgrade is supposed to know I want everything fresh and shiny with the 6.0 kernel.
Basically, the portupgrade (and the underlying ports sytem itself) will build everything to run on your current system. Running 5.x? It builds 5.x binaries. Running 6.x? It builds 6.x binaries. So, you'll want to run upgrade the base system and be booted into it before you start upgrading your ports.
All the old, obsolete system libraries and binaries. For instance, I found some programs in /sbin with timestamps from 1998 - when I installed 3.something on the system. It's just a thorough housecleaning. The base system can't require any of the old libraries, since they were are linked against the new libraries during the buildworld process.
Yep, but you don't need to manually remove them. Portupgrade will replace them with new, correctly-linked versions.
Also remember the compat5x port actually installs a binary package of the libraries - it doesn't build them from source. That means that you only get the debugging or optimization flags that the package was built with, not the ones that you might have chosen for the rest of the system.
Do you have proof of that? I was under the impression that the 386-specific parts of the kernel had been ripped out altogether. You might be right, but that wasn't my understanding.
As far as resources, I highly recommend joining one of the official FreeBSD mailing lists ("-questions" and "-stable" would be appropriate for this). The people on there are really friendly and helpful. That's the first place I turn when I need human assistance.
You probably don't need to, but it's a good idea. Here's how I do it:
Use "find" to find and delete all files in /bin, /sbin, /usr/bin, /usr/sbin, /lib, /usr/lib, /usr/libexec, and /usr/include that are older than the day I upgraded the machine. At this point, I have a 99% "pure" base system, but almost all ports on the machine are temporarily broken. Note that FreeBSD 7 has this feature built-in.
Is portupgrade installed?
- If so: cd /usr/ports/lang/ruby18; make deinstall; makereinstall; make clean. This rebuilds ruby against the new system libraries so that portupgrade will work again.
- If not: cd /usr/ports/sysutils/portupgrade; make install; make clean to install it.
Upgrade all the ports in one swoop: run portupgrade -fa and walk away for a few minutes/hours/days until it's finished.
There might be trickier ways to do it, but that way's pretty much guaranteed to work. Regardless, this is an excellent time to join one of the FreeBSD mailing lists. Everybody's going through this together, and you're very likely to get some friendly, useful advice.
Could someone else try it and let me know if it works for them? I'd really like to read the page but can't. I hope to see it before it gets, say, cut off for exceeding traffic limits or his bandwidth bill cap.
Out of curiosity, why? This version's big features are increased performance on big systems (where big means "expensive new desktop and above"). I have a hard time imagining an intersection between 386 systems and the new target audience.
I wouldn't have done it if I thought it was a risk. It seems like the real risk in this case was in not upgrading.
My desktop / server at home has 709 ports installed on it. Since 6 is basically 5++, almost everything Just Worked.
Erm, has OpenBSD ever had the lead in performance? I really doubt it; that's not what it was designed for. All of those little niceties like ultra-paranoid memory protection, cryptographically random process IDs, etc. take resources. Basically, it's tuned for security and correctness with a nod toward performance, while FreeBSD emphasizes raw performance over watertight security.
That doesn't mean that FreeBSD has bad security, or that OpenBSD doesn't incorporate performance enhancements when they can safely do so. All of the BSDs are heavily cross-pollinated, and the best ideas tend to get broad support from all of them.
Still, it's pretty reasonable to say that OpenBSD is more secure and FreeBSD is faster. I wouldn't be the least surprised that FreeBSD can process more email or web hits, especially when you through SMP or HTT systems into the mix.
If you're upgrading a 5.x machine, the usual cvsup / build / install routine will give you a shiny new system. It's a much easier upgrade than from 4 to 5.
Congratulations, Release Engineering team! You've turned out a great product.
And as a side note, we've seen big releases from each of the major BSDs within the last week. Dying, my foot.
But IBM's are, and yet I don't hear the constant complaints about them that I do about Oracle.
You left out Michael, the Editor That Civility Forgot. (Fortunately, so did OSDN.)
Erm, have you looked at his poll numbers lately?
We economic conservatives aren't exactly his biggest supporters right now.
WTF? So all of the rights issues in the debate over campaign financing have been agreed upon and settled?
Good point. All restrictions on the abilities of the press to deliver information - regardless of medium - are patently unconstitutional and should be removed immediately.
It does when the one Democrat was on every TV and radio show to explain how censoring kids' music would make them happier, healthier, and safer. I'm pretty sure she invented the phrase "think of the children!".
Both sides of the aisle were in on this one, but Tipper was definitely the starring attraction.
You thought wrong.