34

FreeBSD Nik Clayton [email protected]@crf-consulting.co.uk [email protected]

Embed Size (px)

Citation preview

Page 1: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSDFreeBSD

Nik Clayton Nik Clayton [email protected]@FreeBSD.org [email protected]@crf-consulting.co.uk

[email protected]@slashdot.org

Page 2: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD in a nutshellFreeBSD in a nutshell

• Open Source (free) Unix operating system• Runs on IA32, IA64, AMD-Hammer, Alpha,

Sparc, PPC• Supports wide range of peripherals• 1000’s of software packages available• Many commercial users• Thousands of developers around the world

contributing to it• Core component of many embedded

systems

Page 3: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Why the demon?Why the demon?

• It’s a “daemon”, not a demon

• Greek “daemons” were neutral spirits that fetched and carried

• Geek “daemons” are programs that continuously run, doing useful things– Serving web pages– Shuttling e-mail back and

forth– Handling print requests

• httpd, named, lpd, et al

Page 4: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD is UnixFreeBSD is Unix

• To all intents and purposes, FreeBSD is Unix™• Multitasking• Multiuser• Emphasis on command line tools• Network ready and remotely accessible• Terse, cryptic, but very, very, powerful :-)

“Unix is a nice place to live, but you wouldn’t want to visit”

“Unix does not stop you doing stupid things, because that would also stop you doing clever

things”

Page 5: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD HistoryFreeBSD History

1969 Work begins on Unix at AT&T Bell Labs1971 Unix, First Edition1972 “The number of Unix installations has grown

to 10, with more expected” , Dennis Ritchie1973 Unix re-written in C1975 Unix, Sixth Edition. First version widely

available outside AT&T1976 1BSD, based on Sixth Edition. Bill Joy coins

the term“Berkeley Software Distribution”

1979 3BSD. Unix gets Virtual Memory1984 4.2BSD. First deployment of TCP/IP in the

world1991 4.3BSD NET/2

Page 6: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD HistoryFreeBSD History

1992 386BSD 0.1, based on 4.3/NET21993 FreeBSD 1.01995 FreeBSD 2.01998 FreeBSD 3.02000 FreeBSD 4.02001 FreeBSD 4.42002 FreeBSD 5.0

Page 7: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Places you’ll find Places you’ll find FreeBSDFreeBSD

• Powering websites– Yahoo– VA Linux / OSDN /

Slashdot– Netcraft

• “Grunt work”– Disney– Manex VFX– NASA

• ISPs– UUNet, Pair, Demon,

EasyNet, …

• Embedded Systems– IBM– Intel– Nokia– Checkpoint– Juniper Networks– Coyote

• Other operating systems– Mac OS X

Page 8: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD is a FreeBSD is a complete OScomplete OS

• FreeBSD consists of all the components needed for a complete operating system– kernel– compiler– include files– libraries– user-land utilities

• Kernel and user-land are kept synchronised, and can be built, from source, as a unit

Page 9: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Technology supportTechnology support

• Networking– IPv4, IPv6, IPSec, SSL

• Firewall– NAT– Filtering, Proxying, and

Caching– VPN

• Infrastructure– DNS– DHCP (client and server)

• Telephony– PPP (dial-in, dial-out)– Fax (send/receive)

• Printing– Postscript– Network printing

• File sharing– NFS– SMB/CIFS– Appletalk

• E-mail– SMTP, POP3, IMAP,

Webmail

• Web– HTTP

Page 10: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

BenchmarksBenchmarks

• This space for rent

Page 11: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Third Party PackagesThird Party Packages

• 5,800+ applications available as binary packages

• Linux has similar number of applications available in a number of different binary formats (RPM, Deb, and others, depending on the distribution).

• Packages are built from the “ports tree”• Ports tree is a mechanism that automates

the process of downloading, checksumming, unpacking, patching, configuring, building, and installing new software

Page 12: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Ports Tree GrowthPorts Tree Growth

0

1000

2000

3000

4000

5000

6000

1996 1997 1998 1999 2000 2001 Today

Page 13: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Development Development OrganisationOrganisation

• Two layers of FreeBSD organisation• The committers, and everyone else• Committers have write access to the

source tree• Everyone else submits patches or bug

reports using FreeBSD's problem reporting system, and waits for a committer to commit the change

• Individuals who submit many patches (that work) are invited to become committers

• 9 committers form the elected "core team", for dispute resolution

Page 14: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Development Development OrganisationOrganisation

SourceSourcecodecode

9 core team

Thousands of contributorsThousands of contributors

280+ committers280+ committers

Page 15: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD Licensing FreeBSD Licensing ModelModel

• FreeBSD distributed under "2 clause" BSD license

• Copyright © [year] [name]All rights reservedRedistribution in source and binary forms, with or without modification, are permitted, provided that the following conditions are met:

