Free ebook computer : Share E-book and Community

Share book everyting in computer
Options:

Absolute BSD - The Ultimate Guide To FreeBSD (2002).pdf (7.77 MB)

Introduction

Welcome to Absolute BSD! This book is a one−stop shop for new UNIX administrators who want to

build, configure, and manage dedicated FreeBSD servers. It will also be useful for those folks who

want to run FreeBSD on their desktop or combined desktop/server systems.

By the time you finish this book, you should be able to use FreeBSD to provide network services.

You should also understand how to manage, patch, and maintain your FreeBSD systems, and have

a basic understanding of networking, system security, and software management. We will discuss

FreeBSD version 4, which is the version recommended for production use as this book is being

released. Most of this book will be applicable to earlier and later versions, as well. Much of this book

is also applicable to NetBSD and OpenBSD.

What Is FreeBSD?

FreeBSD is a UNIX−like operating system,[1] available freely over the Internet, that is used

extensively in the ISP (Internet service provider) world, embedded devices, and anywhere reliability

is paramount. It’s based directly on the original UNIX produced by AT&T in the 1970s.

Many years ago AT&T needed a lot of computer software to run their business. They were not

allowed to compete in the computer business, however. As a result, they licensed various pieces of

software, and the source code for it, to universities at low, low prices. University students with

access to this nifty technology could read the source code to learn how it worked. In return, AT&T

got free exposure, some pocket change, and a generation of computer scientists who cut their teeth

on their equipment. Everyone was happy. The best−known software distributed under this licensing

plan was UNIX.

[1]Why UNIX−like? Well, the word UNIX is a trademark that belongs to The Open Group. For an

operating system to be certified “UNIX,” someone must pay The Open Group large chunks of

money. Since FreeBSD is developed in a not−for− profit manner, this isn’t likely.

How Did FreeBSD Get Here?

Compared with modern operating systems, the original UNIX wasn’t very good. But, since so many

students had the source code for UNIX, and so many teachers needed projects for their students,

UNIX was quickly improved by their efforts. Gradually, useful commands were built. The ability to

control running programs (also known as job control) was added. A filesystem appeared that

supported features we take for granted now. Over many years, entire chunks of the original UNIX

operating system were extracted and replaced.

The various universities that worked on UNIX shared their improvements and enhancements, with

the Computer Systems Research Group (CSRG) at the University of California, Berkeley, acting as

a central clearinghouse for UNIX code improvements. The CSRG distributed this code for free to

anyone with a valid AT&T UNIX license.

The resulting collection of patches for UNIX came to be known as the Berkeley Software

Distribution, or BSD UNIX. (It didn’t hurt Berkeley’s status any that the Defense Advanced Research

Projects Agency (DARPA) contributed funding to the CSRG to implement TCP/IP in UNIX.)

This development process continued for a long, long time. In fact, if you look at the copyright

statement on FreeBSD, you’ll see this:

Yep, 15 years of work—a lifetime in software development. In fact, so much development went into

the original UNIX that the CSRG found that over the years they had replaced almost all of UNIX with

code created by the CSRG and their contributors. What remained of AT&T’s work was actually

pretty small.

The BSD License: BSD Goes Public

Eventually, the CSRG’s funding started running out. After some political wrangling within the

University of California, in 1992 the code was released to the general public under what became

known as the BSD license. Today, the BSD license has three clauses that can be summarized as

follows:

· Don’t claim you wrote this.

· Don’t blame us if it breaks.

· Don’t use our name to promote your product.

(The original license required that every time someone used the software, they had to include a

notice that it included software copyrighted by the University of California. This requirement was

dropped a few years later. Today, people can use BSD code without having to announce it or notify

anyone.)

The BSD license may be the most liberal software license ever used. People are free to take BSD

and include it in proprietary products, free products, and open−source products, or print it out on

punch cards and cover the lawn with it. Instead of “copyright,” the BSD license is sometimes

referred to as “copy− center,” as in “take this down to the copy center and run off a few for yourself.”

Not surprisingly, companies such as Sun Microsystems jumped right on it because, well, it was free.

The Birth of Modern FreeBSD

During the CSRG’s heyday, however, UNIX work proceeded apace at AT&T. AT&T took parts of the

BSD UNIX distribution and integrated them with their UNIX, then turned around and relicensed the

result.

This worked well for AT&T until the grand breakup, when the mother of all telephone companies

