1
The FSF’s gcc C compiler is the single most important programming tool for Linux, since it is required for building the system and all the other tools. Other key tools include make, source code control tools like CVS and RCS, and editors like vi and Emacs. There are many variations of vi, including vim, nvi, elvis, and vile. Along with the C compiler, all systems need and rely on various libraries, including glibc and libstdc++. Useful Books: Programming with GNU Software Mike Loukides, Andy Oram Learning the vi Editor Linda Lamb, Arnold Robbins CVS Pocket Reference Gregor N. Purdy Learning GNU Emacs Debra Cameron, Bill Rosenblatt, Eric S. Raymond GNU Emacs Manual Richard M. Stallman (FSF) Managing Projects with make Andrew Oram, Steve Talbott Debugging with GDB: The GNU Source-Level Debugger Richard M. Stallman, Cygnus Solutions (FSF) Linux includes a full complement of Unix command-line tools, courtesy of the Free Software Foundation’s GNU project. What many people don’t real- ize is that the free implementations of many of these tools were developed as part of Berkeley Unix and con- tributed to the GNU project from there, so the rivalry between Linux and BSD is overshadowed by deeper cooperation. The bash shell is the most widely used command line shell for Linux. There are other versions of the classic Bourne shell, along with tcsh, a modern version of the C Shell (csh). Useful Books: Linux in a Nutshell Ellen Siever, Stephen Spainhour, Jessica Hekman, Stephen Figgins Running Linux Matt Welsh, Matthias Kalle Dalheimer, Lar Kaufman sed & awk Dale Dougherty, Arnold Robbins sed & awk Pocket Reference Arnold Robbins Effective awk Programming Arnold Robbins (forthcoming from O’Reilly) Learning the bash Shell Cameron Newham, Bill Rosenblatt Using csh & tsch Paul DuBois Key Web Site: www.fsf.org Apache is the dominant web server not only on Linux but on the Web as a whole, with more than 60 percent of all visible web servers running Apache. Apache was created by the Apache Group and is now maintained by the Apache Software Foundation. In addition to the core Apache server project, there are projects for Perl on Apache, Java Server Pages (Jakarta) and XML. mod_perl, mod_serv, and PHP are widely used for generating dynamic content on Apache servers. Developers in the Apache GUI project are working on a cross-platform graph- ical tool called Comanche (which stands for configuration manager for Apache) to help make Apache easier to configure. Zope is the most compre- hensive software for web site design and management in the open source world. Using Python-based tools, it combines dynamic content manage- ment, shared development, and sup- port for sophisticated management techniques like version control and staging. Useful Books: Apache: The Definitive Guide Ben Laurie, Peter Laurie Writing Apache Modules with Perl and C Lincoln Stein, Doug MacEachern HTML & XHTML: The Definitive Guide Chuck Musciano, Bill Kennedy JavaScript: The Definitive Guide David Flanagan Dynamic HTML: The Definitive Reference Danny Goodman CGI Programming with Perl Scott Guelich, Shishir Gundavaram, Gunther Birznieks Web Design in a Nutshell Jennifer Niederst Key Web Sites: www.apache.org www.comanche.org xml.apache.org www.apacheweek.com www.php.net www.xml.com www.zope.org www.w3.org Linus’s kernel is the heart of the system. The current version is 2.2, and is the same on all distributions, although the most recent kernel patch, 2.2.16, is not. Useful Books: Running Linux Matt Welsh, Matthias Kalle Dalheimer, Lar Kaufman Learning Red Hat Linux Bill McCarty Learning Debian GNU/Linux Bill McCarty Linux Device Drivers Alessandro Rubini Linux Multimedia Guide Jeff Tranter Understanding the Linux Kernel Daniel P. Bovet, Marco Cesati Building Linux Clusters David HM Spector Linux Application Development Michael K. Johnson, Eric W.Troan (Addison-Wesley) Key Web Site: www.kernel.org Mozilla, the free version of Netscape’s web browser suite, is the one third- party graphical application certain to be on every Linux system. Though some people argue that Mozilla hasn’t succeeded as an open source project, we believe its contributions are immense and will become more pervasive in the future. In addition to the browser, the Mozilla project is responsible for the JavaScript lan- guage, Bugzilla, and Tinderbox. Parts of Mozilla, including Gecko, are being incorporated into other applications and also into the GNOME 2.0 desktop. Key Web Sites: www.mozilla.org www.mozillazine.org Samba allows the Linux or Unix system to act as a file and print server on a Windows ® network. It’s a high-profile application that is helping to drive Linux’s acceptance in a corporate setting. Samba received support from Australian National University, SGI, and Linuxcare. Useful Books: Using Samba Robert Eckstein, David Collier-Brown, Peter Kelly Managing NFS and NIS Hal Stern Key Web Sites: Samba Home: www.samba.org SWAT: anu.samba.org/cgi-bin/swat KSamba: www.kneschke.de/projekte/ksamba GnoSamba: www.open-systems.com/ gnosamba.html Sun’s StarOffice and Corel’s WordPerfect Office Suite are the most popular third-party office-type applica- tions for Linux. They aren’t strictly a part of Linux but are bundled with many distributions or available for download over the Internet. The GNOME team is currently developing Gnumeric, an Excel-like XML-based spreadsheet application, and Evolution, an Outlook Express-type groupware suite. The GNOME and KDE groups are also developing office application suites that will include word processors, presentation software, and image editing/viewing tools. Other companies, including ApplixWare and AbiSource, are also developing office applications for Linux for commercial distribution. The GIMP (GNU Image Manipulation Program) is an open source Photoshop ® clone, and Ghostscript is a freely available PostScript interpreter. Useful Books: GIMP Pocket Reference Sven Neumann Grokking the GIMP Carey Bunks (New Riders) Key Web Sites: www.openoffice.org www.corel.com koffice.kde.org www.abisource.com www.vistasource.com www.gimp.org Databases are critical for even small organizations; they store the content for many web sites with interfaces through Perl DBI, PHP, or other languages.The Berkeley DB, originally developed and maintained by Margo Selzer and Keith Bostic, is now maintained by their com- pany, Sleepycat Software.The Berkeley DB is quite flexible, supporting C, C++, Java, Tcl, Perl, and Python APIs. There are also a variety of SQL-based data- base applications available for Linux, the most popular of which is MySQL, developed by Michael Widenius. Other database projects include DB2 for Linux from IBM, PostgreSQL, and mSQL. Useful Books: MySQL & mSQL Randy Jay Yarger, George Reese, Tim King MySQL Paul DuBois (New Riders) Mastering PostgreSQL Stephen J. Lombardo (forthcoming from O’Reilly) Key Web Sites: Berkeley DB: www.sleepycat.com www.mysql.com www.postgresql.org DB2: www.ibm.com/db2/linux \ Email is one of the must-have applica- tions for any modern system. Users often rely on their ISP to handle the gory details of mail forwarding and delivery, but many administrators need to set up these services themselves. Eric Allman’s sendmail, ® developed in 1979 as part of Berkeley’s Unix, is the granddaddy of Internet mail servers and still the most widely used, but Linux also includes Dan Bernstein’s qmail and University of Cambridge’s Exim. One of the earliest forms of peer-to- peer communication over the Internet came in the form of email mailing lists. Whether the discussion takes place on an internal server, or in a public forum, mailing lists bring people with like inter- ests together using list management software such as LISTSERV, Majordomo, Listproc, SmartList, Mailman, and ezmlm. Useful Books: sendmail Bryan Costales, Eric Allman Managing Mailing Lists Alan Schwartz Stopping Spam Alan Schwartz, Simson Garfinkel Key Web Sites: www.sendmail.org www.sendmail.net www.sendmail.com www.qmail.org www.exim.org www.postfix.org LISTSERV: www.lsoft.com Majordomo: www.greatcircle.com/majordomo SmartList: www.procmail.org Mailman: www.list.org www.ezmlm.org Linux offers traditional Unix security plus a sophisticated filtering and network address translation (NAT) mechanism. In addition, there are dozens of useful network and security tools in a typical Linux distribution or downloadable from the net. Network Analysis: tcpd, tcpdmatch, tcpdump, traceroute, Hummer, Snort Security Auditing: COPS, ISS, SATAN, Tripwire Firewalls: ipfilter, portmap, socks, wrappers Encryption Tools: PGP, Kerberos Remote Access: SSH, Radius Security Management: swatch, watcher, etc. Useful Books: Practical Unix & Internet Security Simson Garfinkel, Gene Spafford Building Internet Firewalls Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman SSH, The Secure Shell: The Definitive Guide Daniel J. Barrett, Richard Silverman Linux ® Firewalls Robert L. Ziegler (New Riders) Firewalls and Internet Security William R. Cheswick, Steven M. Bellovin (Addison-Wesley) Applied Cryptography Bruce Schneier (Addison-Wesley) PGP Simson Garfinkel Maximum Linux Security Anonymous (SAMS) Key Web Sites: CERIAS: www.cerias.purdue.edu CIAC: ciac.llnl.gov Gene Spafford’s Home Page: www.cerias.purdue.edu/homes/spaf security.oreilly.com www.linuxsecurity.com www.first.org www.alw.nih.gov/Security www.rootshell.org www.securityfocus.com www.freeswan.org ANATOMY OF A LINUX SYSTEM Scripting languages are widely used on Linux for everything from system administration to generating web content. Larry Wall’s Perl is the most widely used but John Ousterhout’s Tcl and Guido van Rossum’s Python are also extremely popular languages, all included in a typical Linux distribution. Thousands of Perl modules are avail- able from CPAN, the Comprehensive Perl Archive Network. The Tk toolkit allows the creation of graphical appli- cations from any of these languages. ActiveState is developing a new IDE for Perl and Python called Komodo, which is based on Mozilla. Useful Books: Programming Perl Larry Wall, Tom Christiansen, Jon Orwant Learning Perl Randal L. Schwartz, Tom Christiansen Perl Cookbook Tom Christiansen, Nathan Torkington Perl in a Nutshell Ellen Siever, Stephen Spainhour, Nathan Patwardhan Programming the Perl DBI Alligator Descartes, Tim Bunce Learning Perl/Tk Nancy Walsh Object Oriented Perl Damian Conway (Manning) Tcl and the Tk Toolkit John K. Ousterhout (Addison-Wesley) Effective Tcl/Tk Programming Mark Harrison, Michael McLennan (Addison-Wesley) Tcl/Tk in a Nutshell Paul Raines, Jeff Tranter Exploring Expect Don Libes Learning Python Mark Lutz, David Ascher Programming Python Mark Lutz Python Pocket Reference Mark Lutz Python Essential Reference David M. Beazley (New Riders) Key Web Sites: www.perl.com www.cpan.org www.perl.org perl.oreilly.com www.ajubasolutions.com www.python.org www.activestate.com www.masonhq.com www.pm.org C/C++ Programming Tools Unix Command-Line Utilities Mozilla Office Applications Samba Web Server Software Perl, Tcl, and Python Kernel and Device Drivers Mail Servers and List Managers Databases Security Magazines Open Magazine: www.openmagazine.net Linux Magazine: www.linux-mag.com Linux Journal: www.linuxjournal.com LinuxWorld: www.linuxworld.com Maximum Linux: www.maximumlinux.com Major Linux Distributors Red Hat ® : www.redhat.com Debian GNU/Linux: www.debian.org SuSE: www.suse.com Linux-Mandrake : www.linux-mandrake.com Slackware ® Linux: www.slackware.com Storm Linux from Stormix Technologies, Inc.: www.stormix.com OpenLinux from Caldera Systems: www.caldera.com TurboLinux ® : www.turbolinux.com LinuxPPC: www.linuxppc.com Yellow Dog Linux : www.yellowdoglinux.com Hard Hat Linux for Embedded Systems from MontaVista Software, Inc.: www.mvista.com RTLinux from FSMLabs: www.fsmlabs.com or www.rtlinux.org Project Hosting www.collab.net www.sourceforge.net Downloads www.ibiblio.org www.freshmeat.net www.themes.org www.rpmfind.net/linux/RPM Kernel (News and Notes) www.kernel.org www.kernelnotes.org Philosophy www.fsf.org www.opensource.org www.opencontent.org Linux ® is named after Linus Torvalds, architect of the Linux kernel, the heart of the operating system. But a complete Linux distribution contains the work of hun- dreds of separate open source software projects. A surprise to many people is the amount of code that companies like Sun, SGI, and Digital (Compaq) have con- tributed. This poster peels back the skin of the Linux distribution to show many of the major projects and their relationship to each other and to the whole Linux anatomy. The Big Ideas Behind Linux Eric S. Raymond’s The Cathedral & The Bazaar outlines the way a distributed network of programmers can build leading-edge, high-quality software without centralized control. Another O’Reilly book, Open Sources, contains essays on open source software development methodology by many of the key developers who have made it happen. Hardware/Systems VA Linux Systems: www.valinux.com Penguin Computing: www.penguincomputing.com IBM: www.ibm.com/linux Cobalt Networks, Inc.: www.cobalt.com Conferences O’Reilly Open Source Convention: conferences.oreilly.com LinuxWorld New York: www.linuxworldexpo.com LinuxWorld San Jose: www.linuxworldexpo.com Atlanta Linux Showcase: ww.linuxshowcase.com ApacheCon: www.apachecon.com YAPC (Yet Another Perl Conference): www.yapc.org/America or www.yapc.org/Europe Top Linux Web Sites www.linux.com www.linux.org www.slashdot.org www.linuxtoday.com www.lwn.net www.linuxgazette.com O’Reilly Sites www.oreilly.com www.oreillynet.com linux.oreilly.com All books listed are published by O’Reilly & Associates, Inc., except where noted. T HE O’R EILLY O PEN S OURCE S OFTWARE C ONVENTION July 23-26, 2001 San Diego, California To some, Java and Linux might sound like an odd combination, but in reality, there’s a lot going on in this space. Sun has a long-standing link to Linux, supplying developers and source code for the kernel, in addition to their recent contribution to the community by GPLing StarOffice. Other Java-Linux con- nections include the Blackdown Project, which is a world-wide community of volunteer developers who are working to bring the Java platform to Linux, and Kaffe, a cross-platform implementation of the Java Virtual Machine (JVM). Founded by Tim Wilkinson, Kaffe supports Sun’s own Solaris, Linux, Microsoft Windows ® and Windows CE, and even DOS, and is finding a new home in embedded systems. Other Java-related open source projects include Java Server Pages (JSP/Jakarta), and Enhydra (a Java/XML-based application server and development environment). Useful Books: Database Programming with JDBC and Java George Reese Java in a Nutshell David Flanagan Jini in a Nutshell Scott Oaks, Henry Wong Java Programming on Linux Nathan Meyers (Waite Group Press) Java and XML Brett McLaughlin Key Web Sites: www.sun.com/linux www.blackdown.org www.kaffe.org jakarta.apache.org www.openoffice.org Tim Berners-Lee’s introduction of the HyperText Markup Language (HTML) took the Internet by storm in 1993 when people outside of technical cir- cles realized its potential for spread- ing information over the then-fledgling World Wide Web (WWW). In the years since, the HTML standard has been through a few iterations, and the Web has evolved into a media-rich environment dominated by things like the Document Object Model (DOM), JavaScript, and other advancements like Cascading Style Sheets (CSS). But HTML isn’t flexible enough for today’s web, and the eXtensible Markup Language (XML) was at first deemed to be far ahead of itself. That’s changed. The new version of HTML, XHTML, builds upon its exist- ing structure by adding some of XML’s powerful features. XML is quickly becoming the defacto markup for transporting all kinds of data over the Internet and between applica- tions. Jabber, an open source, peer- to-peer instant messaging system, relies heavily on XML as its transport language, and XSLT gives developers the ability to transform XML documents into output forms such as PostScript, PDF, ASCII text, and HTML. Useful Books: HTML & XHTML: The Definitive Guide Chuck Musciano, Bill Kennedy Cascading Style Sheets: The Definitive Guide Eric A. Meyer Dynamic HTML: The Definitive Reference Danny Goodman Programming PHP Rasmus Lerdorf, Randy Jay Yarger, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo Web Application Development with PHP 4.0 Tobias Ratschiller, Till Gerken (New Riders) JavaScript: The Definitive Guide David Flanagan Designing with JavaScript Nick Heinle, Martin Webb Java and XML Brett McLaughlin Web Design in a Nutshell Jennifer Niederst HTML Pocket Reference Jennifer Niederst JavaScript Pocket Reference David Flanagan XML Pocket Reference Robert Eckstein PHP Pocket Reference Rasmus Lerdorf Key Web Sites: www.xml.com www.ibm.com/developer/sml www.w3.org www.webstandards.org www.irt.org www.jabber.org www.php.net There is a host of standards and protocols that we all rely on, and we often use them without even giving them a thought. Things like TCP/IP and Ethernet for network communication and data transmis- sion; DHCP for doling out IP addresses within a host network; SMTP, POP3, and IMAP for send- ing and receiving email; HTTP for the Web, and FTP for transferring files over the Internet; and NNTP for accessing Usenet news. Then there are MIME-types for images, video, audio, and documents. We live and breathe these standards, often without knowing we’re doing it. Open protocol standards are a key part of what makes the Internet work. Useful Books: TCP/IP Network Administration Craig Hunt Managing IP Networks with Cisco Routers Scott M. Ballew Managing IMAP Dianna Mullet, Kevin Mullet Using & Managing PPP Andrew Sun Internet Core Protocols: The Definitive Guide Eric Hall Ethernet: The Definitive Guide Charles E. Spurgeon Managing Usenet Henry Spencer PNG: The Definitive Guide Greg Roelofs DocBook: The Definitive Guide Norman Walsh, Leonard Muellner MP3: The Definitive Guide Scot Hacker HTTP Pocket Reference Clinton Wong Key Web Sites: www.ietf.org www.ieee.org www.openldap.org Increasingly, instant messaging and other peer-to-peer technologies are looking to be the foundation of the next revolution in Internet technologies. Gnutella and Freenet are peer-to-peer file-sharing tools. Jabber ® is an open source instant messaging system with a client-server architecture that allows people to communicate with one another over different IM systems, including AOL’s Instant Messenger SM (AIM) and ICQ. Useful Book: Peer-to-Peer: The Disruptive Potential Behind Collaborative Networking Gene Kan, Jeremie Miller (forthcoming from O’Reilly) Key Web Sites: www.jabber.org (developers) www.jabber.com (users) gnutella.wego.com freenet.sourceforge.net Peer-to-Peer Communication Java XML and HTML Protocols, Standards, and Data Formats Qmail: Dan Bernstein sendmail: Eric Allman Tcl/Tk: John Ousterhout XFree86: Dirk Hohndel COPYRIGHT © 2001 O’Reilly & Associates, Inc. All trademarks are property of their respective owners. Created by Tim O’Reilly and Chuck Toporek with review and input from Andy Oram, Frank Pohlmann, Laurie Petrycki, and attendees of the 2000 Open Source Convention Designed by Kathryn Heflin and David Bacigalupi with input from the O’Reilly Marketing Design Group Illustration by Jeff Reynolds Design KEY CONTRIBUTORS: Linux Kernel: Linus Torvalds, Alan Cox BIND: Paul Vixie Exim: Philip Hazel glibc: Roland McGrath, Ulrich Drepper GNU tools (Emacs and vision of the free operating system) (gcc) (bash): Richard M. Stallman GNOME: Miguel de Icaza KDE: Matthias Ettrich, Torben Weis MySQL: Michael “Monty” Widenius PHP: Rasmus Lerdorf Perl: Larry Wall, Chip Salzenburg, Tom Christiansen, Tim Bunce, Gurusamy Sarathy Python: Guido van Rossum The X Window System, developed at MIT by Jim Gettys, Bob Scheifler, and a host of contributors, is the foundation of all the Linux graphical user interface tools. The Linux version of X is maintained by the XFree86 project under the leadership of Dirk Hohndel of SuSE. High-level programming toolkits for X include GTK+, Qt, and Motif (which has recently been released as OpenMotif ® ). Useful Books: Volume 8: X Window System Administrator’s Guide Linda Mui, Eric Pearce Linux X User’s Guide Ellen Siever Programming with Qt Matthias Kalle Dalheimer The Concise Guide to XFree86 for Linux Aron Hsiao (Que) Miguel de Icaza’s GNOME (GNU Object Model Environment) is one of the most popular graphical desktop environments for Linux. Next-generation inter- faces based on GNOME are now being developed by companies such as Helix Code and Eazel. GNOME includes a choice of window managers, including Enlightenment, Sawfish, and WM, plus facilities for creating applications with drag-and-drop support, pull-down menus, and other GUI features. GTK (The GIMP Toolkit) is the foundation for the GNOME programming language. GNU/GNOME is the default desktop environment for the Red Hat ® and Debian Linux distributions. Useful Books: Learning Red Hat Linux Bill McCarty Learning Debian GNU/Linux Bill McCarty GTK+/Gnome Application Development Havoc Pennington (New Riders) The K Desktop Environment (KDE) was the first comprehensive graphical environment for Linux, and is still one of the most popular. KDE is built on top of the Qt Toolkit, which is now available under the Q Public License (or QPL). Qt is a product of Norway’s Trolltech AS and is the foundation of the KDE desk- top. KDE is the preferred environment on SuSE, Mandrake, and Corel Linux. Like GNOME, the KDE Group has developed a suite of office applications called KOffice, which includes a word processor and programs for creating pre- sentations, spreadsheets, illustrations, and much more. Useful Book: KDE Application Development Uwe Thiem (MTP) The X Window System GNOME KDE Key Web Sites: www.gnome.org developer.gnome.org www.gtk.org www.pango.org www.helixcode.com www.eazel.com Key Web Sites: www.xfree86.org www.x.org www.opengroup.org/openmotif Key Web Sites: www.kde.org developer.kde.org www.konqueror.org koffice.kde.org www.trolltech.com www.trolltech.com/qpl Many people don’t realize that Bill Joy and his team at UC Berkeley originally developed the implementation of the TCP/IP stack that forms the foundation of the Internet, including all commercial versions. The Linux version is derived directly from the BSD code. BIND, the server that implements the domain name system, was designed by Paul Mockapetris and built by Paul Vixie, who still maintains it at the nonprofit Internet Software Consortium. ISC also maintains INN, the most widely used usenet news server software. Useful Books: Linux Network Administrator’s Guide Olaf Kirch, Terry Dawson TCP/IP Network Administration Craig Hunt DNS and BIND Paul Albitz, Cricket Liu Managing Usenet Henry Spencer, David Lawrence Key Web Sites: www.isc.org www.ietf.org TCP/IP and the DNS of open source software will belong to people who start from individual vision and brilliance, then amplify it through the effective construction of voluntary communities of interest. —ERIC S. RAYMOND The Cathedral & The Bazaar The cutting edge 99745 P R O G R A M M E R S W E B M A S T E R S S Y S T E M A D M I N I S T R A T O R S U S E R S