1. Redistribution of source code must retain the above copyright notice, this list of conditions, and the disclaimer.2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS", AND ANY EXPRESS OR IMPLIED LIMITED WARANTIES...

Page 16: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD Licensing FreeBSD Licensing ModelModel

• Don't claim that you wrote the code• Don't blame us if the code doesn't

work• Apart from that, do anything you

want with the code

Page 17: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

The GPL and BSD The GPL and BSD LicensesLicenses

• The GPL mandates that source code be disclosed

• The BSD License allows source code changes to be kept secret

• GPL is often categorised as "Copyleft", as distinct from "Copyright"

• BSD License is "Copycentre". We actively encourage third parties to use the source code.

• Donating changes back is purely at the discretion of the party making the changes

Page 18: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Source Code ControlSource Code Control

• The entire source code for FreeBSD is stored in a CVS repository

• The logs, and individual changes for each file can be traced back to 1994.

• The source tree can be checked out at any state, or corresponding to any release

• CDs are available taking the history back a further 25 years

Page 19: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Source Code ControlSource Code Control

• Changes to the FreeBSD tree are available in a number of ways (CVS, CVSup, CTM (e-mail), Web)

• It is possible to maintain a local mirror of the complete CVS tree

• You can 'tag' a local copy of the tree as buildable, and then selectively include changes from FreeBSD

Page 20: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD Release FreeBSD Release ModelModel

• FreeBSD releases maintained using CVS branches

• Head of the tree (-current) will become FreeBSD 5.0

• Last major release (4.0) was branched (-stable)• Subsequent minor releases (4.1, 4.2, etc)

consist of bug fixes backported from -current, and new features in -current that have been extensively tested

• Everyone has complete access to the source code at all times, so incremental releases are not a "Flag day"

Page 21: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD Release FreeBSD Release ModelModel

March 2000,FreeBSD 4.0

Page 22: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD Release FreeBSD Release ModelModel

FreeBSD-Current (will become 5.0)

March 2000,FreeBSD 4.0

FreeBSD-Stable

4.2, November 20004.1.1, September 2000 (crypto)

4.1, July 2000

4.3, April 20014.4, September 2001

Page 23: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Source Code Source Code DistributionDistribution

• FreeBSD Source Code– Available on CD and DVD– Can be downloaded from ftp.freebsd.org– Install using two floppy disks, or download ISO

images and burn your own CDs

• Changes to the source code– Can be updated using CVS– Can be updated using CVSup (faster CVS)

• Can be browsed, with history, on the web, at http://www.freebsd.org/cgi/cvsweb.cgi

Page 24: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Linux CompatabilityLinux Compatability

• Oracle• Netscape• RealPlayer• Flash• NetBackup• Quake III

• Halflife servers• Adobe Acrobat• StarOffice• VMWare• DivX• Opera

• FreeBSD is binary compatible with most Linux applications• No speed penalty, and in many cases, Linux apps run faster

Page 25: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Sample DeploymentSample Deployment

Page 26: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Ethernet

The Internet

Ethernet

Printer

Modem Tapedrive

Faxmodem

ShareShareShare Email

Win95Desktop

Server

Laptop

Win2KDesktop

WinNTDesktop

Win98Desktop

Web Server

Gateway

FTP Server

Gateway

Mail Server

Firewall

Page 27: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

The Internet

VPN Gateway

VPN Configuration

Public IP: A.B.C.DPrivate IP: 192.168.1.1

VPN Gateway

VPN Configuration

Public IP: W.X.Y.ZPrivate IP: 192.168.2.1

CATKIN CERES

VPN ConfigurationVPN Configuration

Page 28: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

FreeBSD on the FreeBSD on the DesktopDesktop

• GNOME• KDE• StarOffice• Netscape• WordPerfect• VMWare• Acrobat

• GIMP• CD burning• MP3 ripping/playing• Gnutella / Napster /

Limewire• Afterstep /

Enlightenment / Sawfish / BlackBox / IceWM …

• A great server OS is a great desktop OS• FreeBSD runs all the desktop apps you’re familiar

with

Page 29: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org
Page 30: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org
Page 31: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org
Page 32: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org
Page 33: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

Comparisons to LinuxComparisons to Linux

• FreeBSD has a 30+ year code lineage• FreeBSD developed as a complete

unit• A less restrictive license• FreeBSD widely recognised as

performing better, particularly under high load

• Cuter logo :-)

Page 34: FreeBSD Nik Clayton nik@FreeBSD.orgnik@crf-consulting.co.uk nik@slashdot.org

For more informationFor more information

• http://www.freebsd.org/• http://www.bsdconeurope.org/• http://ukug.uk.freebsd.org/• http://www.daemonnews.org/• http://www.slashdot.org/bsd/