suddenly was permitted to compete in the software business. They had one particularly valuable

property: a high−end operating system that had been extensively debugged by thousands of people

all over the world. They happily started selling UNIX to enterprises and charging very high fees for

it, all the while maintaining the university relationships that had given them such an advanced

operating system.

6

Berkeley’s 1992 release of the BSD code met with great displeasure from AT&T’s subsidiary USL

(UNIX System Laboratories). Almost immediately they took some of the software users, and the

university, to court. USL claimed that Berkeley had given away their intellectual property. The

University of California said that it was their intellectual property. In the meantime, various people

picked up on the code released by Berkeley and began building commercial and free products out

of it. One of these products was 386BSD, which would eventually be used as the core of FreeBSD

1.0.

In 1994, after two years of legal wrangling, the case was settled out of court once it was proved that

a great deal of the code in AT&T UNIX was actually taken in its entirety from BSD, rather than the

other way around! A half−dozen files were the only sources of contention, and to resolve these

outstanding issues some of the files were donated and others were kept proprietary. Unfortunately,

FreeBSD 1.X contained some of these files, so various BSD users worked frantically to rebuild

these missing components.

Once the dust settled, this new version of UNIX was released to the world as BSD4.4−Lite. A

subsequent update, BSD4.4−Lite2, is the grandfather of the current FreeBSD source, as well as the

ancestor of many other operating systems, such as NetBSD, OpenBSD, and Mac OS X.

Today FreeBSD is used throughout the Internet by some of the most vital and visible

Internet−oriented companies. For example, at this writing, Yahoo! is run almost entirely on

FreeBSD. The “baby Bell” US West uses FreeBSD to power its Internet operations. IBM, Nokia, and

many other hardware companies use FreeBSD in embedded systems where you’d never even

know it’s there.

The fact is, if a company needs to pump some serious Internet bandwidth, it’s probably running

FreeBSD. FreeBSD is all around you; you just may not see it because it rarely crashes.

FreeBSD Development

There’s an old saying that managing programmers is like herding cats. However, despite what you

might think, for the most part these FreeBSD developers work well together as members of the

FreeBSD team. And, unlike some other projects, all FreeBSD development happens openly. Two

groups of people develop FreeBSD: contributors and committers.

Committers

Today, FreeBSD has almost 300 developers, or committers. Committers have read− and−write

access to the FreeBSD master source−code repository and can develop, debug, or enhance any

piece they deem necessary.

To plug yourself in to the beehive of FreeBSD development, consider subscribing to the mailing list

FreeBSD−hackers@FreeBSD.org, which contains most of the technical discussion. Some of the

technical talk is broken out into more specific mailing lists—for example, the networking

development is discussed on FreeBSD−net@FreeBSD.org. There are also a few IRC channels

where the FreeBSD crew hangs out and discusses things. Visitors and eavesdroppers are

welcome, so long as they don’t interfere. (Yes, Internet chat can be used for a variety of useful

technical purposes!) The committers are responsible for keeping FreeBSD working, adding new

features, and evaluating patches from contributors. Most of these developers are volunteers; only a

handful are actually paid to do this painstaking work.

7

Contributors

In addition to the committer team, FreeBSD has thousands of contributors. Contributors don’t have

to worry about breaking the main operating system repository; they just submit patches for

consideration by committers. Committers evaluate submissions and decide what to accept and what

to reject. A contributor who submits consistently acceptable code will frequently be asked by the

committers he works with to become a committer himself.

For example, I spent several years as a contributor. Any time I feel that I’ve wasted my life, I can go

look at the FreeBSD Web page and see where my work has been accepted by the committers and

used by thousands of users. (It helps. Sort of.) Between submitting this book and getting it back

from the editor, however, I had some spare time. I spent a while submitting patches to the FreeBSD

FAQ. Eventually, some members of the FreeBSD Project approached me and asked me to become

a committer. I initially refused, but finally allowed a few developers to persuade me.[2]

Users

Finally, FreeBSD has a mob of users, though it’s impossible to realistically estimate their number.

After all, you can download the whole of FreeBSD for free, and never register, upgrade, or mail to a

mailing list.

Estimates are that somewhere between 5 and 10 percent of the machines on the Internet are

BSD−based. That’s 5–10 percent of all the systems connected to the Internet, including the

countless Windows systems sitting on office desks. If you remove those systems from the count and

only count Internet servers, the percentage rises.