Anatomy of a linuxsystem

Embed Size (px)

Citation preview

Page 1: Anatomy of a linuxsystem

The FSF’s gcc C compiler is the singlemost important programming tool forLinux, since it is required for buildingthe system and all the other tools.Other key tools include make, sourcecode control tools like CVS and RCS,and editors like vi and Emacs. Thereare many variations of vi, includingvim, nvi, elvis, and vile. Along with theC compiler, all systems need and relyon various libraries, including glibc and libstdc++.

Useful Books:� Programming with GNU Software

Mike Loukides, Andy Oram� Learning the vi Editor

Linda Lamb, Arnold Robbins� CVS Pocket Reference

Gregor N. Purdy� Learning GNU Emacs

Debra Cameron, Bill Rosenblatt,Eric S. Raymond

� GNU Emacs ManualRichard M. Stallman (FSF)

� Managing Projects with makeAndrew Oram, Steve Talbott

� Debugging with GDB:The GNU Source-Level DebuggerRichard M. Stallman, Cygnus Solutions(FSF)

Linux includes a full complement ofUnix command-line tools, courtesy ofthe Free Software Foundation’s GNUproject. What many people don’t real-ize is that the free implementations ofmany of these tools were developedas part of Berkeley Unix and con-tributed to the GNU project from there, so the rivalry between Linuxand BSD is overshadowed by deepercooperation.

