One of the greatest advantages that *BSD has over other Unix variants is the cvsup/make world process. Unlike most Linux distributions it isn’t necessary to wait months for a new version to be released for you to upgrade your system. The cvsup/make world process allows you to update your system at any time.
While the process of cvs/buildworld generally works well on the BSD’s, the fact that there still isn’t a reliable binary upgrade process is a glaring weakness of BSD. I tend to choose Debian on not-so-fast machines over FreeBSD simply because of the time that it takes to do a full system upgrade (I moved a P120 machine from Potato to Woody, and it took probably half an hour). It’s also quicker to download updated binary debs than to rebuild parts of the system for security vulns. This is especially true with bigger packages like OpenSSL or Perl.
With Net/OpenBSD I can normally cheat and move to a new release by just untarring the new kernel, rebooting, then untarring the new userland packages. I can’t even do that with FreeBSD. I have to build things. I know that binary updates are in the pipeline, but they’re not here yet.
You can use the port security/freebsd-update to install binary updates.
Is it possible to do this ‘make world’ update remotely (ssh) for my sweet little PII 350 FreeBSD 5.2.1 server?
Did whoever posted this realise the article is over a year old? (And so probably doesn’t apply to FreeBSD 5).
Is it possible to do this ‘make world’ update remotely (ssh) for my sweet little PII 350 FreeBSD 5.2.1 server?
It sure is but it will take some time to run it on that machine. It is much faster if you have a faster machine running FreeBSD and use that to build the kernel and userland and then “move” those (by mounting through NFS, ftp etc) onto your other machine. The FreeBSD handbook have excellent description of how this is setup and done.
It is generally not recommended to do remote upgrades (or upgrades for that matter) between the major release versions (say from 4.x -> 5.3). Updating through cvsup/make buildworld works very nicely though between the minor versions and security updates (point releases) and even though it is stated that the proper way to do the installworld step in single user mode most people do it in user mode (which is the mode used through remote ssh). I’ve done more then 50+ updates remotely and have not had any problems related to the fact that the process was done remotely.
The most embarrasing mistake was when I compiled a new custom kernel going from 5.2 to 5.2.1 and by mistake commented out all the network modules. After the reboot it was pretty annoying to discover that the machine did not respond remotely but a quick local check in dmesg told the story and it was quickly comfirmed in the kernel config file, the proper modulel was loaded through kldload and a new kernel built, rebooted and everything was fine and dandy. A really annoying mistake because I’ve built so many custom kernels before that I just shouldn’t have made it.
Most of it still applies to FreeBSD 5.x but one really should use the four simple make steps instead (read about it in /usr/src/Makefile after the cvsup step) to build/install kernel+userland.
It’s much better to recompile world anyway, even if you installed fresh from a CD, because you can turn the -O2 then which isn’t there in precompiled binaries. And it sure speeds things up a lot.
from the article:
“The cvsup process is, in my mind, the greatest advantage BSD systems have over Linux or other *nix for that matter.”
I use Gentoo (Linux), it has the same portage system, and it even seemes better and easier. All you have to do on Gentoo is type “emerge sync && emerge -u world”. You don’t have to rebuild the base system either, it only rebuilds the stuff that has newer versions available.
The problem with gentoo though is that it’s totally fragmented to bits (being based on linux/gnu) rather than FreeBSD which is an integrated, controlled whole.
Yes I run FreeBSD and the 5.2.1 -> 5.3 upgrade process was seamless.
Major version upgrades i.e. 4.10 -> 5.3 should be accomplished with a complete rebuild however to remove cruft and generally be safe.
“One of the greatest advantages that *BSD has over other Unix variants is the cvsup/make world process.”
And one of the problems BSD shares with the Linux world is assumptions about the knowledge of the user.
What is ‘cvsup’? Why do I have to install it?
What is ‘cvsup-without-gui’?
What is ‘fastest-cvsup’?
Are the directories mentioned (‘/usr/ports/net/’ and ‘/usr/ports/sysutils/’) already on my system? How did they get there?
Are the files mentioned already on my system? How did they get there? If not, how DO they get there?
Do I have to shutdown any part of my system? Is there something I should not be running when I do this? Do I have to restart anything?
It’s not the things you tell people that get them in trouble. It’s the things you don’t tell them.
The process mr. Wingate uses, won’t install anything except for some updated files in /etc/.
Please read this first before doing anything, because if you follow what is said in this document, there won’t be an updated system.
Sorry, but if people don’t know what they are doing, they shouldn’t be using FreeBSD. Contrary to some GNU/Linux distributions, it doesn’t aim to be easy to use for grandma. It aims to be practical for the SysAdmin. Different OSes, different goals.
Agreed, this isn’t elitism or anything like it – simply, if you intend to do something like that on FreeBSD, you should know about these things already. It’s not windows update.
and the developers have sense of humour too
http://www.freshports.org/commit.php?message_id=200411131016.iADAG6…
/me goes back to listening APC’s cover
Cheers,
Chucky the daemon
Chill dude. You totally misinterpet things. Just chill, and leave personal attacks for your favorite first-person shooter
In a way they are arrogant and in another way they are telling you the way it is.
They are arrogant because they have forgotten that we all once had less knowledge that we have now.
They are telling you the way it is because the information is “there” for those wanting/needing to find out. It is not a case of RTFM but many of us actually try to find the information ourselves first before asking the questions to others. Most of the time the answer is there already and thus we can save the time of other people so that they (ideally) can make the system better and the world a neater place to live.
I suggest you enter those terms you wonder about into google and just add “freebsd” as a searchword also.
THe actual article leaves a lot to be wanting both in terms of acuality and content. It makes the updating procedure seem a lot more confusing than it is (it really is very easy).
Now check the FreeBSD handbook for an excellent documentation http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.htm…
FYI
– cvsup is the software that fetches the sourcecode and the ports and syncs with the cvsup servers. fastets-cvsup is just a software to find the fastest cvsup server from your location. cvsup-without-gui is a version of cvsup that is built without x11 code and thus is commandline only.
– Those directories: ‘/usr/ports/net/’ etc is part of the posts system (and you may have them if you installed the ports system with the system installation). It is created and updated every time you sync it using cvsup. The standard location for the ports is ‘/usr/ports’.
– cvsup is most easily added to your system using ‘pkg_add -r cvsup-without-gui’ which downloads and installs the latest version (in precompiled binary form)
Yeah, right. You know, there are some of us, who first try to find their ways around, and if hope seems lost, seek help from fellow geeks. Few are so lucky – as I was fortunately – to have a knowing friend close in need
Thing is, the world of *nix, linux, *bsd requires a certain skill of independent research&learn, which is not bad, not bad at all. The way of thinking you get to learn this way will help you a lot later. This is especially true for non-tech/non-IT/non-CS people.
When I first came in contact with a linux version (slackware, that was) and I tried to put it on my second ever pc (after few years on c64 and an i286, just simply fed up with dos and win3) there was really nobody to help, none whom I knew ever used linux at that time. But I managed, and I really learned _a lot_.
Times had chanegd since then, now there are people whom I can ask when I run into trouble, but fortunately that’s not that often.
All in all, doing some research and not just wainting for someone to spoonfeed you can really be a good way to educate yourself. Just try.
Essentially, it is a benefit over *nix systems that publish every 9 months rather than those that have repositories. Distributions like Debian, Slackware, Ubuntu, Gentoo, etc. all have the same upgrade ability as the BSDs.
In fact I already knew some of the details. What I was trying to do was point out that if you’re going provide infomation on how to so something, that information should be more complete so that someone like me doesn’t HAVE to go through the trouble (like I did when installing java or kde on various linuxes).
“Thing is, the world of *nix, linux, *bsd requires a certain skill of independent research&learn”
Yes, it does require it. No, it shouldn’t require it, not if they are trying to popularize it, or even if they aren’t. And yes, they ARE trying to popularize it ( even as they keep trying to attach an elitist mystique to it).
The fact is the article is trying to teach something for which he already assumes knowledge on the part of the user.
the article assumed the user already knew some stuff. Justl ike a C Programming book assumes you know how to type and use a text editor to type source code.
Yes, the author probably could’ve at least posted links to information about these commands.. But AFAIK they’re all in the freebsd handbook.
FYI: I have never even come close to upgrading a FreeBSD system yet, in fact this week I actually got a fully functional FreeBSD system that actually feels, to me, like it works. All I know is when the time comes to upgrade, I will look around for instructions and learn how it’s done. I’ve already dabbled a bit with cvsup just by searching around in the Handbook. Which is a resource every FreeBSD user is always encouraged to check because it’s well organized and full of juicy tidbits.
> And yes, they ARE trying to popularize it ( even as they keep trying to attach an elitist mystique to it).
No they are not _all_ trying to popularize it, at least not in the way you think (to make Joe and Grandma their primary target group). Several distributors try to polish whats available, and there is also Gnome who tries win the Fisher Price generation over, but in general the most devs simply dont care what Joe User wants, because Joe User is neither their target group nor does Joe user pay them.
The elitist mystique is nothing more than a story Joe Users and alike cook up about a system which is not created with them in mind and which they therefore are not able to run effectively.
Maybe some of us do have a titanium watch on their left arm, with a burned silhouette of Chuck under it.
It’s better to don’t know what you want to know, then to know what you don’t want to know.
Peace
I recommend a wonderful little program called gnuscreen that is perfect for this sort of thing (it lets you suspend your console session, leaving programs running, and then jump back into it later).
The process mr. Wingate uses, won’t install anything except for some updated files in /etc/.
Please read this first before doing anything, because if you follow what is said in this document, there won’t be an updated system.
I am the author of this article and if you actually read the entire article you’d see the last paragraph describes the actual upgrade process. People still send me mail asking about an updated article for FreeBSD 5.x. There isn’t enough different about the process to justify a new article, not to mention the website hasn’t been updated in the past year anyway. I do wish people would stop linking to this article as it is a year old and I get bombarded with mail everytime they do (99% of it good mail though).
You are right, I made a wrong interpretation. ‘make world’ is used and that combines building and installing.
The cvs update system is by no ones painless, it still requires a good amount of remembering a series of commands and performing them correctly. Why hasn’t some one just wrote a bash script for this process? Or maybe you could take a leason from gentoo and just merge all components into FreeBSD’s ports system.
This is the third “omg FreeBSD!” story this week, are they highing Sun’s marketing department?
Not really.
Did you guys realize that you can even use stand/sysinstall to upgrade your freebsd system. It’s very straight forward and works good on very low end systems with tiny hard drives.
And one of the things Freebsd does not share with the rest of the linux world is a comprehensive users guide to the system. Use the handbook to answer every single one of the question you posted.
From what I can tell the philosophical differences between BSD and Linux are that BSD tries to be the best for some systems, people and states of mind, while Linux tries to be everything for everyone.
I prefer the everything for everyone, no one is too stupid, this stuff is fun, let’s play approach.
BSD makes me feel like I should dress up in a suit and tie to work on it. Too stuffy. I like to keep things simple, stupid.
Simple and free and fluffy and fun and sexy and soft and fuzzy and dumb.
linux is a kernel.
Right, but does the kernel not behave in a similar way to the anarchistic GNU philosophy that I mentioned above? Its that everything all at once, in every direction, whatever floats your boat mentality that attracts me.
The whole go RTFM because I’m too lazy to make a colorful entertaining video to encourage you to learn it approach is so last century. Today we should expect more creativity and participation.
There’s no reason why we can’t make this stuff simple. Except our own laziness and lack of imagination.
There’s no reason why we can’t make this stuff simple. Except our own laziness and lack of imagination.
Most of the time it has more to do with LACK of time. Most people work on Linux or *BSDs in their spare time and that means voluntarily. Ergo, you cannot expect to have a set table because most of the time you paid squat for it. If OTOH you paid for the system then… THEN you should expect it to work, and work easily and well and some handholding along with that.
Go help (yes everyone can help, documentation still needs to be written etc) instead of complaining or saying it is so easy to do.
From what I can tell the philosophical differences between BSD and Linux are that BSD tries to be the best for some systems, people and states of mind, while Linux tries to be everything for everyone.
It’s not so much a difference of philosphy as it is a reflection of the amount of resources available to the different projects. There is simply a lot more people working on Linux, and it has (commercial and non-commercial) support from a number of different groups with very diverse interests, from vendors of embedded systems to builders of big iron, from server companies to the Linux-on-the-desktop crowd, from database vendors to the biotechnology community, and so on.
Spending over four years doing 5.x before finally declaring it -STABLE (with some of the core technology improvements still not complete) is not a philosophical choice, it’s simply lack of man power.
Right, but does the kernel not behave in a similar way to the anarchistic GNU philosophy that I mentioned above?
Don’t confuse the GNU philosophy with the Linux philosphy. Read The Cathedral and the Bazaar.
Most of the time it has more to do with LACK of time. Most people work on Linux or *BSDs in their spare time and that means voluntarily.
Most, if not all, of the ‘core’ (and I use the term loosely) Linux developers are doing Linux as their full-time job.
While the same is not true on the FreeBSD side (PHK is the only one I know for certain do FreeBSD full-time right now), some, if not most, of them have work which involves FreeBSD in some capacity and can thus justify working on FreeBSD as part of their job.
Most, if not all, of the ‘core’ (and I use the term loosely) Linux developers are doing Linux as their full-time job.
Of course but it is not those devs that I’m talking about. They are doing “under the hood” kernel work. That have absolutely nothing to do with how easy it is to use as a beginner.
While the same is not true on the FreeBSD side (PHK is the only one I know for certain do FreeBSD full-time right now), some, if not most, of them have work which involves FreeBSD in some capacity and can thus justify working on FreeBSD as part of their job.
Yes, but again, their employers are not paying them to make the system user friendly. They are paid to implement missing features, fix bug, improve performance, write drivers for new hardware etc, NOT to make a new graphical installer etc.
The issue was why it haven’t been made easy yet (for feature X), not why hardware driver Y or performancelevel Z haven’t been reached.