Starting again from Scratch

Manolis Kiagias sonicy at otenet.gr
Mon Jun 25 17:04:51 UTC 2007


Graham Bentley wrote:
> OK, I am fairly new to FreeBSD and returning from a long while away.
>
> I am currently working on an install I have performed from the 6.2
> release discs I downloaded several days ago.
>
> I chose X-Kern-Dev install and have a mixed bag of pkg_add -r
> packages, some programs I have downloaded and compiled from source
> from developers sites (Claws-mail and Xfce4 to name 2) as well as
> apps I cd'ed into into /usr/ports/name and made [nvidia for 1]
>
> Whilst I am aware there are more than serveral ways of doing things
> and for different reasons I am inviting advice on my target install
> which is a 'desktop' for basic office use, based on Xfce4.
>
> I would like to thank Nikola for his advice and also ask what is 
> the generally accepted method of installing / keeping updated way 
> of getting things done?
>
> I am only aware of the names cvsup, portupgrade, portmanager, 
> portsnap, make world etc and am getting this round my neck a 
> bit but this is what I have summized ;
>
> 1) Do basic [minimal] install of 6.2 rel from disc 1
> 2) pkg_add cvsup-without-gui and get the latest ports installed
> 3) Build *everything* from this ports tree [including base/kernel?]
> 4) Find out how to keep updated / informed on updates to packages
>    I have installed, and do so where necessary.
>
> If anyone can advise, point me in the direction of tutorials
> or step by steps, on the above It would be greatly appreciated.
>
> I would like to understand why its not so great to just install
> everything from pkg_add, whats the advantages of ports etc 
>
> Until then I am enjoying using my i386-unknown-freebsd6.2
> installation - even if it more by good luck than good management :)
>
> Thanks in advance of time spent in replying !
>
>   
You will hear many different opinions on this one, and I really doubt
there is one true answer (TM)
It all comes down IMHO to what amount of time you really want to spend
on configuring / updating your system, how important it is for you to
have the "latest and greatest" and what you are going to use it for.
I will try to answer some of your questions from my point of view, but
in any case you will probably receive lots of answers which may
contradict and you should examine each of them to decide which suits
your ideas better.
First of all, to save you the trouble of installing cvsup from ports or
packages, bear in mind the base system already has a utlity called csup,
functionality is the same, you do not have to install anything. The
handbook is simply not yet updated on this one.

- Packages vs ports: Packages tend to be outdated. Most of the time the
packages you get when you do a pkg_add -r something are the ones that
came out during the RELEASE. There is a (rather little) known env.
variable called PACKAGESITE which can be set to another location for pkg
downloads so you get latest packages. 
See the important note in
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html
- Ports: Using ports will allow you to get the "latest and greatest"
software that is available for compiling (assuming you use csup or
cvsup). Bear in mind the big ports like Gnome or Xorg make take hours
(or days...) to compile, and in particular if your hardware is modest or
memory limited, you may run out of patience waiting. In fact waiting for
something like an Xorg upgrade to compile is completely counter
productive if you wish to get a machine to production use quickly. When
you gain more experience in BSD and have a few machines available you
could use them to create ready packages for your other systems. Ports
may become complicated - sometimes they will not compile, either due to
the port itself being faulty at the particular moment or conflicting
with something else you have installed. I particularly dislike the idea
of mixing ports and packages at the same time on my systems.
-Basic installations: If you wish to make a server with no graphic
environment (as almost all servers should be IMO) you will probably not
need any super-big ports to be compiled and in this case I would go for
a complete ports-based system. I would use custom install and install
everything but X, the ports collection, and no packages. The csup the
ports, compile essential things (like bash for me) and any servers
(apache, mysql etc)  from ports . These are not very intensive  and you
will get your server running in a reasonable amount of time.  Also 
compile portupgrade (or portupgrade-devel) to help keep your ports up to
date. I also recommend portaudit which checks for security issues in
your currently installed ports. It will even send you updates about them.
-Compiling the kernel / building the world: There seems to be some
confusion here around many people. Having installed the base system with
full sources you can compile and install your own custom kernel at any
time. See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html
IF HOWEVER you upgrade the system sources using csup (this does NOT have
to do with ports, you need a different supfile to update system sources)
you will move your system to the -STABLE branch. In this case you will
need to recompile not only the kernel but also the complete set of base
programs and utilities, what people refer to as building the world.
After you build the world, you can rebuild the kernel as many times as
you like assuming you don't change sources (csup again).
For most applications you may find that simply rebuilding the kernel
from the RELEASE sources you already have is good enough. In fact you
may continue using the GENERIC kernel if you like. I assume quite a few
people build their own kernel just for the experience and the fun in it
:) The process is very well documented and quite "easy".

There are quite a few other points / ports / programs, but this post is
getting very long anyway. Enjoy your new system and read the FreeBSD
handbook. It is a superb reference and your best friend (along with this
list :))

Manolis






More information about the freebsd-questions mailing list