The bash shell is the most widely usedcommand line shell for Linux. Thereare other versions of the classicBourne shell, along with tcsh, a modern version of the C Shell (csh).

Useful Books:� Linux in a Nutshell

Ellen Siever, Stephen Spainhour, Jessica Hekman, Stephen Figgins

� Running LinuxMatt Welsh, Matthias Kalle Dalheimer,Lar Kaufman

� sed & awkDale Dougherty, Arnold Robbins

� sed & awk Pocket ReferenceArnold Robbins

� Effective awk ProgrammingArnold Robbins (forthcoming from O’Reilly)

� Learning the bash ShellCameron Newham, Bill Rosenblatt

� Using csh & tschPaul DuBois

Key Web Site:www.fsf.org

Apache is the dominant web servernot only on Linux but on the Web as a whole, with more than 60 percent of all visible web servers runningApache. Apache was created by theApache Group and is now maintainedby the Apache Software Foundation. Inaddition to the core Apache serverproject, there are projects for Perl onApache, Java Server Pages (Jakarta)and XML. mod_perl, mod_serv, andPHP are widely used for generatingdynamic content on Apache servers.Developers in the Apache GUI projectare working on a cross-platform graph-ical tool called Comanche (whichstands for configuration manager forApache) to help make Apache easierto configure. Zope is the most compre-hensive software for web site designand management in the open sourceworld. Using Python-based tools, itcombines dynamic content manage-ment, shared development, and sup-port for sophisticated managementtechniques like version control andstaging.

