Upcoming SlideShare
Loading in...5







Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    freebsd-watitis freebsd-watitis Presentation Transcript

    • FreeBSD Software Management
    • Overview
      • FreeBSD divides itself into two parts: the base operating system (the “world”) and the ports
      • Open and NetBSD also do this, but in slightly different ways
      • The world contains mostly the bits from /etc, /bin, /sbin, /usr/bin, /usr/sbin and some basic applications (login shells, a text editor)
      • Ports are everything else, typically go to /usr/local (but this can be changed)
    • Base OS
      • Two ways to upgrade the base OS: from binaries and from source
      • Binary upgrades typically done from CD
      • CD used can be either the release image from the FreeBSD project, or a custom-built one
      • Source upgrades can be done per-machine, or built on one machine and distributed to a group
      • Several versions within FreeBSD: RELENG, STABLE, CURRENT (and technology releases too, oh my!)
    • Ports Overview
      • Like the base OS, ports can be installed from binary packages ( or built from source
      • Source building has option to build binary packages, which can be distributed
      • This allows for local customisations to be applied
      • Ports have no concept of hierarchies such as xhier implements  - but it is possible they could be made to
    • What does this buy us?
      • Differentiation between base OS and ports/packages means the latter cannot affect the former (less RPM-hell or SPs killing the OS)
      • Relatively fine-grained control over all aspects of a system
    • Case Study: Offices of Development and Alumni Affairs
      • We initially had one server (alumni), but wanted a development/test server (alumbak) as well
      • Problem: how to keep them generally in sync, but allow for testing new releases and new applications?
      • Built a third server, a “build master” (odaadev)
      • Excess of hardware allowed for a fourth as well, a cvsup server (lowe)
    • Case Study – ODAA, part 2
      • lowe kept a copy of the CVS repository of FreeBSD sources (all versions, all ports)
      • Pulled a copy to odaadev and built new releases (and packages) there
      • Distributed built worlds and packages to alumbak for testing
      • Once satisfied with setup, distributed same to alumni
    • Case Study: ODAA, part 3
      • Later, added a separate database server
      • Distributed build system made making this DB server just like the others easy, but was flexible enough to allow for different kernels on the different machines
    • Applications at UW
      • FreeBSD is well-suited (indeed, designed) for distribution across many hosts
      • Challenge is adapting it to use in the UW environment
      • Leveraging xhier a possibility, and there is a project team looking at this (early infancy)
    • Further Resources
      • FreeBSD website:
      • Daemonnews:
      • Mailing lists: freebsd-questions, freebsd-ports, freebsd-stable, freebsd-current
      • Local resources: (Twiki hosted by Engineering Computing)
      • Me!