Since FreeBSD is by far the most popular open−source BSD, that’s not an inconsiderable number

of machines. And since one FreeBSD server can handle hundreds or thousands of Internet

domains, a disproportionate number of sites uses FreeBSD compared to the number of servers.

[2]And some day I might forgive Will, Wilko, and Bruce for that. But I’ll never let them live it down.

Other BSDs

FreeBSD is the most popular BSD, but it’s not the only one. BSD 4.4−Lite spawned several different

projects, each with its own focus and purpose.

NetBSD

NetBSD is similar to FreeBSD in many ways, and the teams share developers and code. NetBSD’s

main purpose is to provide an operating system that can be ported to any hardware platform.

As such, NetBSD runs on VAXes, PocketPC devices, and high−end Alpha servers, as well as the

Compaq iPaq. It even runs on hardware that doesn’t exist yet—as I write this, the AMD

Sledgehammer is fully supported even though you can’t get sample chips. Now that’s portable.

The NetBSD code is specifically licensed to be freely reusable, just like the original BSD 4.4−Lite

code it’s based on.

8

OpenBSD

OpenBSD branched off from NetBSD in 1996 with the goal of becoming the most secure BSD.

OpenBSD was the first to support hardware−accelerated cryptography (allowing it to encrypt and

decrypt information at a remarkable rate), and the developers are rather proud of the fact that their

default install hasn’t been hacked remotely for over four years.

The OpenBSD people have audited the entire BSD code base, fixing most (but not all) potential

security holes before they can be exploited. OpenBSD is not as friendly or as easy to use as

FreeBSD, however.

BSD/OS

BSD/OS, produced by Wind River Systems, is a commercial, closed−source operating system that

greatly resembles FreeBSD. Some hardware manufacturers will not release hardware specifications

without nondisclosure agreements, and developers for a freely available operating system cannot

develop device drivers for such proprietary hardware. BSD/OS supports much of this hardware.

A great deal of the BSD/OS code is available to FreeBSD committers, and FreeBSD absorbs

BSD/OS enhancements that don’t break nondisclosure agreements.

Mac OS X

Mac OS X? That’s right. Large chunks of FreeBSD were incorporated into Apple’s Mac OS X. If

you’re looking for a stable operating system with a friendly face and a powerful core, Mac OS X is

unquestionably for you. While FreeBSD makes an excellent desktop for a computer professional, I

wouldn’t put it in front of grandma. I would put Mac OS X in front of grandma without a second

thought, and even feel that I was doing the right thing.

Mac OS X includes a lot of things that aren’t at all necessary for an Internet server, however, and it

only runs on Apple hardware, so I don’t recommend it for an inexpensive, high−powered server.

While you cannot get the user interface source code for Mac OS X, you can view the operating

system’s BSD core and Mach kernel; Apple has released them under the code name Darwin.

Other UNIXes

There are several other UNIX operating systems out there, some of which have even rented the

trademark UNIX so they can label themselves as such. This list is by no means exhaustive, but we’ll

touch the high points.

Solaris

The best−known UNIX is Sun Microsystems’ Solaris. Solaris runs on high−end hardware that

supports dozens of processors and gobs of disks. (Yes, “gobs” is a technical term.) It’s used by

many enterprise−level applications, such as Oracle.

Solaris runs mainly on the SPARC hardware platform, which is manufactured by Sun. Since Sun

controls both the hardware and software, they can make their systems support many interesting

features, such as hot−swappable memory and main boards.

9

AIX

Another UNIX contender is IBM’s AIX. AIX’s main claim to fame is the journaling filesystem, which

records all disk transactions as they happen. It allows you to recover from system crashes without

much trouble, providing great reliability. AIX is based largely on BSD.

Linux

Linux is a clone of UNIX, written from the ground up in the last decade or so. Linux is similar to BSD

in many ways, though BSD has a much longer heritage, and is more friendly to commercial use

than Linux. Linux includes a requirement that a commercial user contribute all changes back to

Linux, while BSD has no such restriction.

Among many UNIX users, there’s a perception of conflict between the BSD and Linux camps. If you

dig a little deeper, however, you’ll find that most of the developers of these platforms communicate

and cooperate in a friendly and open manner. It’s just a hard fringe of users and a very few

developers that generate friction.

IRIX, HPUX, etc.

Other UNIXes include Silicon Graphics’ IRIX, a solid UNIX for graphics applications, and