Useful Books:� Apache: The Definitive Guide

Ben Laurie, Peter Laurie� Writing Apache Modules with

Perl and CLincoln Stein, Doug MacEachern

� HTML & XHTML: The Definitive GuideChuck Musciano, Bill Kennedy

� JavaScript: The Definitive GuideDavid Flanagan

� Dynamic HTML:The Definitive ReferenceDanny Goodman

� CGI Programming with PerlScott Guelich, Shishir Gundavaram,Gunther Birznieks

� Web Design in a NutshellJennifer Niederst

Key Web Sites:www.apache.orgwww.comanche.orgxml.apache.orgwww.apacheweek.comwww.php.netwww.xml.comwww.zope.orgwww.w3.org

Linus’s kernel is the heart of the system. The current version is 2.2, and is the same on all distributions,although the most recent kernel patch,2.2.16, is not.

Useful Books:� Running Linux

Matt Welsh, Matthias Kalle Dalheimer,Lar Kaufman

� Learning Red Hat LinuxBill McCarty

� Learning Debian GNU/LinuxBill McCarty

� Linux Device DriversAlessandro Rubini

� Linux Multimedia GuideJeff Tranter

� Understanding the Linux KernelDaniel P. Bovet, Marco Cesati

� Building Linux ClustersDavid HM Spector

