Register your product to gain access to bonus material or receive a coupon.
This resource-packed guide delivers pragmatic solutions for real-world Linux development needs—all using open-source software tools. Viewing Linux as a well-stocked toolbox, Multitool Linux shows programmers and sophisticated users how to create a wide variety of exciting and useful applications for business and entertainment, from speech synthesis and video production to network security.
The book begins with a general introduction to Linux and a look at working with its source code. A wide variety of programming projects—encompassing communications, privacy, music and audio, graphics, photography, and much more—are then explored in-depth. Each chapter is filled with examples, helpful screenshots, step-by-step tutorials, lists of open-source tools, and URLs for sites where those tools can be obtained for free.
Many of the tools discussed in the book will work not only with Linux, but with any flavor of UNIX—from FreeBSD up to expensive, proprietary versions of UNIX running on high-speed massively parallel hardware.
Multitool Linux shows you how to:
If you want to learn how to install and operate Linux, look to other books and manuals. But if you have installed the software and are asking the question, "Now what?" Multitool Linux provides valuable and entertaining answers.
Click below for Sample Chapter(s) related to this title:
Sample
Chapter 5
Preface.
You've Been Hoodwinked!
Why You Want This Book.
How This Book Is Organized.
Why You Might Not Want This Book.
1. Introduction.
Linux as a Tool.
Defining Free.
Free Means Different Things to Different People.
Free Means Different Things in Different Licenses.
The IANAL Declaration.
The GPL.
The LGPL.
The BSD Licenses.
The Artistic License.
Public Domain.
Other Licenses.
The Great Schism.
Richard Stallman.
Eric Raymond and Bruce Perens.
What's a Pagan Boy to Do?
Get Comfortable with Source Code.
Compiling Software.
Imakefiles.
Basic Makefiles.
Autoconf.
How to Roll Your Own Kernel.
The /etc/lilo.conf File.
Running lilo.
The /boot Directory (Maybe).
Welcome to /usr/src/linux.
Friendly Kernel Configuration (menuconfig, xconfig).
Building the New Kernel.
Installing the New Kernel.
Booting the New Kernel.
Yikes! Or Booting the Old Kernel.
Finding Source.
Source Is Good!
Requirements.
Knowledge.
Hardware.
Software.
Web Sites.
When X Doesn't Cut It.
X Basics.
Enter VNC.
XVNC—The Best of Both Worlds.
Using VNC with Linux.
Preamble.
What the Heck Is IP Masquerading?
NAT vs. IP Masquerade.
Stand-Alone Masqing Boxes.
The Modem-Connect IPMasq'd Network.
The Router-Connect IPMasq'd Network.
Kernel Configuration.
IPChains.
IPChains Rulesets.
Secure IPChains Rules.
Blocking Specific Ports.
Port Forwarding.
Actually Getting PORTFW Installed in the Kernel.
Compiling ipmasqadm.
Forwarding HTTP Traffic.
Rogue Spear Games.
Kernel 2.4 and IPMASQ.
Hardware Firewall/NAT Boxes.
Summary.
Problem 1: Parallel Line Internet Protocol (PLIP) Networking.
Parallel Port Basics.
The Four Kinds of Parallel Ports.
Two-Way Printer Port Cables.
Compiling the Linux Kernel to Support PLIP.
Changes Needed for PLIP.
Installing the New Kernel.
Setting Up the PLIP Tunnel.
Server-Side Setup.
Client-Side Interface.
Setting Up NAT (aka IP Masquerade).
Server-Side Setup.
Client-Side Setup.
Problem 2: Non-IP Dialup (getty).
The Whys.
The Hows.
The /etc/inittab File.
Setting Up a getty.
agetty.
mgetty.
Conclusion.
What Is SMB?
Setting Up Samba as a Client.
Discovering the Local Network.
Looking Up Machines with nmblookup.
Listing Shares.
Accessing Shares with smbclient.
Accessing Shares with smbsh and smbfs.
Accessing Shared Printers with smbprint.
Graphical Clients.
Replacing Those Workstations.
Let's Get Practical.
The Other Side of the Coin: Samba as a Server.
Per-Share Options.
smbpasswd.
Becoming a Server in an Existing Domain.
Windows 2000 Issues.
SWAT.
Caveats.
Summary.
References.
More about Netbios and SMB/CIFS.
Samba.
TkSmb.
xSMBrowser.
SMB2WWW.
Ghostscript.
The Needs.
The Answer.
The Structure.
Individual Empowerment.
Create the Group.
Change Group Ownership of the Web Directories.
Add Group Read and Write Permission to the Files.
Add setgid on the Web Directories (Optional).
The Maintenance.
CVS Basics.
Core Concepts.
The Repository.
CVS Commands.
Resolving Conflicts.
And Now, Back to Our Story.
The Outcome.
Summary/URLs/Bibliography.
Introduction.
MyDisconnected System.
Getting Connected.
Locking It Down.
The Project.
The Disclaimer.
Understanding E-Mail.
Fetchmail.
Fetchmail Configuration.
crontab.
Procmail.
Recipes.
The Script.
Gluing It All Together.
Securing Everything.
Using GnuPG to Handle Authorizations.
Using GnuPG to Encrypt the Results.
Putting It AllTogether.
Summary.
System Preparation.
Building the IMAP Server.
Configuring the SSL Libraries.
Building a Secure Web Server That Supports PHP4.
Installing Aeromail.
Testing the Server.
Using Aeromail.
Other Web-Mail Packages.
SquirrelMail.
IMP.
PIMP.
TWIG.
Resources.
PHP.
Apache.
SSL.
Sendmail.
Module Basics.
So What Do Modules Do?
The Apache API.
The Request Structure.
Resource Pools.
Commonly Used Functions.
Remote Monitoring.
Writing the Code.
Compiling it.
The Big Moment.
Summary.
References.
Apache.
Introduction.
Cryptographic Basics.
Generating Keys.
Using GPG to Sign and Encrypt Files.
Signing Files.
Encrypting and Signing Files.
Encryption without Signature: A Codicil.
Integrating GPG with Popular E-Mail Clients.
Elm.
Mutt.
Pine.
Kmail.
Mailx and Mail.
Netscape.
Summary.
You Want Me to What?
Troubleshooting.
Offense.
Defense.
Tools.
Sniffit.
Dsniff.
Required Packages.
Dsniff Compilation.
Supersniffer.
TCPDump.
Ethereal.
Compiling Ethereal.
Floppy Linux (MuLinux), the Sniffing Station.
Countermeasures.
Antisniff.
Depth in Defense.
Summary.
Introduction.
A Model of Network Attacks.
Types of Attack.
Phases of Network-Based Attacks.
Reconnaissance.
Compromise.
Obfuscation.
Entrenchment.
Prints and Fibers.
Tripwire.
What Is It?
How Does It Work?
A (Very) Brief History of Tripwire.
The Painful Details.
The /etc/tripwire/tw.config file.
Database Setup.
Database Maintenance.
Running Tripwire.
Tripwire Forensics.
Summary.
Introduction.
Packet Monitoring, Logging, and Triggering.
Writing Snort Rules.
The Rule Header.
Action.
Protocol.
SourceAddress, sourcePort, destAddress, destPort.
Direction.
Rule Options.
Attack Profiles.
The Rules of the Game—The Snort Rules Library.
The Unbearable Lightness of False Positives.
Defending Your Home.
Running Snort.
Why You Should Know How to Do It Yourself.
What We Didn't Cover.
Summary.
References.
Snort.
Secure Shell (SSH).
File Transfer.
X11 Forwarding.
Telecommute through Aggressive Firewalls with SSH and Tunneling.
Beyond Login and File Transfer: SSH as Virtual Private Network.
The .ssh/config File.
Getting Out.
Step 1: Find Yourself anOpenSSH Server Outside.
Step 2: Check the Server Configuration.
Step 3: Check the Client Configuration.
Step 4: Secure Access to the Server Box.
Step 5: Secure Tunnel to an Insecure Service.
One Section That Will Pay for the Book.
Getting In.
Step 1: Find a Server Outside.
Step 2: Check the Server Configuration.
Step 3: Check the Client Configuration.
Step 4: Make the Connection from the Inside.
Step 5: Make the Connection from the Outside.
The Only Tunnel You Will Ever Need.
Maniacally Restrictive Firewalls.
Alternate Authentication Methods.
Nonrouting Networks.
What Is an HTTP Proxy?
Obscures Internal Network Details.
Deflects Some Browser-Based Attacks.
Site Blocking.
Employee Watching.
Tunneling.
The httptunnel Package.
Introduction.
Server-Side Setup (HTS).
Client-Side Setup (HTC).
Tunnels within Tunnels: SSH over httptunnel.
Truly Terrifying Tunneling.
Summary.
Introduction.
Regular Expressions.
Pipes and Redirection.
Files and More.
Vi.
Sed.
Dd.
Diff.
Od.
Ispell.
Tar.
G[un]zip.
B[un]zip2.
CVS.
Cut.
More.
Perl.
File.
Strings.
Shells and Such.
Bash.
Sudo.
Ssh.
Pidof.
Which.
Finding Stuff.
Grep.
Find.
Lsof.
Nslookup.
Nmap.
Wget.
Getting Help.
Man.
Info.
You've Got Spam.
Fetchmail.
Mailx.
Elm.
Mutt.
Tin.
Noteworthy GUI tools.
KDE and GNOME.
Blackbox.
The GIMP.
Dia.
XMMS.
xv.
MuLinux.
Web Sites You Shouldn't Live Without.
www.linux.com.
www.linuxdoc.org.
www.freshmeat.net.
www.sourceforge.net.
www.slashdot.org.
www.lwn.net.
www.google.com.
www.lokigames.com and www.linuxgames.com.
www.jabber.org.
Summary.
Introduction.
The Handspring Visor: A Brief Digression.
Pilot-link.
Pilot-xfer.
Backup.
Sync.
Restore.
Pilot-manager.
Kpilot.
Jpilot.
Malsync.
Things That Don't Work.
Getting Wine.
Your wine.conf.
AOL's AIM Client.
Solitaire via Wine.
MS Word 97 via Wine.
Stars!
Total Annihilation, Wine, and Other DirectX Games.
Network Applications.
Serial- and Parallel-Port Support.
Summary.
Getting Linux to Grok Your IDE Burner.
mkisofs, cdda2wav, cdrecord.
Making the iso Image (or How I Learned to Master My Data).
Finding Your CD-R/CD-RW Drive.
Blanking a CD-RW.
Burning Data to a CD-R/CD-RW.
Verifying the Freshly Burned CD-R/CD-RW.
Duplicating Data CDs from the Command Line.
Using a GUI.
Duplicating Data CDs with X-CD-Roast.
Using X-CD-Roast to Verify the Freshly Burned CD-R/CD-RW.
Burning Audio CDs.
Making Bootable CDs.
80-min/700MB CDs.
Summary.
Types of Digital Audio.
RAW Format.
WAV Format.
MP3 (MPEG Layer 3) Format.
Ogg Vorbis Format.
Preparing Your System for Audio Work.
Input Gain, Output Volume, and Clipping.
Creating Audio Files from CDs.
Recording Your Own Audio.
Cut and Paste.
Sound Effects and Filtering.
Volume Adjustment.
Frequency Filtering: High-Pass, Low-Pass, Band-Pass “Graphic Equalizer”.
Sound Effects: Chorus, Delay, Echo, Reverb, Stereo Offset.
Converting between File Formats.
Writing Your Own Audio CDs.
Saving Your Old Vinyl.
Preparation.
Cleaning.
System (Space, Tools, etc.).
Audio System.
Recording.
Software.
Cleaning Up.
Removing Clicks, Pops, and Hiss.
Trimming.
Preserving Your Work.
Audio CD Creation.
MP3 File Creation.
Summary.
References.
cdparanoia.
SOX (SOund eXchange).
bladeenc.
LAME (Lame Ain't an MP3 Encoder).
Ogg Vorbis.
FreeAmp.
cdrdao.
cdrecord.
Introduction.
What Is MIDI?
Computer Hardware.
MIDI Sequencing.
Making It Work.
Recording.
Musical Notation.
Software Synthesis.
Drum Machines.
Trackers.
Loop-Based Sequencers.
Multitrack Hard Disk Recorders.
Playing Your Masterpiece.
XMMS: The Cross-Platform Multimedia (MP3s, too) Player.
Increase Your Technogeek Appeal: Text-Only Commands!
Real-World Problems.
Script That Bad Mamma Jamma.
Summary.
Analyzing Speech Synthesis.
Tokenization.
Phrasing and Intonation.
Phonetics.
Waveform Generation.
Speech Synthesis Packages.
Rsynth.
Festival.
My Computer's First Word Was “Linux!”--Some Examples.
Check Your Internet Mail at Login.
The Lazy Man's File Browser.
Summary.
References.
Linux Access HOWTO.
RSynth.
Festival.
Types of Image Formats.
Raster vs. Vector.
What about Compression?
Color Palettes.
A Smorgasbord: GIF, JPEG, PNG, TIFF, XPM, Etc..
The Future: MNG and JPEG2000.
Which Image Format Is Right?
Image-Processing Utilities.
The GIMP.
ImageMagick.
Creating Images.
Scanners.
Digital Cameras.
Image Retouching.
Cropping.
Brightness, Contrast, and Tone.
Color Adjustment.
Halftone Images.
Summary.
References.
Burn All GIFs.
PNG and MNG Specifications.
JPEG and JPEG2000 Specifications and Documents.
The GIMP.
ImageMagick.
xscanimage and SANE.
GPhoto.
Introduction.
The Basics.
Raster Vector Painting.
Ray Tracing.
Front-Ends.
Modelers.
Animation.
3D Game Engines.
Introduction to PovRay.
Getting Our Feet Wet.
Special Effects.
Colors, Textures, and More.
Lighting.
Camera Positioning.
The 2D Logo.
The 3D Logo.
Getting Fancy.
More Tools.
Crystal Space.
MindsEye.
Blender.
Summary.
Testimonial.
Introduction.
Video4Linux.
The Formats.
The Video Hardware.
Frame Grabbers.
Video Cameras.
Webcams.
Your System.
The Video Software.
Drivers.
Capture and Playback Tools.
Nonlinear Editing Tools.
Making Your Video.
The Gopher.
The Story, Script, Screenplay, Whatever!
The Storyboard.
Lights, Camcorder, Action!
Your Studio Setup.
Capture Your Video.
Editing Clips.
Timeline.
Transitions.
Voice-Overs and Music.
Titles.
Final Rendering.
Commercial Music.
Video Playback.
XMMS.
qt-2.2.2.
SDL.
avifile-0.53.2.
AVI-XMMS-1.2.1.
Adding MPEG Support.
smpeg.
smpeg-XMMS.
RealPlayer.
Quicktime Movies.
Screenshots!
Publishing.
Videotape.
Creating a Video CD for Your VCD/DVD Player.
TechTV.
Summary.
About the Authors.
Michael Schwarz.
Jeremy Anderson.
Peter Curtis.
Steven Murphy.
You picked this book up thinking it was about Linux. Hah! We fooled you completely! This book is only tangentially about Linux. It is really about a number of pieces of Free Software (note the capitals--there's more about this in Chapter 1) that are frequently packaged with Linux in common distributions.
There are quite a few books out there on how to install Linux, how to administer Linux, how to program for Linux, and how to secure Linux. What we believed was lacking, however, was some guide for those who are new to Free Software and Open Source software as to just what you can do with a Linux system once you have one.
This book is all about things you can do either with a base Linux distribution or with software that is readily available on the Web for the Linux platform. Every single piece of software we cover in this book is available under one or another "open source" license, meaning that you can get the software for free and redistribute it freely. In all cases the source code is available for you to see and modify for your own use. The differences in the licenses tend to govern what you are allowed to do with the modified source code.
The authors have a definite bias (which you should know about up front) in favor of the GNU Public License (the GPL), which allows you to do anything with the source code except refuse to give away any work derived from it. We cover some of the reasoning behind various source code licenses in Chapter 1.
Now, how, exactly, did we fool you? Well, although all of the software we cover here runs on Linux on Intel-based PCs, most of it will run on any flavor of Unix, from the BSD-derived systems of FreeBSD, NetBSD, and OpenBSD (all of which are freely available and open source and run on Intel PCs), on up to the most closed and expensive commercial proprietary versions of Unix running on the most expensive high-speed massively parallel hardware.
Let's face it: It's a Windows world. If you have an Intel-based PC, the odds are you own a copy of one or another of the dozens of versions of Microsoft Windows. The odds are, also, that you didn't have any choice in the matter. The hardware comes with Windows preinstalled. There are tons of software packages available for from $20 to $20,000 for PCs running that operating system, and they are right there in your local SuperCompuMegaHut. What more could you want?
In the most selfish sense, you might want all of that software for from $0 to $0. You can do that with the commercial software. This is called "piracy," and it is, quite rightly, against the law. It turns out, however, that those of us who write software also would like to get software for free. So some of us started writing code and giving it away. We get paid back in the form of the other free software written by other programmers.
At this point, thanks to people like Richard Stallman of the Free Software Foundation and Linus Torvalds (author of the Linux kernel), you can now have a complete multiuser network server operating system and a whole slew of applications for free. You can also, if you are a programmer, get all the source code for all of it and add features or fix bugs yourself, if you are so inclined.
Even if you are not a programmer, you benefit from this openness because bugs get found and fixed much more rapidly in this model than in the closed, commercial, distributed media model. And you don't have to pay an upgrade price every few months.
Still, as we said, it is a Windows world. People who are not computer scientists know Windows. They know Microsoft Office. They know only this way of doing things. And Linux is different. So how do I do useful things like I do with my Windows PC? And what can I do with a Linux PC that I never even imagined doing with my Windows PC?
That's what the rest of this book is about. At one of our darkest hours, we thought of calling this book Hooray! I've installed Linux...Now What? Fortunately, our editors stared at us dumbfounded until we came to our senses. But that is still what the book is about. It is about some of the practical things you can do with Free Software.
This book is organized as follows:
The bulk of the book is the toolbox section. Each chapter begins with a resource box, which includes our "patented" Difficult-o-Meter, a list of the programs being presented, their versions, and URLs where the software may be obtained. Every effort has been made to provide accurate and timely information. But because this book was over a year in the making, there will be newer versions of most of these packages by the time you read this.
If you are looking for a book to help you install or administer Linux, this is not the one for you. There are many such books on the market, frequently on the same shelf where you found this one. This book is meant to show you some interesting things you can do with a Linux box.
Naturally, we think this is a great book to acquire while you're getting that book on installing and administering Linux.
Click below to download the Index file related to this title:
Index