Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Dec 2003 15:42:17 -0500
From:      Scott W <wegster@mindcore.net>
To:        Vahric MUHTARYAN <vahric@doruk.net.tr>
Cc:        FreeBSD questions List <freebsd-questions@freebsd.org>
Subject:   Re: Why userland , basesystem and Kernel are together?!
Message-ID:  <3FD633A9.20801@mindcore.net>
In-Reply-To: <03da01c3be90$032636f0$019c9752@xp>
References:  <012701c3bde4$4acf2b30$019c9752@xp> <20031209013027.GC1099@zi025.glhnet.mhn.de> <03da01c3be90$032636f0$019c9752@xp>

next in thread | previous in thread | raw e-mail | index | archive | help
Vahric MUHTARYAN wrote:

>Hi Simon Barner ,
>
>    First thanks for your answer . Please correct me if I mis understand
>something .
>
> 1)   You mean if I want to keep source up-to-date method and use make world
>process I must test it another test machine before apply it to the
>production server .
>  
>
I realize I'm jumping in mid-thread here, but:

Anyone that gets paid to maintain a system or group of systems is 
certifiably insane if they routinely 'just apply patches and fixes' to 
their production box without testing on a staging server or cloned test 
system.  I realize that the definition of 'production' varies, ranging 
anywhere from someone running a web server at home (ok, not production, 
but some treat it as such) to companies primary database, web, mail, 
development and build systems.  While I've been 'guilty' myself of 
applying smaller patches to Solaris, HP-UX, etc boxes for development 
without prior testing:

a.  It's minimal impact- I could recreate the systems in question of 
need be from scratch.  It would be an inconvenience, and still not the 
best idea, but for some systems you don't always have cloned systems...

b.  Anything that could cost a company money or loss of uptime that 
customers depended on NEVER gets upgraded/patched/etc without testing on 
a staging system.  This includes kernel builds or patches, library 
changes, application patches etc.  Virtually anything.  Only exception 
will vary from person to person and company to company, but only sane 
changes are changes you KNOW (a in 99.99%) are limited in scope, as in 
self-contained applications that don't touch any of the core libraries 
required for the system to do it's job.  Even so, this one's debateable, 
as a 'self contained' app can certainly turn out to eat CPU or RAM, thus 
degrading system performance...

> 2)     You said that FreeBSD was more than a kernel . What do you mean
>Could you explain little more or Do you know any documantation or whitepaper
>which explain mind of the FreeBSD operating System .
>  
>
I'm sure this is covered in the Handbook or other docs at 
www.freebsd.org...Briefly...BSD is comprised of:
1.  Kernel.  Umm, I hope I don't have to expain this one ;-) 

2.  Core system- This one can likely be argued a bit with bsd (and 
others), but this should be considered any additional libraries and/or 
services that are required for mimimum accepted or targetted 
functionality.  In the strictest sense, this can be seen as core 
libraries that userland apps will generally require- libc and others, 
and core services- login/getty, inetd, etc.  Like a Windows kernel 
without any of the GUI or Win32 libraries would be of little use, Unix 
systems have their own generally accepted list of 'core requirements.'  
SSH and a few others may be debateable as far as if they're really core 
requirement or not, but it's generally agreed on that most networked 
*nix systems will be running ssh (hopefully as a replacement to telnet 
and ftp..)  FreeBSDs equivalent here is the output of 'make world.'

3.  userland apps- Kernel and core make a rudimentary system, but 
without much 'specialized' functionality.  You're networked, and perhaps 
running mail and ssh, but that's about it.  userland = everything else.  
Databases, Window Manager(s), MatLab, or whatever else you need to turn 
the system from a 'generic' system into what it's going to be used for.  
As already mentioned, without some of the contents of the 'core system,' 
you wouldn't be very likely able to even install userland apps as libc 
and friends would be missing....

>3)    I red small paragraf from http://www.daemonology.net/freebsd-update/
>after your advise -FreeBSD Update is a system for automatically building,
>distributing, fetching, and applying binary security updates for FreeBSD.
>This makes it possible to easily track the FreeBSD security branches without
>the need for fetching the source tree and recompiling -
>    *** it seems really  good _! Soory but if binary update make all things
>easyer than soruce update mechanism Why Everybody advising source-update
>instead of freebsd-update ....
>  
>
Binary updates don't allow compile time options to be set, nor are the 
binaries optimized for your specific system.  Check out the output of 
the 'configure' script on a samba or Perl tarball sometime- some apps 
have quite a few possible configurations, and binary distributions don't 
fit everyone's needs.  It's possible, depending on what you use your 
system(s) for that you can solely rely on binary packages, but as you 
expand the purpose of a given system further, it's likely you'll 
eventually need to configure and compile from source yourself.  BSD 
Ports is a good compromise or in between here, as it does compie from 
source, with the ability to still allow customization of packages...

Scott

>Thanks .....
>Vahric
>
>  
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FD633A9.20801>