� Linux Application DevelopmentMichael K. Johnson, Eric W. Troan(Addison-Wesley)

Key Web Site:www.kernel.org

Mozilla, the free version of Netscape’sweb browser suite, is the one third-party graphical application certain to be on every Linux system. Thoughsome people argue that Mozilla hasn’tsucceeded as an open source project,we believe its contributions areimmense and will become more pervasive in the future. In addition to the browser, the Mozilla project isresponsible for the JavaScript lan-guage, Bugzilla, and Tinderbox. Partsof Mozilla, including Gecko, are beingincorporated into other applicationsand also into the GNOME 2.0 desktop.

Key Web Sites:www.mozilla.orgwww.mozillazine.org

Samba allows the Linux or Unix systemto act as a file and print server on aWindows® network. It’s a high-profileapplication that is helping to driveLinux’s acceptance in a corporate setting. Samba received support fromAustralian National University, SGI, and Linuxcare.

Useful Books:� Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly

� Managing NFS and NISHal Stern

Key Web Sites:Samba Home: www.samba.org

SWAT: anu.samba.org/cgi-bin/swat

KSamba:www.kneschke.de/projekte/ksamba

GnoSamba:www.open-systems.com/gnosamba.html

Sun’s StarOffice and Corel’sWordPerfect Office Suite are the mostpopular third-party office-type applica-tions for Linux. They aren’t strictly apart of Linux but are bundled withmany distributions or available fordownload over the Internet. TheGNOME team is currently developingGnumeric, an Excel-like XML-basedspreadsheet application, andEvolution, an Outlook Express-typegroupware suite. The GNOME andKDE groups are also developing officeapplication suites that will include wordprocessors, presentation software, and image editing/viewing tools. Othercompanies, including ApplixWare andAbiSource, are also developing officeapplications for Linux for commercialdistribution. The GIMP (GNU ImageManipulation Program) is an opensource Photoshop® clone, andGhostscript is a freely availablePostScript interpreter.

Useful Books:� GIMP Pocket Reference

Sven Neumann

� Grokking the GIMPCarey Bunks (New Riders)

Key Web Sites:www.openoffice.orgwww.corel.comkoffice.kde.orgwww.abisource.comwww.vistasource.comwww.gimp.org

Databases are critical for even smallorganizations; they store the content formany web sites with interfaces throughPerl DBI, PHP, or other languages. TheBerkeley DB, originally developed andmaintained by Margo Selzer and KeithBostic, is now maintained by their com-pany, Sleepycat Software. The BerkeleyDB is quite flexible, supporting C, C++,Java, Tcl, Perl, and Python APIs. Thereare also a variety of SQL-based data-base applications available for Linux,the most popular of which is MySQL,developed by Michael Widenius.Other database projects include DB2for Linux from IBM, PostgreSQL, and mSQL.

Useful Books:� MySQL & mSQL

Randy Jay Yarger, George Reese, Tim King

� MySQLPaul DuBois (New Riders)