Hewlett−Packard’s HP−UX, popular in large enterprises. Many high− end software packages, such

as Informix, are specially designed for HP−UX.

If you look around you’ll also find smaller contenders, such as SCO and UnixWare. They aren’t

unimportant, they just aren’t as popular. You’ll also find old castoffs, such as Apple’s A/UX and

Microsoft’s Xenix. (Yes, Microsoft was a licensed UNIX vendor, very, very long ago.) Xenix was

eventually sold to SCO and became SCO UNIX.

FreeBSD’s Strengths

So, after all this, how can we summarize FreeBSD?

Portability

FreeBSD’s goal is to provide a freely redistributable operating system that runs on popular

hardware. While system security is a vital concern, FreeBSD’s main goal is to run on the hardware

people are most likely to have. Today, this means the Intel x86−compatible systems (386, 486,

Pentium I through IV, Celeron, and AMD). FreeBSD also supports the Alpha processor, and work is

underway to support Intel’s new IA64, AMD’s new 64−bit chips, and Motorola’s PowerPC, as well as

Sun’s SPARC. (These platforms aren’t afterthoughts; the hardware is just now coming out, or only

now becoming popular enough to port to.)

Power

Since FreeBSD runs adequately on 386 hardware, it runs quite well on modern computers. It’s

rather nice to have an operating system that doesn’t demand a Pentium III and a half−gig of RAM

just to power the user interface. As a result, you can actually use all that computing power to do the

work you want, rather than to run tasks you don’t care about. If you choose to run a pretty graphical

interface with all sorts of spinning geegaws and fancy whistles, FreeBSD will support you, it just

10

won’t require you to do so.

Simplified Software Management

FreeBSD also simplifies software management through its ports collection. Traditionally, tuning

software for a UNIX system has required considerable expertise. The ports collection simplifies this

considerably by automating and documenting the install, uninstall, and configuration process for

thousands of software packages. (Several other BSD operating systems have built their own

packaging systems based on the ports collection.)

Optimized Upgrade Process

Unlike operating systems that require painful and risky upgrade procedures, such as Windows,

FreeBSD’s simple upgrade process builds an operating system that is optimized for your hardware

and application. This lets FreeBSD use every feature your hardware supports, instead of just the

lowest common denominator. If you change hardware, you can rebuild your system for that

particular hardware. Vendors such as Sun and Apple do exactly this, since they create both the

hardware and the operating system, but FreeBSD doesn’t lock you in to a particular hardware

platform.

Filesystem

A filesystem is how information is stored on the physical disk—it is what maps “My Web Page” to a

series of zeros and ones on the metal disk in your hard drive. FreeBSD includes very sophisticated

filesystems. It can support files up to a petabyte (one thousand thousand gigabytes) in size, it is

highly damage−resistant, and it reads and writes files extremely quickly. The BSD filesystem is so

advanced that it has been adopted by many commercial UNIX vendors, such as Sun and HP.

Who Should Use FreeBSD

While FreeBSD can be used as a very powerful desktop or development machine, its history shows

a strong bias toward Web, mail, file, and support services. In fact, FreeBSD’s main strength is on

Internet servers, and it is an excellent choice for any Internet service.

If you’re thinking of running FreeBSD (or any UNIX) on your desktop, you’ll need to understand how

your computer works. FreeBSD is not your best choice if you’re looking for point−and−click

simplicity. If that’s your goal, get a Macintosh computer and use Mac OS X, which has a BSD core,

so you can access the power of UNIX when you want it and not worry about it the rest of the time.

Or, if you want to use the lowest common denominator, there’s always the various iterations of

Microsoft Windows. You won’t have to understand your computer, but Windows is easy.

FreeBSD as Your Desktop

You can, of course, use FreeBSD as a powerful desktop OS.

There’s a concept in computing called “eating your own dog food.” If you ran a dog food company,

you’d want to make a product that your own dog would eat. If your dog turns up his nose at your

latest recipe, your company has a problem. The point here is that if you work with a product, you

should actually use it.

11

This total immersion method provides the fastest possible training and is the approach I took to

learn UNIX. By running FreeBSD exclusively on my desktop, I learned how to make a UNIX system

do anything I needed, and I became a much more powerful server administrator as a result.

In fact, I even wrote this book on my FreeBSD laptop, using an open−source word processor

(Emacs) and a business suite called StarOffice. I also use FreeBSD to watch MPEG video from

