FreeBSD Documentation: An Interview with Tom Rhodes 38
An Anonymous Coward writes "FreeBSD has been known for excellent documentation and here is a rare sneak peak behind the scenes of the FreeBSD document project with FreeBSD's very own Tom Rhodes."
Only slightly OT (Score:5, Interesting)
Let's say you have a production environment running FreeBSD 5.x (I know, boo, hiss, only -RELEASE, not -STABLE...blah blah blah), and with the upcoming release of 5.3-STABLE (my understanding anyway), how would you recommend a minimal downtime upgrade?
I have 2 nameservers running the stock Bind8, 2 MX's running stock sendmail. One 'users' box running Sendmail with spamassassin and spamassassin milter, along with apache2 and squirrelmail for webmail.
None of these boxes have the full sources installed, and in the past I've taken the boxes down and done a binary upgrade from CD. Is this the fastest method?
Re:Only slightly OT (Score:2)
This procedure is not recommended for moving between major version (e.g. 4.x -> 5.x), but for your setup it should be fine. Just cvsup
Re:Only slightly OT (Score:2)
In the meantime, I would be putting 5.3-RC on a test system to work out the issues.
Re:Only slightly OT (Score:3, Informative)
See this [freebsd.org] for background.
There are many ways to do it depending on whether you want it built from source or just want the binaries.
Re:Only slightly OT (Score:4, Informative)
If you don't have a spare server don't be affraid to use an intermediate temporary server. It involves installing the os and copying data twice, but it is not as big a hassle as it sounds. If possible use fresh harddrives saving the old OS and data as a 'warm' backup.
Unfortunately if you are running a colocated server you probably can't do this. My only advice then is start Tuesday morning. Everyone knows not to start an upgrade Friday afternoon, but so many people still do. If you follow the instructions in the FreeBSD handbook your upgrade should be problem free.
Re:Only slightly OT (Score:4, Informative)
If by quick you mean the least time start to finish, yes. If you mean as measured in system downtime, no. Each has a different risk profile which depends heavily on how much additional software you have installed.
I too have been running 5.x as a server environment since mid 5.0 days. I have performed 2 source based upgrades in the interim to bring me to 5.2. My preference for source based upgrades is based partly on my desire for quick response time re: security. It is also conditioned by my rather complex setup in which I have multiple jailed environments each running a large number of packages. A binary upgrade is less attractive since I would need to install dozens of different ports and possibly face conflicts or temporarily broken ports.
You have very few ports running, and from your statement they are pretty stock configurations. From this standpoint a binary upgrade should be relative painless. However, it might require more downtime.
If I were you and were running a GENERIC kernel, and was running a late 5.1, or 5.2_RELEASE, I would suggest a source base approach. if you are running an earlier 5.x version I would still do so myself but would counsel you to assess your comfort and knowledge with compiling the code and following
If you do use a source base approach, I would prepare by installing the cvsup tools from the ports tree to mirror the source code and the ports tree. Then you can compile using buildworld and buildkernel, and even compile and install ports (using and alternate paths for the package db and destroot) to test versions of installed ports which might be newer.
Read UPDATING thoroughly and study any differences which you are unsure of. Then when you are ready, use install* targets and mergemaster to finish.
This is initially a longer, more time consuming approach, you must install sources, and configure cvsup to keep them up to date. Once that is done, however, they are always up to date. At each site which I have maintained FreeBSD, I use cvsup to mirror ports and sources on a single box. In fact, I mirror the cvs trees, enabling each host in the network to choose what particular version to check out. I then check out source trees via cvsup, and run a buildworld and a buildkernel via cron either weekly or monthly.
Thus, I always have a recent binary distribution ready to install when I feel like it. I upgrade rarely, but when I do, I typically have a 10-20 minute downtime. On boxes where I have configured multiple drives with sets of boot, usr, and var partitions, I configure and install to the alternate drive using the DESTROOT variable, and can take care of merging changes while running on the old version. Then downtime, is boot time + time to select the new boot partition.
Re:Only slightly OT (Score:3, Informative)
Entirely off-topic, but if you're concerned about security, binary updates are a better option than source patches -- both because FreeBSD Update is more secure than the cvsup mirror system, and because I normally have patches available via FreeBSD Update within a few minutes of the code being committed to CVS and the security advisory going out. (I have the advantage of seeing the source patches in
Security (Score:2)
My requi
Re:Only slightly OT (Score:4, Interesting)
I do the initial builds offsite and usually well in advance (perhaps leave them to work on a Friday evening).
1. make buildworld
2. make buildkernel
Once onsite, I:
3. make installkernel - takes a few minutes, doesn't count towards downtime.
4. reboot
5. mergemaster -p - takes about a minute
6. make installworld - takes maybe 5 minutes at most
7. mergemaster - this takes the longest - I usually manage it in about ten minutes, as I've become pretty familiar with it, and make the right decision pretty instantly.
8. reboot
I've timed myself, and I end up with 15-20 minutes downtime, depending mostly on the speed of the machine.
Going more off-topic, but I had an idea on how to make this process faster, and to make mergemaster much less scary.
Most of the files that are affected by the mergemaster process are rarely actually changed. On a stock server, you'll probably only ever change files in
It should be trivial to, pre-upgrade, traverse
When mergemaster is run, it can then automagically upgrade all of the files in the auto-list; if nobody saw fit to change
Also, prior to doing the upgrade, he would be able to get a list of files which he *has* changed, so he can figure out what exactly he was thinking when he decided to hack
Any reason this wouldn't/shouldn't work? Obviously mergemaster should give Big Bloody Warnings before using the list. I reckon I'd save at least 25% of my downtime doing this.
Re:Only slightly OT (Score:2)
However, this is just a more specific case of doing a 3-way merge. I was planning to add this to mergemaster, but due to the issues of maintainer timeout (over a two-year period), I've instead written a new tool: See /usr/ports/sysuti
I have been impressed... (Score:5, Insightful)
um its pretty good, but not great... (Score:2, Interesting)
Now I am trying to get a bootable 5.2.1 cdrom. I finally found section 16 of the manual, which describes cdboot. It doesnt really say much else in the way of what do I need to put in the loader.rc file, if anything, or do I need one. It doesn't s
Re:um its pretty good, but not great... (Score:1)
You can setup a FreeBSD live CD in no time. It's in ports (sysutils/freesbie). I've set up a couple live CDs playing around with it. I need to get serious and make a nice 5.3 CD after it's released.
Re:um its pretty good, but not great... (Score:2)
Is it 5.2?
For Such A Critical Yet Thankless Job... (Score:5, Insightful)
*thumbs up*
Re:Take a hike (Score:3, Insightful)
He makes unsubstantiated claims, then asking other people to provide explanations to his trolling bullsh*t statements - a troll technique as old as the internet.
I heavily suspect this is the brainless GNU zealot that has spammed
Re:Tom Rhodes (Score:4, Informative)
Sometimes he links to a message posted by DES on FreeBSD-advocacy in his signiture. If you take the time to see how that thread started, you'll see that the original "quesiont" was quite rude, and follow-up messages from the same person were written in a "I'm a famili member of the former Nigerian royal familiy and want to deposit large sums of money" style. Also if, you follow the thread further, you'll see this [freebsd.org] reply from a FreeBSD developer:
For your interest, Matt still posts occasionally to -current list, in fact, he even helps out a bit here and there. This troll's problem seems to be with DES, PHK, Bosko, but he is ready to extend his warm words towards anyone, even, it seems, to someone associated with the documentation project. Oh, btw: you'll see the same message by Doug-Furlong Smorgreff [osnews.com] on Osnews as well. ~molnarcsRe:Tom Rhodes (Score:2)
Are you the frustrated HawkinsOS guy btw? Some things points to it ... if it is true, than I understand your frustration. You are on a crusade against FreeBSD developers, because they pointed out that 'your' os violates a number of licences that are part of the BSD system. Let me just say
People... hurry! (Score:1)
Otherwise, the Troll isn't giving back his enhancements!
P.S. He sold 2,000 copies of a *beta* system! :-D
Re:Tom Rhodes (Score:2)
I usually don't reply to trolls, but this one is soo funny,
Re:Tom Rhodes (Score:2)
Now look. You're a run of the mill BSD troll on SlashDot. What happened to you?
Personally, and your "customers" may disagree with me on this one, I would never buy an OS from someone that spends all of his time demeaning the work of others on public forums.
Your critizism isn't even constructive, it's vague and without merit. Like that conversation between DES and Matt D
Re:Tom Rhodes (Score:1)
Re:Tom Rhodes (Score:2)
All documentation available online and offline (Score:4, Informative)
And, if you selected the docs distribution during the install, you'll find all the articles, books, and papers under
Having all the documentation available offline is a boon for those days when you break the network.