� Mastering PostgreSQLStephen J. Lombardo (forthcoming from O’Reilly)

Key Web Sites:Berkeley DB: www.sleepycat.comwww.mysql.comwww.postgresql.orgDB2: www.ibm.com/db2/linux

\

Email is one of the must-have applica-tions for any modern system. Usersoften rely on their ISP to handle thegory details of mail forwarding anddelivery, but many administrators needto set up these services themselves.Eric Allman’s sendmail,® developed in 1979 as part of Berkeley’s Unix, isthe granddaddy of Internet mail serversand still the most widely used, butLinux also includes Dan Bernstein’sqmail and University of Cambridge’sExim.

One of the earliest forms of peer-to-peer communication over the Internetcame in the form of email mailing lists.Whether the discussion takes place onan internal server, or in a public forum,mailing lists bring people with like inter-ests together using list managementsoftware such as LISTSERV,Majordomo, Listproc, SmartList,Mailman, and ezmlm.

Useful Books:� sendmail

Bryan Costales, Eric Allman

� Managing Mailing ListsAlan Schwartz

� Stopping SpamAlan Schwartz, Simson Garfinkel

Key Web Sites:www.sendmail.orgwww.sendmail.netwww.sendmail.comwww.qmail.orgwww.exim.orgwww.postfix.orgLISTSERV: www.lsoft.comMajordomo:www.greatcircle.com/majordomoSmartList: www.procmail.orgMailman: www.list.orgwww.ezmlm.org

Linux offers traditional Unix securityplus a sophisticated filtering and network address translation (NAT)mechanism. In addition, there aredozens of useful network and securitytools in a typical Linux distribution ordownloadable from the net.

Network Analysis: tcpd, tcpdmatch, tcpdump, traceroute, Hummer, Snort

Security Auditing: COPS, ISS,SATAN, Tripwire

Firewalls: ipfilter, portmap, socks, wrappers

Encryption Tools: PGP, Kerberos

Remote Access: SSH, Radius

Security Management: swatch, watcher, etc.

Useful Books:� Practical Unix & Internet Security

Simson Garfinkel, Gene Spafford

� Building Internet FirewallsElizabeth D. Zwicky, Simon Cooper, D. Brent Chapman

� SSH, The Secure Shell:The Definitive GuideDaniel J. Barrett, Richard Silverman

� Linux® FirewallsRobert L. Ziegler (New Riders)

� Firewalls and Internet SecurityWilliam R. Cheswick, Steven M. Bellovin(Addison-Wesley)

� Applied CryptographyBruce Schneier (Addison-Wesley)

� PGPSimson Garfinkel

� Maximum Linux SecurityAnonymous (SAMS)

Key Web Sites:CERIAS: www.cerias.purdue.eduCIAC: ciac.llnl.govGene Spafford’s Home Page:www.cerias.purdue.edu/homes/spafsecurity.oreilly.comwww.linuxsecurity.comwww.first.orgwww.alw.nih.gov/Securitywww.rootshell.orgwww.securityfocus.comwww.freeswan.org

A N A T O M Y O F A L I N U X S Y S T E M

Scripting languages are widely usedon Linux for everything from systemadministration to generating web content. Larry Wall’s Perl is the mostwidely used but John Ousterhout’s Tcland Guido van Rossum’s Python arealso extremely popular languages, allincluded in a typical Linux distribution.Thousands of Perl modules are avail-able from CPAN, the ComprehensivePerl Archive Network. The Tk toolkitallows the creation of graphical appli-cations from any of these languages.ActiveState is developing a new IDEfor Perl and Python called Komodo,which is based on Mozilla.

Useful Books:� Programming Perl

Larry Wall, Tom Christiansen, Jon Orwant

� Learning PerlRandal L. Schwartz, Tom Christiansen

� Perl CookbookTom Christiansen, Nathan Torkington

� Perl in a NutshellEllen Siever, Stephen Spainhour,Nathan Patwardhan

� Programming the Perl DBIAlligator Descartes, Tim Bunce

� Learning Perl/TkNancy Walsh

� Object Oriented PerlDamian Conway (Manning)

� Tcl and the Tk ToolkitJohn K. Ousterhout (Addison-Wesley)

� Effective Tcl/Tk ProgrammingMark Harrison, Michael McLennan(Addison-Wesley)

� Tcl/Tk in a NutshellPaul Raines, Jeff Tranter

� Exploring ExpectDon Libes

� Learning PythonMark Lutz, David Ascher

� Programming PythonMark Lutz

� Python Pocket ReferenceMark Lutz

� Python Essential ReferenceDavid M. Beazley (New Riders)

Key Web Sites:www.perl.comwww.cpan.orgwww.perl.orgperl.oreilly.comwww.ajubasolutions.comwww.python.orgwww.activestate.comwww.masonhq.comwww.pm.org

C/C++ Programming Tools Unix Command-Line Utilities Mozilla Office Applications

Samba

Web Server Software

Perl, Tcl, and Python

Kernel and Device Drivers

Mail Servers and List Managers

Databases

Security

MagazinesOpen Magazine: www.openmagazine.netLinux Magazine: www.linux-mag.comLinux Journal: www.linuxjournal.comLinuxWorld: www.linuxworld.comMaximum Linux: www.maximumlinux.com

Major Linux DistributorsRed Hat®: www.redhat.comDebian GNU/Linux: www.debian.orgSuSE: www.suse.comLinux-Mandrake™:www.linux-mandrake.comSlackware® Linux: www.slackware.com

Storm Linux™ from Stormix Technologies, Inc.:www.stormix.comOpenLinux™ from Caldera Systems:www.caldera.comTurboLinux ®: www.turbolinux.comLinuxPPC: www.linuxppc.comYellow Dog Linux™: www.yellowdoglinux.comHard Hat™ Linux for Embedded Systems fromMontaVista Software, Inc.: www.mvista.comRTLinux™ from FSMLabs: www.fsmlabs.comor www.rtlinux.org

Project Hostingwww.collab.netwww.sourceforge.net

Downloadswww.ibiblio.orgwww.freshmeat.netwww.themes.orgwww.rpmfind.net/linux/RPM