unencrypted video CDs and DVDs, burn MP3s from my own CDs, and listen to the MP3s when I

should be working. This is a fairly exhaustive sample of desktop tasks.

Desktop operating systems also allow you to do all sorts of silly things. At the moment, I have a

small animated BSD daemon sleeping under my mouse pointer. When I move the mouse, the

daemon awakens, chases down the pointer, and stabs it with his pitchfork. If this doesn’t count as a

Stupid Desktop Trick, I don’t know what does.

Who Should Run Another BSD

NetBSD is FreeBSD’s closest competitor. However, unlike competitors in the commercial world, this

competition is mostly friendly. NetBSD and FreeBSD share code and developers freely; some

people even maintain the same subsystem in both operating systems. For example, NetBSD and

FreeBSD share their USB support. In fact, as I write this, work is actively underway to integrate the

FTP server used in both operating systems.

NetBSD’s main advantage is that it runs on anything. For example, I have an ancient Silicon

Graphics workstation running NetBSD that I use as an NFS (Network File System) and DNS

(Domain Name System) server. It does the job. If you have old or weird hardware, NetBSD is a

good choice for you.

OpenBSD seems to stand apart from the rest of the BSD projects. While its code is available for

general use, the developers appear to be more interested in security than in making their system

approachable. OpenBSD has features that make it easy to do tasks such as bridging firewalls,

however, so if you find you can’t do some security work in FreeBSD, check out OpenBSD.

Who Should Run a Proprietary Operating System

Proprietary operating systems like Sun’s Solaris, Microsoft’s Windows NT, IBM’s AIX, and their ilk

are still quite popular despite the BSDs and Linux gnawing at their market share. Solaris, in

particular, holds a great deal of the UNIX market.

High−end enterprises (the Fortune 500) are fairly closely shackled to Solaris and Windows NT.

While this is slowly changing, it is true for now, and in such environments you’re probably stuck with

those operating systems. But slipping in an occasional FreeBSD machine to handle basic services

such as DNS and file serving can make your life much easier at a much lower cost.

Of course, if your software will only run on a proprietary UNIX, your choice of operating system is

probably clear. Still, always ask a vendor if a FreeBSD version is available; you may be pleasantly

surprised.

12

How to Read This Book

Many computer books are thick enough to stun an ox, if you can lift them high enough without an

athletic supporter and a back brace. Plus, they’re either encyclopedic in scope or so painfully

detailed that they’re difficult to read. Do you really need a screenshot when you’re told to “click OK”

or “accept the license agreement”? And when was the last time you actually sat down and read the

encyclopedia?

Absolute BSD is a little different. It’s designed to be read once, from front to back. You can skip

around if you want to, but each chapter builds on what comes before. It’s also short enough to be

digestible. After you’ve read it once, you can easily use it as a reference.

(If you’re a frequent buyer of computer books, please feel free to insert all the usual stuff about

“read a chapter at a time for best learning” and so on. I’m not going to coddle you—if you picked up

a book on computing, you probably have two brain cells to rub together. Follow the examples, and

you’ll learn.)

What Must You Know?

This book is aimed at the new UNIX administrator. Several years ago the new UNIX administrator

was already a skilled UNIX user with real programming skills and a degree in computer science, or

at least most of one. Today, UNIX−like operating systems are freely available from the Internet and

even 12−year−old children can run UNIX, read the source code, and learn enough to intimidate us

older folks. As such, I don’t expect you to know a huge amount about UNIX before firing it up.

To use this book to its full potential, you should be familiar with some of the basic UNIX commands,

such as how to change directories (cd), list files in a directory (ls), and log in with a username and

password. If you’re not familiar with basic commands and running UNIX from the shell, I recommend

you begin with a book like UNIX System Administration Handbook by Evi Nemeth, Garth Snyder,

Scott Seebass, and Trent R. Hein (Prentice Hall PTR).

You’ll also need to know something about PC hardware. (Not a huge amount, mind you, but some.)

For example, it will help to know what an IRQ (interrupt request) is and how to differentiate between

a SCSI and IDE hard drive. Your need for hardware knowledge will, of course, depend on the

hardware you’re using, but if you’re interested enough to pick up this book and read this far, you

probably have the hardware knowledge that you need. We’ll make this a little easier by assuming

you’re dedicating a system to FreeBSD; very few network servers dual−boot Windows and

FreeBSD, after all!

Note Absolute BSD is about how to administer FreeBSD, not about how to redirect

