OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Ken McGlothlen (mcglkartlogix.com)
Date: Thu Apr 18 2002 - 14:08:14 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    Brett Glass <brettlariat.org> writes:

    | Alas, this is not an acceptable solution.
    |
    | I realize that many people use FreeBSD on non-mission-critical systems, or to
    | tinker with, and can afford downtime. But we need to create and maintain
    | production machines.
    |
    | I hope that you can understand that doing a CVSup and then rebuilding the
    | world every night (slowing the system to a crawl in the process and creating
    | a system which might or might not be 100% stable) is not an acceptable
    | solution.

    Actually, it's not as bad as it might seem. I suspect what's got you upset is
    the thought of having to do a make buildworld on every machine. I can tell you
    how to avoid that.

    What I've done in the past is to use NFS to export /usr from my fastest
    machine. Let's assume you want to keep a Class C network at 192.168.3.0
    updated.

            /etc/exports:

                /usr -alldirs -maproot=0:10 -network 192.168.3 -mask 255.255.255.0

    Then, on the machines you want to keep updated, you'd mount /usr/src and
    /usr/obj from that build machine.

    Now, on the fast box, type

            # cd /usr/src
            # make buildworld

    Churn, churn, churn. None of your production machines are impacted; only the
    fast box handling the build.

    I should also note that you may want to move *all* your kernel configuration
    files over to the fast box, into /sys/i386/conf (if you're running x86/Pentium/
    AMD boxes).

    Once the build is done, pick a machine you want to update. Let's assume it's
    called wibble, and it's kernel configuration file is called WIBBLE.

    On the fast box, type

            # make buildkernel KERNCONF=WIBBLE

    Once that's done, go to Wibble, shut down the services on it (what you want to
    do is essentially bring it down to single-user mode, but still keep NFS
    running), and type the following:

            # cd /usr/src
                    (Remember, that's the directory that actually resides on the
                     fast box)
            # make installworld
                    (Which installs the new operating system.)
            # make installkernel KERNCONF=WIBBLE
                    (Which installs the new kernel.)
            # reboot

    You should be done at this point with wibble. Next machine, wobble. Go to the
    fastbox and type

            # make buildkernel KERNCONF=WOBBLE

    and when that's done, go to wobble and type

            # cd /usr/src
            # make installworld
            # make installkernel KERNCONF=WOBBLE
            # reboot

    and so on.

    You'll find that's a LOT faster than rebuilding the entire OS from source on
    each and every machine.

    Hope that helps. If you have any questions . . . well, you know where to
    write. :)

    To Unsubscribe: send mail to majordomoFreeBSD.org
    with "unsubscribe freebsd-security" in the body of the message