Kernel (News and Notes)www.kernel.orgwww.kernelnotes.org

Philosophywww.fsf.orgwww.opensource.orgwww.opencontent.org

Linux® is named after Linus Torvalds,architect of the Linux kernel, the heart ofthe operating system. But a completeLinux distribution contains the work of hun-dreds of separate open source softwareprojects. A surprise to many people is theamount of code that companies like Sun,SGI, and Digital (Compaq) have con-tributed. This poster peels back the skin ofthe Linux distribution to show many of themajor projects and their relationship to eachother and to the whole Linux anatomy.

The Big Ideas Behind LinuxEric S. Raymond’s TheCathedral & The Bazaaroutlines the way a distributednetwork of programmers can build leading-edge, high-quality software withoutcentralized control. AnotherO’Reilly book,Open Sources,

contains essays on open source software development methodology by many of the keydevelopers who have made it happen.

Hardware/SystemsVA Linux Systems: www.valinux.comPenguin Computing:www.penguincomputing.comIBM: www.ibm.com/linuxCobalt Networks, Inc.: www.cobalt.com

ConferencesO’Reilly Open Source Convention:conferences.oreilly.comLinuxWorld New York:www.linuxworldexpo.comLinuxWorld San Jose:www.linuxworldexpo.comAtlanta Linux Showcase:ww.linuxshowcase.com

ApacheCon: www.apachecon.comYAPC (Yet Another Perl Conference):www.yapc.org/America orwww.yapc.org/Europe

Top Linux Web Siteswww.linux.comwww.linux.orgwww.slashdot.orgwww.linuxtoday.comwww.lwn.netwww.linuxgazette.com

O’Reilly Siteswww.oreilly.comwww.oreillynet.comlinux.oreilly.com

All

book

s lis

ted

are

publ

ishe

d by

O’R

eilly

& A

ssoc

iate

s, I

nc.,

exce

pt w

here

not

ed.

T H E O’R E I L L Y O P E N S O U R C E S O F T W A R E C O N V E N T I O N

July 23-26, 2001 � San Diego, California

To some, Java and Linux mightsound like an odd combination, butin reality, there’s a lot going on inthis space. Sun has a long-standinglink to Linux, supplying developersand source code for the kernel, inaddition to their recent contributionto the community by GPLingStarOffice.™ Other Java-Linux con-nections include the BlackdownProject, which is a world-wide community of volunteer developerswho are working to bring the Javaplatform to Linux, and Kaffe, across-platform implementation ofthe Java Virtual Machine (JVM).Founded by Tim Wilkinson, Kaffesupports Sun’s own Solaris, Linux,Microsoft Windows® and WindowsCE, and even DOS, and is finding a new home in embedded systems.Other Java-related open sourceprojects include Java Server Pages(JSP/Jakarta), and Enhydra (aJava/XML-based application serverand development environment).

Useful Books:� Database Programming

with JDBC and JavaGeorge Reese

� Java in a NutshellDavid Flanagan

� Jini in a NutshellScott Oaks, Henry Wong

� Java™ Programming on LinuxNathan Meyers (Waite Group Press)

� Java and XMLBrett McLaughlin

Key Web Sites:www.sun.com/linuxwww.blackdown.orgwww.kaffe.orgjakarta.apache.orgwww.openoffice.org

Tim Berners-Lee’s introduction of theHyperText Markup Language (HTML)took the Internet by storm in 1993when people outside of technical cir-cles realized its potential for spread-ing information over the then-fledglingWorld Wide Web (WWW). In theyears since, the HTML standard hasbeen through a few iterations, and theWeb has evolved into a media-richenvironment dominated by things likethe Document Object Model (DOM),JavaScript, and other advancementslike Cascading Style Sheets (CSS).But HTML isn’t flexible enough fortoday’s web, and the eXtensibleMarkup Language (XML) was at firstdeemed to be far ahead of itself.That’s changed. The new version ofHTML, XHTML, builds upon its exist-ing structure by adding some ofXML’s powerful features. XML isquickly becoming the defacto markupfor transporting all kinds of data overthe Internet and between applica-tions. Jabber, an open source, peer-

to-peer instant messaging system,relies heavily on XML as its transportlanguage, and XSLT gives developersthe ability to transform XML documentsinto output forms such as PostScript,PDF, ASCII text, and HTML.

Useful Books:� HTML & XHTML: The Definitive Guide

Chuck Musciano, Bill Kennedy� Cascading Style Sheets:

The Definitive GuideEric A. Meyer

� Dynamic HTML:The Definitive ReferenceDanny Goodman

� Programming PHPRasmus Lerdorf, Randy Jay Yarger,Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo

� Web Application Development with PHP 4.0Tobias Ratschiller, Till Gerken (New Riders)

� JavaScript: The Definitive GuideDavid Flanagan

� Designing with JavaScriptNick Heinle, Martin Webb

� Java and XMLBrett McLaughlin

� Web Design in a NutshellJennifer Niederst

� HTML Pocket ReferenceJennifer Niederst

� JavaScript Pocket ReferenceDavid Flanagan

� XML Pocket ReferenceRobert Eckstein

� PHP Pocket ReferenceRasmus Lerdorf

Key Web Sites:www.xml.comwww.ibm.com/developer/smlwww.w3.orgwww.webstandards.orgwww.irt.orgwww.jabber.orgwww.php.net

There is a host of standards andprotocols that we all rely on, andwe often use them without evengiving them a thought. Things likeTCP/IP and Ethernet for networkcommunication and data transmis-sion; DHCP for doling out IPaddresses within a host network;SMTP, POP3, and IMAP for send-ing and receiving email; HTTP forthe Web, and FTP for transferringfiles over the Internet; and NNTPfor accessing Usenet news. Thenthere are MIME-types for images,video, audio, and documents. Welive and breathe these standards,often without knowing we’re doingit. Open protocol standards are a key part of what makes theInternet work.

Useful Books:� TCP/IP Network Administration

Craig Hunt� Managing IP Networks with

Cisco RoutersScott M. Ballew

� Managing IMAPDianna Mullet, Kevin Mullet

� Using & Managing PPPAndrew Sun