output from a shell command. To make it easier for newer administrators, however,

I include the exact shell commands needed to produce the desired results. If you

learn best by example, you should find everything you need right here.

Many new system administrators these days come from a Windows background.

They learn that “ls” is like “dir”, and “cd” is the same on both platforms. You can

learn the commands by rote, reading, and experience. What you cannot learn,

coming from this background, is how a UNIX machine thinks. It will not adjust to

you; you must accommodate it. With that in mind, we’re going to spend a little time

discussing how you must think about your FreeBSD system.

13

How to Think About UNIX

If you’ll be working with FreeBSD, you should understand some of the UNIX ways of thinking. Users

from a Windows background might very well go into shock during their first attempts to administer a

FreeBSD system if they don’t understand how UNIX behaves, and how it expects you to behave.

People who are used to GUI environments, such as Windows and Macintosh, are probably

unfamiliar with how UNIX handles input and output. If you are new to UNIX, you may be used to

clicking something and seeing either an “OK” message, an error, nothing, or (all too often) a pretty

blue screen with nifty high−tech letters explaining exactly where the system crashed. UNIX does

things a little differently.

Channels of Communication

UNIX programs have three “channels” of communication: standard input, standard output, and

standard error. Once you understand how each of these channels work, you’re a good way along to

understanding how a computer works.

Standard input is the source of information. When you’re at the console typing a command, the

standard input is the keyboard. If your program is listening to the network, the standard input is the

network. Many programs can rearrange standard input to accept data from the network, a file, the

keyboard, or any other source.

The standard output is where the program’s output is displayed. This is frequently the console

(screen). Network programs usually return the output to the network.

Finally, standard error is where error messages are sent. Frequently, console programs return

errors to the console; others log errors to a file.

Working with Channels

The channels just described can be arbitrarily arranged, a concept that is perhaps the biggest

hurdle for new UNIX users and admins. While it seems simple enough, it’s slightly more difficult to

grow accustomed to than you might think.

For example, if you don’t like the error messages appearing on the terminal, you can redirect them

to a file. If you don’t want to type a list of information into a command, you can put the information in

a file (so you can reuse it), and dump the file into the standard input of your command. Or better

still, run a command to generate that information and put it in a file, or just pipe (send) it directly to

your second command.

The Command Line

Taken to its logical extreme, these input/output channels can overwhelm a new user. The first time I

saw someone type something like the following on a command line during my UNIX admin training,

I wanted to change careers.

…………………………………………………………………………………………

# tail −f /var/log/messages | grep −v sudo | grep −v named &

…………………………………………………………………………………………

14

Lines of incomprehensible text began spilling across the screen. And worse still, my trainer kept

typing as this output poured out!

If you’re coming from a point−and−click environment, a long string of commands like this is definitely

intimidating. What do all those funky words mean, let alone the symbols?

Think of learning to use the command line as learning a language. When learning a language, we

start with simple words. As we increase our vocabulary, we also learn how to string words together.

Learning to use the UNIX command line is like learning a language. You begin with simple single

commands and only later string them together into monstrosities like the one shown earlier.

Another difficulty people have is with the general UNIX program function philosophy. Most

consumer operating systems have monolithic software packages that try to be all things to all

people. UNIX programs are small, simple tools. That’s in part because of the redirectable

input/output channels, and in part because of UNIX’s heritage. Remember, at one time you needed

to be a programmer to run a UNIX system. Programmers don’t mind building their own tools.

Assembling a tool on the command line is fairly easy compared to compiling a whole software

package.

These smaller programs also provide unparalleled flexibility. Have you ever wished you could use a

function from one program in another program? By using a variety of smaller programs and

arranging the inputs and outputs as you like, you can make the system behave in any manner that

amuses you. Many modern platforms have only started catching up with this idea of small, reusable

tools in the last few years.

Download E-book


Hits for this Book:156

Relate Book

  • Absolute OpenBSD - Unix For The Practical Paranoid (2003).pdf (1.38 MB)
  • Beginning Unix (2005).pdf (8.28 MB)
  • Absolute Beginner’s Guide to Wi-Fi Wireless Networking (2004).chm (10.53 MB)
  • Advanced Programming In The UNIX Environment, 2nd Edition (2005).chm (3.21 MB)
  • Build Your Own Smart Home (2003).pdf (8.47 MB)



  • Leave a reply

    You must be logged in to post a comment.