� Internet Core Protocols:The Definitive GuideEric Hall

� Ethernet: The Definitive GuideCharles E. Spurgeon

� Managing UsenetHenry Spencer

� PNG: The Definitive GuideGreg Roelofs

� DocBook: The Definitive GuideNorman Walsh, Leonard Muellner

� MP3: The Definitive GuideScot Hacker

� HTTP Pocket ReferenceClinton Wong

Key Web Sites:www.ietf.orgwww.ieee.orgwww.openldap.org

Increasingly, instant messaging andother peer-to-peer technologies arelooking to be the foundation of the nextrevolution in Internet technologies.Gnutella and Freenet are peer-to-peerfile-sharing tools. Jabber® is an opensource instant messaging system witha client-server architecture that allowspeople to communicate with one another over different IM systems,including AOL’s Instant Messenger SM

(AIM) and ICQ.

Useful Book:� Peer-to-Peer: The Disruptive Potential

Behind Collaborative Networking Gene Kan, Jeremie Miller(forthcoming from O’Reilly)

Key Web Sites:www.jabber.org (developers)www.jabber.com (users)gnutella.wego.comfreenet.sourceforge.net

Peer-to-Peer Communication

Java™ XML and HTML Protocols, Standards, and Data Formats

Qmail: Dan Bernstein

sendmail: Eric Allman

Tcl/Tk: John Ousterhout

XFree86: Dirk Hohndel

COPYRIGHT © 2001

O’Reilly & Associates, Inc.

All trademarks are property

of their respective owners.

Created by Tim O’Reilly and Chuck Toporek

with review and input from Andy Oram,

Frank Pohlmann, Laurie Petrycki, and attendees

of the 2000 Open Source Convention

Designed by Kathryn Heflin and

David Bacigalupi with input from

the O’Reilly Marketing Design Group

Illustration by Jeff Reynolds Design

KEY CONTRIBUTORS:

Linux Kernel: Linus Torvalds, Alan Cox

BIND: Paul Vixie

Exim: Philip Hazel

glibc: Roland McGrath, Ulrich Drepper

GNU tools (Emacs and vision of the

free operating system) (gcc) (bash):

Richard M. Stallman

GNOME: Miguel de Icaza

KDE: Matthias Ettrich, Torben Weis

MySQL: Michael “Monty” Widenius

PHP: Rasmus Lerdorf

Perl: Larry Wall, Chip Salzenburg,

Tom Christiansen, Tim Bunce,

Gurusamy Sarathy

Python: Guido van Rossum

The X Window System, developed at MIT by Jim Gettys, Bob Scheifler, and ahost of contributors, is the foundation of all the Linux graphical user interfacetools. The Linux version of X is maintained by the XFree86 project under theleadership of Dirk Hohndel of SuSE. High-level programming toolkits for Xinclude GTK+, Qt,™ and Motif (which has recently been released asOpenMotif®).

Useful Books:� Volume 8: X Window System

Administrator’s GuideLinda Mui, Eric Pearce

� Linux X User’s GuideEllen Siever

� Programming with QtMatthias Kalle Dalheimer

� The Concise Guide to XFree86 for LinuxAron Hsiao (Que)

Miguel de Icaza’s GNOME (GNU Object Model Environment) is one of themost popular graphical desktop environments for Linux. Next-generation inter-faces based on GNOME are now being developed by companies such as HelixCode and Eazel.GNOME includes a choice of window managers, includingEnlightenment, Sawfish, and WM, plus facilities for creating applications withdrag-and-drop support, pull-down menus, and other GUI features. GTK (TheGIMP Toolkit) is the foundation for the GNOME programming language.GNU/GNOME is the default desktop environment for the Red Hat® and DebianLinux distributions.

Useful Books:� Learning Red Hat Linux

Bill McCarty� Learning Debian GNU/Linux

Bill McCarty� GTK+/Gnome Application Development

Havoc Pennington (New Riders)

The K Desktop Environment (KDE) was the first comprehensive graphical environment for Linux, and is still one of the most popular. KDE is built on topof the Qt™ Toolkit, which is now available under the Q Public License (or QPL).Qt is a product of Norway’s Trolltech AS and is the foundation of the KDE desk-top. KDE is the preferred environment on SuSE, Mandrake, and Corel Linux.Like GNOME, the KDE Group has developed a suite of office applicationscalled KOffice, which includes a word processor and programs for creating pre-sentations, spreadsheets, illustrations, and much more.

Useful Book:� KDE Application Development

Uwe Thiem (MTP)

The X Window System GNOME KDE

Key Web Sites:www.gnome.orgdeveloper.gnome.orgwww.gtk.orgwww.pango.orgwww.helixcode.comwww.eazel.com

Key Web Sites:www.xfree86.orgwww.x.orgwww.opengroup.org/openmotif Key Web Sites:

www.kde.orgdeveloper.kde.orgwww.konqueror.orgkoffice.kde.orgwww.trolltech.comwww.trolltech.com/qpl

Many people don’t realize that Bill Joyand his team at UC Berkeley originallydeveloped the implementation of theTCP/IP stack that forms the foundationof the Internet, including all commercialversions. The Linux version is deriveddirectly from the BSD code. BIND, theserver that implements the domainname system, was designed by PaulMockapetris and built by Paul Vixie,who still maintains it at the nonprofitInternet Software Consortium. ISCalso maintains INN, the most widelyused usenet news server software.

Useful Books:� Linux Network Administrator’s Guide

Olaf Kirch, Terry Dawson� TCP/IP Network Administration

Craig Hunt � DNS and BIND

Paul Albitz, Cricket Liu� Managing Usenet

Henry Spencer, David Lawrence

Key Web Sites:www.isc.orgwww.ietf.org

TCP/IP and the DNS

of open source software

will belong to people who start

from individual vision and brilliance,

then amplify it through the effective

construct ion of voluntary

communities of interest.

—ERIC S. RAYMOND

The Cathedral & The Bazaar

The cutting edge

9974

5

PR

OG

RAM

MERS

WEBMASTERS

SYSTEMAD

MIN

IST

RAT

OR

S

USERS