This unix and linux site aims to provide book reviews and free ebook on unix linux, unix commands, unix shell, unix programming, unix shell scripting, unix tutorial, suse linux, rehat linux, debian linux, slackware linux, linux server, linux commands, fedora linux, linux gui, linux networking, unix time sharing concepts, programming linux games, samba-3, motif programming, unix signal programming, and linux complete reference, etc

Online Linux Ebook Library

This linux ebook library contains various ebooks on
  • Linux Documentation
  • Red Hat Linux Documentation
  • Fedora Documentation
  • Suse Linux Documentation

Linux Documentation

  1. Advanced Bash-Scripting Guide
  2. Bash Guide for Beginners
  3. Custom Linux: A Porting Guide
  4. Emacspeak User's Guide
  5. EVMS User Guide
  6. GNU/Linux Command-Line Tools Summary
  7. Guide to Managing Media & Public Relations in Linux
  8. Introduction to Linux
  9. LDP Author Guide
  10. Linux Administration Made Easy
  11. Linux Dictionary
  12. Linux Filesystem Hierarchy
  13. Linux From Scratch
  14. Linux Kernel 2.4 Internals
  15. Linux on the Road
  16. Pocket Linux Guide
  17. The Bugzilla Guide
  18. The Linux Kernel Module Progr. Guide (for Linux kernel 2.4)
  19. The Linux Kernel Module Progr. Guide (for Linux kernel 2.6)
  20. The Linux Network Administrator's Guide, 2nd Edition
  21. The Linux System Administrator's Guide
  22. Windows+BSD+Linux Installation Guide

Red Hat Linux Documentation

  1. Red Hat Enterprise Linux 3
  2. Red Hat Linux 9
  3. Red Hat Linux Reference Guide
  4. Red Hat Linux Security Guide
  5. Red Hat Linux System Administration Primer
  6. Red Hat Linux Glossary
  7. Red Hat Network
  8. Red Hat Cluster Suite/Red Hat GFS
  9. Red Hat Application Server
  10. Red Hat Content Accelerator
  11. Red Hat Database
  12. Embedded DevKit (EDK)
  13. GNUPro Toolkit
  14. eCos
  15. Red Hat Web Application Framework
  16. Red Hat Content Management System
  17. Red Hat Portal Server
  18. Red Hat Collaboration Applications
  19. Source Navigator
  20. Stronghold Enterprise
  21. Red Hat Glossary

Fedora Documentation

  1. Fedora Core Installation Guide
  2. Fedora Core 6 Installation Guide
  3. Fedora Core 5 Installation Guide
  4. Fedora Core 4 Installation Guide
  5. Fedora Core SELinux FAQ
  6. Fedora Core 5 SELinux FAQ
  7. Fedora Core 3 SELinux FAQ
  8. Fedora Core 2 SELinux FAQ
  9. Stateless Linux Tutorial
  10. Udev on Fedora
  11. Understanding and Customizing the Apache HTTP SELinux Policy (Beta Document)
  12. Managing Software with yum
  13. Developer's Guide
  14. Documentation Guide
  15. Translation Quick Start Guide

SuSE Linux Documentation

  1. SuSE Linux 10.2
  2. SuSE Linux 10.1
  3. SuSE Linux 10.0
  4. SuSE Linux 9.3
  5. SuSE Linux 9.2
  6. SuSE Linux 9.1
  7. SuSE Linux 9.0
  8. Start-Up Guide
  9. KDE Quick Start Guide
  10. GNOME Quick Start Guide
  11. KDE User Guide
  12. GNOME User Guide
  13. Reference Guide
  14. AppArmor Administration Guide

I recommend this as a very nice library of linux ebooks available on web.

Click to Read More

Red Hat Linux 7 Unleashed

By William Ball
Welcome to Red Hat Linux!
If you're new to Linux, choosing a Linux distribution to install can be confusing. Relax! You've made the right choice in choosing Red Hat Linux. Nearly 60% of Linux installations either are Red Hat or based on Red Hat Linux. You also made the right choice in choosing Red Hat Linux 7 Unleashed! This is the latest edition of the best-selling book on Red Hat Linux. A whole new team of authors has been put together for this edition with the task of giving you all the details about installing, administering, and using the latest version of the newest and best alternative computer operating system for today's PCs. You'll find CD-ROMs in the back of this book that contain the latest version of Intel-based Red Hat Linux and all the software you'll need to get started.
If you're a fan of Linux, you know that Linux is growing in popularity by leaps and bounds. Even better, major improvements and updates to existing software have been made right along with the increase in the Linux user base—Linux is now even easier to install! You'll also be quite pleased to learn about the new features and improvements included with the latest Linux kernels, such as support for a number of USB devices. If you've read a previous edition of Red Hat Linux Unleashed, take note of the vast number of improvements we've made to this edition. I think you'll agree that Red Hat Linux 7 Unleashed is an indispensable companion for the advanced Linux user.

Debian GNU/Linux Desktop Survival Guide

by Graham Williams
Welcome to the world of GNU/Linux, liberating the computing desktop from the shackles of proprietary interests.
The aim of this book is to get you up to speed with GNU/Linux and to deliver a fun and productive environment. It guides you through the many different regions of a GNU/Linux system with a focus on getting your desktop environment to do what you want it to do. It is comprehensive with basic support for the user who installs and maintains the system themselves (whether in the home, office, club, or school). It provides insights and step-by-step procedures that deal with specific tasks in setting your system up and maintaining it. The book covers many of the core features of a GNU/Linux system and you will gain the knowledge to enjoy and use one of the most comprehensive and useful developments in the history of computing.
The details in this book are presented in the context of Debian GNU/Linux--the most open of the GNU/Linux distributions and the distribution setting the standards for free (as in liberty) software and collaborative developments. In general the details translate directly to Red Hat and other standard distributions of GNU/Linux. A growing number of the applications (including OpenOffice, AbiWord, The Gimp, Dia and gPhoto, to name just a few) are cross-platform developments and run also under MS/Windows. The chapters that cover these applications in this book will also generally apply to those versions.
The structure of this on-line version of the book is basically alphabetical. Each individual chapter aims to be a standalone reference. The book includes an overview of GNU/Linux and its history, a guide to installing GNU/Linux, introductions to the suite of GNU/Linux desktop productivity tools, and recipes for tuning specific parts of a GNU/Linux system.
The book begins with an introduction to the world of GNU/Linux, Free/Libre Open Source Software (as in liberty or free speech, not price or free beer), and the Free and Open Source Software movement. Software covers computer applications that equal, and often surpass, the commercial offerings of the same or equivalent functionality. However, the freedom we are talking about here is more the freedom to choose between the offerings, not necessarily the lack of a purchase fee for the software.
In this book we present historical and philosophical perspectives. Chapter 3 briefly reviews GNU/Linux, the various distributions, the licensing issues, and the freedom that GNU/Linux delivers, and the considerable attack on our freedom represented by software patents and the incredible invested interests and wealth behind the push for software patents.
There are many ways of obtaining GNU/Linux and we only cover the most common approaches. Chapter 4 provides an overview of installing Debian with detailed examples for a number of hardware platforms. Chapter 5 is a brief introduction to some of the essential GNU/Linux utilities that you are likely to come across soon. The Debian packaging system used to manage (and take all of the hard work out of maintaining) packages is described in Chapter 3.5. Setting up the X Window System is covered in Chapter 102. By this stage you will have a system ready to take full advantage of. On a more technical level Chapter 50 shows how simple it is to compile your own kernel to suit your hardware requirements.
The remaining alphabetical chapters cover the Desktop Environment and Debian GNU/Linux administration.
All of the major classes of desktop tools are covered, including word processing, spreadsheets, personal information management, graphics, databases and, of course, games. Also included are chapters covering some of the tools for developers, including emacs and glade. The aim is to set you well on the road to using these tools at a level that is sufficient for many users. Of course, each tool itself deserves, and often has available for it, a book or extensive manuals.
The administration chapters cover very many different topics that let you tune your GNU/Linux system to suit your needs. Not everything here is relevant to everybody, but it brings together many recipes for many of the typical tasks that users sometimes need to know about, again without going into exhaustive detail (which is available elsewhere if you need it or are interested).
So sit back and cherish the liberty of free software and become part of the community that is making computers and the applications they run a benefit to society world wide, rather than a costly privilege.

Oreilly Unix Linux Ebook Sample Chapters

Applying RCS and SCCS
Chapter 3: Basic Source Control Using RCS
Chapter 4: Basic Source Control Using SCCS
BSD Hacks
Chapter 67: Automate Security Patches
Chapter 82: Build a Port Without the Ports Tree
Chapter 100: Fun with X
Chapter 98: Rotate your Signature
Chapter 57: Tighten Security with Mandatory Access Control
Building Embedded Linux Systems
Chapter 5: Kernel Considerations
Building Secure Servers with Linux
Chapter 10: System Log Management and Monitoring
Classic Shell Scripting
Chapter 5: Pipelines Can Do Amazing Things
CVS Pocket Reference
Sample Excerpt: Administrator Commands
Effective awk Programming
Chapter 10: Advanced Features of gawk
Chapter 9: Internationalization with gawk
Essential System Administration
Chapter 11: Backup and Restore
Essential System Administration Pocket Reference
Sample Excerpt: User Accounts
Exim: The Mail Transfer Agent
Chapter 3: Exim Overview
Exploring Expect
Chapter 3: Getting Started With Expect
Exploring the JDS Linux Desktop
Chapter 4: JDS Networking
Extreme Programming Pocket Guide
Sample Excerpt: Roles in Extreme Programming
Fedora Linux
Chapter 1: Quick Start: Installing Fedora
GIMP Pocket Reference
Sample Excerpt: The Toolbox
Greasemonkey Hacks
Chapter 58: Add Keyboard Shortcuts to Google Search Results
Chapter 66: Add Saved Searches to Gmail
Chapter 84: Bypass Annoying Site Registrations
Chapter 94: Compare Book Prices
Chapter 37: Keep Track of Secure Site Passwords
Chapter 76: Make Google More Accessible for Low-Vision Users
Chapter 28: Make Pop-up Titles Prettier
Chapter 89: Syndicate Encrypted Content
Chapter 46: Trace XMLHttpRequest Activity
Hackers & Painters
Chapter 2: Hackers and Painters
High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI
Chapter 10: Management Software
Knoppix Hacks
Chapter 46: Check for Root Kits
Chapter 40: Create an Emergency Router
Chapter 5: Free Your CD to Make Knoppix Run Faster
Chapter 33: Install Knoppix as a Single-Boot System
Chapter 61: Migrate to a New Hard Drive
Chapter 78: Scan for Viruses
Learning GNU Emacs
Chapter 6: Writing Macros
Learning Red Hat Enterprise Linux and Fedora
Chapter 10: Connecting to the Internet
Learning the bash Shell

Chapter 4: Basic Shell Programming
Learning the Korn Shell
Chapter 4: Basic Shell Programming
Learning the Unix Operating System
Chapter 2: Using Window Systems
Learning the vi Editor
Chapter 8: vi Clones Feature Summary
Linux Cookbook
Chapter 14: Printing with CUPS
Linux Desktop Hacks
Chapter 40: Create Your Own KDE Right-Click Menu Actions
Chapter 8: Jazz Up Your Debian System Boot
Chapter 20: Scrap X11 for Fancy Login Consoles
Chapter 97: Use an iPod with Linux
Chapter 54: View Word and PDF Files from Within Mutt
Linux Desktop Pocket Guide
Chapter 1: Distributions
Linux Device Drivers
Chapter 13: USB Drivers
Linux in a Nutshell
Chapter 4: Boot Methods
Linux in a Windows World
Chapter 7: Using NT Domains for Linux Authentication
Linux Network Administrator's Guide
Chapter 18: Wireless Networking
Linux Pocket Guide
Sample Excerpt: File Properties
Sample Excerpt: Programming with Shell Scripts
Linux Security Cookbook
Chapter 9: Testing and Monitoring (Sample Recipes)
Linux Server Hacks

Chapter 45: Creating a Firewall from the Command Line of any Server
Chapter 79: Distributing Server Load with Round-Robin DNS
Chapter 48: Forwarding TCP Ports to Arbitrary Machines
Chapter 73: Global Search and Replace with Perl
Chapter 58: Monitor System Resources with top
Chapter 15: Playing Hunt the Disk Hog
Chapter 66: Quick Logins with ssh Client Keys
Chapter 90: Simplistic Ad Referral Tracking
Chapter 38: Using rsync over ssh
Linux Server Hacks, Volume Two
Chapter 13: Autostart VNC Servers on Demand
Chapter 48: Create a Copy-on-Write Snapshot of an LVM Volume
Chapter 96: Piece Together Data from the lost+found
Chapter 74: Profile Your Systems Using /proc
Chapter 84: Send Log Messages to Your Jabber Client
Linux Server Security
Chapter 12: System Log Management and Monitoring
Linux Unwired

Chapter 3: Getting On the Network
Managing NFS and NIS
Chapter 15: Debugging Network Problems
Managing Projects with GNU Make
Chapter 12: Debugging Makefiles
Managing RAID on Linux
Chapter 2: Planning and Architecture
Mastering FreeBSD and OpenBSD Securit
Chapter 1: The Big Picture
MySQL in a Nutshell
Chapter 6: Date and Time Functions
Objective-C Pocket Reference
Sample Excerpt: Object Life Cycle
Open Sources 2.0
Sample Excerpt: Introduction
OpenOffice.org Writer
Chapter 2: Writing, Editing, and Reviewing Documents
Physics for Game Developers

Chapter 6: Projectiles
Postfix: The Definitive Guide
Chapter 9: Mail Relaying
Practical PostgreSQL
Chapter 2: Installing PostgreSQL
Programming with Qt
Chapter 8: Container Classes

UNIX at Fermilab

In order to protect against unauthorized access to Fermilab computers, the Computing Division has implemented the Kerberos Network Authentication Service V5, developed at MIT, to provide what is known as strong authentication over the network.
"Authentication" refers to verifying the identities of networked users, clients and servers. "Strong" authentication is a means of verifying these identities without transmitting passwords over the network, and without requiring that the network itself be protected.
Kerberos v5 is the strong authentication program that Fermilab computers are required to run. Kerberos authenticates users by way of exchanging electronic tickets between clients and services. It cleverly encrypts and de-encrypts these tickets before and after transmitting them.
A machine on which Kerberos v5 has been installed and which enforces the Kerberos authentication is referred to as a strengthened or Kerberized machine.
The "heart" of a Kerberos system is the Key Distribution Center (KDC), which maintains a database of member computers and users, and grants authentication requests. The set of member computers make up what's called a "strengthened realm". At Fermilab, the strengthened realm for UNIX machines is called FNAL.GOV.
All UNIX machines at Fermilab are required to be configured such that they are members of the FNAL.GOV realm. Off-site machines used for Fermilab-related work may also be configured as such.
Once you have authenticated to the FNAL.GOV realm on your desktop, you can freely access over the network any computer in this realm on which you have an account, without retyping your (FNAL.GOV) Kerberos password!

Unix Filesystem Hierarchy Standard

By Filesystem Hierarchy Standard Group
Edited by Rusty Russell, Daniel Quinlan, and Christopher Yeoh
This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems. The guidelines are intended to support interoperability of applications, system administration tools, development tools, and scripts as well as greater uniformity of documentation for these systems.
The Filesystem
This standard assumes that the operating system underlying an FHS-compliant file system supports the same basic security features found in most UNIX filesystems.
It is possible to define two independent distinctions among files: shareable vs. unshareable and variable vs. static. In general, files that differ in either of these respects should be located in different directories. This makes it easy to store files with different usage characteristics on different filesystems.
"Shareable" files are those that can be stored on one host and used on others. "Unshareable" files are those that are not shareable. For example, the files in user home directories are shareable whereas device lock files are not.
"Static" files include binaries, libraries, documentation files and other files that do not change without system administrator intervention. "Variable" files are files that are not static.
Historical UNIX-like filesystem hierarchies contained both static and variable files under both /usr and /etc.

Basic Unix Tutorial

The University of Chicago
If you are just starting with Unix, you should probably begin by reading the Unix: Getting Your Feet Wet document. If you're already using Unix, or know the information in the "Unix: Getting Your Feet Wet" document, this "Basic Unix" document includes a lot of further information.
So What is Unix, Exactly
Unix is a computer operating system first developed at Bell Labs (and, to get the legal language out of the way, a trademark of AT&T Bell Laboratories). An "operating system" is a master program which coordinates other programs' activities and manages files.
One of the most popular and widespread operating systems in the world, Unix runs on more brands of computers than probably any other operating system in existence. This is partly because Unix is "portable": it is written in C, a high-level, machine-independent language. Programs written on one Unix machine can be easily adapted to other Unix machines (C is particularly well-integrated with the operating system itself).
In addition, Unix is based on a collection of small, easily understood utilities which allow you to connect them in many different ways (and in ways that the authors did not predict), building procedures and sophisticated tasks to suit your own needs. This "Unix philosophy" is often contrasted with monolithic programming environments (IBM mainframes or the Macintosh *** are sometimes mentioned) in which you can only perform tasks the system designers could predict; such systems, while becoming increasingly complex, often have bells and whistles you may not use, and lack those you want.

UNIX Unleashed, Internet Edition

By Robin Burk and David B. Horvath
Our highly popular first edition brought comprehensive, up-to-date information on UNIX to a wide audience. That original edition was already 1,600 pages. The new topics covered in this edition have obliged us to split the second edition into two volumes, namely, the System Administrator's Edition and the Internet Edition, which we'll refer to jointly as "the new" or the second edition. Though each volume can stand alone and may be read independently of the other, they form a complementary set with frequent cross-references. This new edition is written for:
  • People new to UNIX
  • Anyone using UNIX who wants to learn more about the system and its utilities
  • Programmers looking for a tutorial and reference guide to C, C++, Perl, awk, and the UNIX shells
  • System administrators concerned about security and performance on their machines
  • Webmasters and Internet server administrators
  • Programmers who want to write Web pages and implement gateways to server databases
  • Anyone who wants to bring his or her UNIX skills and knowledge base up-to-date

A lot has happened in the UNIX world since the first edition of UNIX Unleashed was released in 1994. Perhaps the most important change is the tremendous growth of the Internet and the World Wide Web. Much of the public Internet depends on UNIX-based servers. In addition, many corporations of all sizes have turned to UNIX as the environment for network and data servers. As UNIX fans have long known, the original open operating system is ideal for connecting heterogeneous computers and networks into a seamless whole.

Click to Read More

UNIX Unleashed, System Administrator's Edition

By Robin Burk and David B. Horvath
This edition of UNIX Unleashed includes a substantial amount of new information describing Internet and World Wide Web technologies in UNIX. New topics include:
  • Programming Web pages with HTML
  • Object-oriented programming in C++
  • Programming Common Gateway Interfaces (CGI) using Perl, C/C++, HTML, and the UNIX shells
  • MIME, the Multipurpose Internet Mail Extension
  • HTTP, the HyperText Transfer Protocol
  • Web servers and server performance

As UNIX becomes the platform of choice for critical network and data applications, UNIX vendors have placed increased emphasis on system maturity, ease-of-use, and security capabilities. Even with the growth of Microsoft Windows NT, UNIX still has a place in the industry. It is more mature, more stable, more scaleable, and has a wider array of applications than NT. Many people claim that NT is the open operating system of the future; that may be true (I have my own personal opinion), but for now, UNIX holds that place.

We've also updated this edition of UNIX Unleashed to bring you current information regarding:

  • Frequently Asked Questions (FAQs) about the most popular variants of UNIX
  • Security issues and the technologies you can use to protect your system and its information against intruders and malicious users
  • The most popular Graphical User Interfaces (GUIs)

As with the original edition, we set out to bring users the most comprehensive, useful, and up-to-date UNIX guide. To meet this goal, we've added nearly two dozen new chapters and have revised much of the original material in the book. The resulting book is so large that it is now divided into two volumes. The System Administrator's Edition introduces UNIX and contains much of the information required for basic users and for systems administrators. The Internet Edition includes advanced information for programmers, Internet/Web developers, and those who need detailed information regarding specific UNIX flavors.

Click to Read More

UNIX ON-LINE Man Pages - Solaris Service

By David Adams
These are the UNIX man pages for the Solaris service, converted to html on the fly by a shell script. Here are the intro pages of each section:

This Unix online manual contains commands available with unix operating system, system administrators commands, commands that are used chiefly for system maintenance and administration purposes, commands found only in the SunOS/BSD Compatibility Package, commands for communicating with other systems, commands associated with Form and Menu Language Interpreter (FMLI), commands specific to the SunOS system, system calls, functions found in various Solaris libraries, shared library and each header used by functions, macros, and external variables, formats of various files, POSIX (IEEE) Standards and the X/Open Specifications, macros, Federated Naming Service (fns, fns_initial_context, fns_policies, and fns_references), character and block devices, STREAMS modules, network protocols, file systems, ioctl requests for driver subsystems and classes.......

Click to Read More

Linux Dictionary Version 0.16

By Binh Nguyen
This document is designed to be a resource for those Linux users wishing to seek clarification on Linux/UNIX/POSIX related terms and jargon. At approximately 24000 definitions and two thousand pages it is one of the largest Linux related dictionaries currently available. Due to the rapid rate at which new terms are being created it has been decided that this will be an active project. We welcome input into the content of this document. At this moment in time half yearly updates are being envisaged.
a-Linux
a-Linux is an x86 floppy-based mini-distribution, where assembly code meets Linux kernel. It contains only programs written in assembly language. It is extemely small, yet functional, and provides HTTP and FTP services out-of-the-box. Initial version 0.17 was released August 17, 2002. A floppy-based distribution. From LWN Distribution List.......

Red Hat Linux Complete Command Reference

Compiled By J. Purcel, Red Hat Software Inc.
Red Hat Linux Complete Command Reference book is divided into 9 Parts.
They are
  1. User Commands
  2. System Calls
  3. Library Functions
  4. Special Files
  5. File Formats
  6. Games
  7. Miscellaneous
  8. Adminstration and Privilaged Commands
  9. Kernal Reference Guide
  10. Index
Linux complete reference shows you all the commands with great description and examples and make you master how to install, configure, and manage Red Hat Linux operating system. This book contains 1527 pages.
The complete Red Hat Linux resource available in downloadable format! Get in-depth details on Red Hat Linux installation, administration, management, and troubleshooting. You'll master the major GUIs, Gnome, KDE, and the FVWM Windows Manager, and you'll find step-by-step coverage of dual boot installation.

Sams teach yourself Linux in 24 Hours

By Bill Ball
Welcome to Linux! You hold in your hands everythin you need to install and use one of the most powerful computer operating systems in the world. This book is designed to help guide you through the process of learning about Linux. To make the task even easier, this book uses one of the best Linux distributions on the market today - OpenLinux from Caldera Systems, Inc.
Although the title of this book is Teach Yourself Linux in 24 Hours, you won't be alone while you learn. As you're taken from installation through system administration to playing games, you'll find advice, tips, and hints to help you along the way. Before you know it, you'll be familiar with the terms, topics, and technical concepts dealing with the hottest and newest operating system in the world - LInux!
Teach Yourself Linux in 24 Hours is designed to help you learn quickly. You'll find it an indispensable guide to installing Linux and getting right to work. This helps you overcome technical obstacles, explains complex subjects in simple language, and shows you some neat tricks to make your computing experience easier.
Each section of this book gives you an hour's worth of knowledge and examples you can run as you learn. By the way, this book was created, developed, and edited using the software included on the book's CD-ROM. I hope you enjoy teaching yourself Linux!

Sams' Teach Yourself Linux in 24 Hours

UNIXhelp for Users

Computing Services
University of Edinburgh
Helpful information for users of the UNIX operating system, developed at the University of Edinburgh from work funded by the ITTI. Please read this disclaimer.
UNIXhelp is mirrored around the world and freely available for local installation. This is Version 1.3.
Tasks
  • Getting started
  • Working with files and directories
  • Managing your working environment
  • Controlling access to your files and directories
  • Sending and receiving electronic mail
  • Editing text files
  • Managing jobs and processes
  • Writing shell scripts

Commands

  • Using UNIX commands
  • Looking-up commands in the on-line manual
  • Alphabetical list of the most popular commands
  • UNIX commands for VMS users
  • UNIX commands for DOS users

Concepts

  • What is an operating system?
  • The UNIX file system
  • Understanding commands and processes
  • The shell

Utilities

  • Program development tools
  • Text editors
  • File manipulation utilities
  • File transfer utilities
  • UNIX shells

Click to Read More

The Art of Unix Programming

By Eric Steven Raymond
You should read this book if you are an experienced Unix programmer who is often in the position of either educating novice programmers or debating partisans of other operating systems, and you find it hard to articulate the benefits of the Unix approach.
You should read this book if you are a C, C++, or Java programmer with experience on other operating systems and you are about to start a Unix-based project.
You should read this book if you are a Unix user with novice-level up to middle-level skills in the operating system, but little development experience, and want to learn how to design software effectively under Unix.
You should read this book if you are a non-Unix programmer who has figured out that the Unix tradition might have something to teach you. We believe you're right, and that the Unix philosophy can be exported to other operating systems. So we will pay more attention to non-Unix environments (especially Microsoft operating systems) than is usual in a Unix book; and when tools and case studies are portable, we say so.
You should read this book if you are an application architect considering platforms or implementation strategies for a major general-market or vertical application. It will help you understand the strengths of Unix as a development platform, and of the Unix tradition of open source as a development method.
You should not read this book if what you are looking for is the details of C coding or how to use the Unix kernel API. There are many good books on these topics; Advanced Programming in the Unix Environment [Stevens92] is classic among explorations of the Unix API, and The Practice of Programming [Kernighan-Pike99] is recommended reading for all C programmers (indeed for all programmers in any language).

Samba-3 by Example

Practical Exercises to Successful Deployment
Second Edition
By John H. Terpstra
Network administrators live busy lives. We face distractions and pressures that drive us to seek proven, working case scenarios that can be easily implemented. Often this approach lands us in trouble. There is a saying that, geometrically speaking, the shortest distance between two points is a straight line, but practically we find that the quickest route to a stable network solution is the long way around.
This book is your means to the straight path. It provides step-by-step, proven, working examples of Samba deployments. If you want to deploy Samba-3 with the least effort, or if you want to become an expert at deploying Samba-3 without having to search through lots of documentation, this book is the ticket to your destination.
Samba is software that can be run on a platform other than Microsoft Windows, for example, UNIX, Linux, IBM System 390, OpenVMS, and other operating systems. Samba uses the TCP/IP protocol that is installed on the host server. When correctly configured, it allows that host to interact with a Microsoft Windows client or server as if it is a Windows file and print server. This book will help you to implement Windows-compatible file and print services.
The examples presented in this book are typical of various businesses and reflect the problems and challenges they face. Care has been taken to preserve attitudes, perceptions, practices, and demands from real network case studies. The maximum benefit may be obtained from this book by working carefully through each exercise. You may be in a hurry to satisfy a specific need, so feel free to locate the example that most closely matches your need, copy it, and innovate as much as you like. Above all, enjoy the process of learning the secrets of MS Windows networking that is truly liberated by Samba.
The focus of attention in this book is Samba-3. Specific notes are made in respect of how Samba may be made secure. This book does not attempt to provide detailed information regarding secure operation and configuration of peripheral services and applications such as OpenLDAP, DNS and DHCP, the need for which can be met from other resources that are dedicated to the subject.

The Book of Webmin Or: How I Learned to Stop Worrying and Love UNIX

By Joe Cooper
Webmin is a web-based graphical UNIX system administration tool written by Jamie Cameron in the Perl programming language that is designed to be lightweight, functional, and easily extensible. Webmin has been translated to over 20 languages and dialects at the time of this writing, and has been embraced by a number of hardware and operating system vendors as their default system administration tool. It is extremely portable, offering support for more than 35 different UNIX-like Operating Systems and Linux distributions. And it is very easily extended to support new features and options, due to an open and well documented API.
Webmin also happens to be a fast and easy to use tool for general UNIX system administration. This document attempts to introduce to you many of the concepts you will need to maintain a UNIX system using Webmin. While no single volume can address every aspect of UNIX system administration, a real effort has been made to provide both a solid introduction to many important tasks, and a nearly comprehensive reference to a typical UNIX server and its parts. It is my hope that with nothing more than this book, a copy of Webmin, and the documentation that accompanies your server, you will be able to configure the system to provide the most popular services, create a reasonable security policy, and manage your users and normal system maintenence tasks. Advanced topics are often covered, but I hope that it will not be at the expense of preventing you from seeing the forest for the trees.

Understanding the Linux® Virtual Memory Manager

By Mel Gorman
Linux is developed with a stronger practical emphasis than a theoretical one. When new algorithms or changes to existing implementations are suggested, it is common to request code to match the argument. Many of the algorithms used in the Virtual Memory (VM) system were designed by theorists, but the implementations have now diverged considerably from the theory. In part, Linux does follow the traditional development cycle of design to implementation, but changes made in reaction to how the system behaved in the “real world” and intuitive decisions by developers are more common.
This means that the VM performs well in practice. However, very little VM documentation is available except for a few incomplete overviews on a small number of Web sites, except the Web site containing an earlier draft of this book, of course! This lack of documentation has led to the situation where the VM is fully understood only by a small number of core developers. New developers looking for information on how VM functions are generally told to read the source. Little or no information is available on the theoretical basis for the implementation. This requires that even a casual observer invest a large amount of time reading the code and studying the field of Memory Management.
This book gives a detailed tour of the Linux VM as implemented in 2.4.22 and gives a solid introduction of what to expect in 2.6. As well as discussing the implementation, the theory that Linux VM is based on will also be introduced. This is not intended to be a memory management theory book, but understanding why the VM is implemented in a particular fashion is often much simpler if the underlying basis is known in advance.
To complement the description, the appendices include a detailed code commentary on a significant percentage of the VM. This should drastically reduce the amount of time a developer or researcher needs to invest in understanding what is happening inside the Linux VM because VM implementations tend to follow similar code patterns even between major versions. This means that, with a solid understanding of the 2.4 VM, the later 2.5 development VMs and the 2.6 final release will be decipherable in a number of weeks.

Linux Network Administrator's Guide, 2nd Edition

By Olaf Kirch & Terry Dawson
This book was written to provide a single reference for network administration in a Linux environment. Beginners and experienced users alike should find the information they need to cover nearly all important administration activities required to manage a Linux network configuration. The possible range of topics to cover is nearly limitless, so of course it has been impossible to include everything there is to say on all subjects. We've tried to cover the most important and common ones. We've found that beginners to Linux networking, even those with no prior exposure to Unix-like operating systems, have found this book good enough to help them successfully get their Linux network configurations up and running and get them ready to learn more.
There are many books and other sources of information from which you can learn any of the topics covered in this book (with the possible exception of some of the truly Linux-specific features, such as the new Linux firewall interface, which is not well documented elsewhere) in greater depth. We've provided a bibliography for you to use when you are ready to explore more.
Overview
Chapter 1, Introduction to Networking, discusses the history of Linux and covers basic networking information on UUCP, TCP/IP, various protocols, hardware, and security. The next few chapters deal with configuring Linux for TCP/IP networking and running some major applications. We examine IP a little more closely in Chapter 2, Issues of TCP/IP Networking, before getting our hands dirty with file editing and the like. If you already know how IP routing works and how address resolution is performed, you can skip this chapter.
Chapter 3, Configuring the Networking Hardware, deals with very basic configuration issues, such as building a kernel and setting up your Ethernet card. The configuration of your serial ports is covered separately in Chapter 4, Configuring the Serial Hardware, because the discussion does not apply to TCP/IP networking only, but is also relevant for UUCP.
Chapter 5, Configuring TCP/IP Networking, helps you set up your machine for TCP/IP networking. It contains installation hints for standalone hosts with loopback enabled only, and hosts connected to an Ethernet. It also introduces you to a few useful tools you can use to test and debug your setup.
Chapter 6, Name Service and Resolver Configuration, discusses how to configure hostname resolution and explains how to set up a name server.
Chapter 7, Serial Line IP, explains how to establish SLIP connections and gives a detailed reference for dip, a tool that allows you to automate most of the necessary steps.
Chapter 8, The Point-to-Point Protocol, covers PPP and pppd, the PPP daemon.
Chapter 9, TCP/IP Firewall, extends our discussion on network security and describes the Linux TCP/IP firewall and its configuration tools: ipfwadm, ipchains, and iptables. IP firewalling provides a means of controlling who can access your network and hosts very precisely.
Chapter 10, IP Accounting, explains how to configure IP Accounting in Linux so you can keep track of how much traffic is going where and who is generating it.
Chapter 11, IP Masquerade and Network Address Translation, covers a feature of the Linux networking software called IP masquerade, which allows whole IP networks to connect to and use the Internet through a single IP address, hiding internal systems from outsiders in the process.
Chapter 12, Important Network Features, gives a short introduction to setting up some of the most important network applications, such as rlogin, ssh, etc. This chapter also covers how services are managed by the inetd superuser, and how you may restrict certain security-relevant services to a set of trusted hosts.
Chapter 13, The Network Information System, and Chapter 14, The Network File System, discuss NIS and NFS. NIS is a tool used to distribute administative information, such as user passwords in a local area network. NFS allows you to share filesystems between several hosts in your network.
In Chapter 15, IPX and the NCP Filesystem, we discuss the IPX protocol and the NCP filesystem. These allow Linux to be integrated into a Novell NetWare environment, sharing files and printers with non-Linux machines.
Chapter 16, Managing Taylor UUCP, gives you an extensive introduction to the administration of Taylor UUCP, a free implementation of the UUCP suite.
The remainder of the book is taken up by a detailed tour of electronic mail and Usenet news.
Chapter 17, Electronic Mail, introduces you to the central concepts of electronic mail, like what a mail address looks like, and how the mail handling system manages to get your message to the recipient.
Chapter 18, Sendmail, and Chapter 19, Getting Exim Up and Running, cover the configuration of sendmail and exim, two mail transport agents you can use for Linux. This book explains both of them, because exim is easier to install for the beginner, while sendmail provides support for UUCP.
Chapter 20, Netnews, through Chapter 23, Internet News, explain the way news is managed in Usenet and how you install and use C News, nntpd, and INN: three popular software packages for managing Usenet news. After the brief introduction in Chapter 20, you can read Chapter 21, C News, if you want to transfer news using C News, a traditional service generally used with UUCP. The following chapters discuss more modern alternatives to C News that use the Internet-based protocol NNTP (Network News Transfer Protocol). Chapter 22, NNTP and the nntpd Daemon covers how to set up a simple NNTP daemon, nntpd, to provide news reading access for a local network, while Chapter 23 describes a more robust server for more extensive NetNews transfers, the InterNet News daemon (INN). And finally, Chapter 24, Newsreader Configuration, shows you how to configure and maintain various newsreaders.

Linux Kernel Module Programming Guide

By Peter Jay Salzman & Ori Pomerantz
This book is about writing Linux Kernel Modules. It is, hopefully, usefulfor programmers who know C and want to learn how to write kernel modules.It is written as an `How-To' instruction manual,with examples of all of the important techniques.
Although this book touches on many points of kernel design, it is notsupposed to fulfill that need --- there are other books on this subject,both in print and in the Linux documentation project.
This document is for people who want to write kernel modules. Although I will touch on how things are done in the kernel in several places, that is not my purpose. There are enough good sources which do a better job than I could have done.
This document is also for people who know how to write kernel modules, but have not yet adapted to version 2.2 of the kernel. If you are such a person, I suggest you look at appendix Chapter 15 to see all the differences I encountered while updating the examples. The list is nowhere near comprehensive, but I think it covers most of the basic functionality and will be enough to get you started.
The kernel is a great piece of programming, and I believe that programmers should read at least some kernel source files and understand them. Having said that, I also believe in the value of playing with the system first and asking questions later. When I learn a new programming language, I don't start with reading the library code, but by writing a small `hello, world' program. I don't see why playing with the kernel should be any different.

Java™ Application Development on Linux®

By Carl Albing and Michael Schwarz

JAVA AND LINUX
Why another book on Java? Why a book on Java and Linux? Isn’t Java a platform- independent system? Aren’t there enough books on Java? Can’t I learn everything I need to know from the Web?
No doubt, there are a host of Java books on the market. We didn’t wake up one morning and say, “You know what the world really needs? Another book about Java!” No. What we realized was that there are a couple of “holes” in the Java book market.
First, Linux as a development platform and deployment platform for Java applications has been largely ignored. This is despite the fact that the *nix platform (meaning all UNIX and UNIX-like systems, Linux included) has long been recognized as one of the most programmer-friendly platforms in existence. Those few resources for Java on Linux that exist emphasize tools to the exclusion of the Java language and APIs.
Second, books on the Java language and APIs have focused on pedagogical examples that serve to illustrate the details of the language and its libraries, but very few of these examples are in themselves practically useful, and they tend to deal only with the issues of writing programs, and not at all with deploying and maintaining them. Anyone who has worked on a major software project, especially a software project that is developed and deployed in a business for a business, knows that designing and coding are only about half of the work involved. Yes, writing Java code is only slightly affected by the development and the deployment platform, but the process of releasing and maintaining such applications is significantly different between platforms.

Advanced Linux Programming

by Mark Mitchell, Jeffrey Oldham, and Alex Samuel
Advanced Linux Programming is intended for the programmer already familiar with the C programming language. Authors Alex Samuel, Jeffrey Oldham, and Mark Mitchell of CodeSourcery, LLC take a tutorial approach and teach the most important concepts and power features of the GNU/Linux system in application programs.
If you're a developer already experienced with programming for the GNU/Linux system, are experienced with another UNIX-like system and are interested in developing GNU/Linux software, or want to make the transition for a non-UNIX environment and are already familiar with the general principles of writing good software, this book is for you. In addition, you will find that this book is equally applicable to C and C++ programming. Even those progamming in other languages will find this book useful since the C language APIs and conventions are the lingua franca of GNU/Linux.

Unix Unleashed

By Sams Publishing
Part I starts with a tutorial on "Finding Your Way Around UNIX." Robert and Rachel Sartin, Jeff Smith, Rick Rummel, Pete Holsberg, Ron Dippold and Dave Taylor give an introduction to operating systems. In Part I, you will find a step-by-step tutorial on how to log on the UNIX system and how to do some basic commands. There is also a complete introduction to all the file listing commands, file tools, and editing text files. You will also find a quick guide to navigating the network and methods to communicate with other systems on your network.
In Part II, "Hunt for Shells," Rick Rummel and John Valley teach you how to develop shell scripts for the Bourne Shell, Korn Shell, and C Shell.
In Part III, "Programming," Ann Marshall, David Till, and James Armstrong teach you how to program awk and Perl and how to use the UNIX C compiler.
In Part IV, "Process Control," Robert and Rachel Sartin give you an introduction to how to control your programs on UNIX. Here you find how to start a job (program) and how to kill it.
In Part V, "Text Formatting and Printing," James Armstrong and Susan Peppard give instruction on how to use these powerful macros, and how to create text with graphs, pictures, equations, etc. Learn how to create man pages and how to print postscript.
In Part VI, "Advanced File Utilities," Robert and Rachel Sartin and S. Lee Henry teach you how to put your programs or text into version control, how to back up and archive your work for protection against hard disk crashes, and more.
In Part VII, "System Administration," Sydney Weinstein, Chris Negus, Scott Parker, Ron Rose, Salim Douba, Jeff Smith, and James Armstrong teach the basics of UNIX System Administration. Here you will learn how to install UNIX, how to create user accounts, how to partition disk drives, and how to administer security, mail, uucp, and news.
Finally, in Part VIII, "UNIX Flavors and Graphical User Interfaces," S. Lee Henry and Kamran Husain give an overview of the history of UNIX and where it is going. You will learn how to navigate X Window and, for the more advanced, how to program in the GUI environment.

Linux System Administrator's Survival Guide

By Tim Parker
UNIX system administration used to be a skill learned by watching others, trying many things on spec, and scouring obscure magazine articles, obtuse man pages, and e-mail from others. In short, system administration was a skill that was learned over the years with no single reference to the role and functions a system administrator plays. UNIX, especially, was a tough system to administer properly because there were many versions of the software, a disparate support base, and few solid working applications. Luckily, time has changed these conditions.
With the popularity of computers in general, system administrators started writing down the details of their tasks. Publishers realized that there was a distinct and eager, albeit small, market for system administration books. The market grew as the number of systems and LANs expanded. The stabilization of the UNIX operating system in two, and now one, major version helped enormously as well.
Linux became a dominant UNIX product about two years ago when it started receiving worldwide acclaim as a reasonably stable PC version of UNIX. As more and more programmers got involved and started producing software for Linux, the attraction of the operating system continued to grow. Soon, PC users who didn't know anything about UNIX at all were running Linux and starting to deal with shells, filesystems, and devices.
After helping to write Linux Unleashed (a great book, definitely worth buying if you haven't already got a copy!), I realized that many users used that book and CD-ROM to get started with Linux, but they needed more advanced material on managing their systems and setting up network systems. That's when the Linux System Administrator's Survival Guide was born. This book expands on the Linux Unleashed material, providing more detail on many aspects of the operating system. Although some overlap exists between Linux Unleashed and this book, it has been minimized as much as possible. Relative newcomers to Linux will still find that that book is very readable, however.
Many Linux books are available, but to date there are no complete books on administering a Linux system. A few books do cover specific aspects of the task, such as networking or device drivers, but none cover the entire gamut. That's the task I set for myself when this book was born: give readers enough information to help them get their Linux systems running smoothly. The next problem was how to condense 20 years of UNIX system administration experience into a single book. It took a while, but I hope I've managed to include enough information on every aspect of system administration to keep you going.
Bear in mind that this book was written for the system administrator, although the material will certainly be applicable (and hopefully interesting) to any user who has mastered the basics of Linux. I cover practically every aspect of system administration in this book. When dealing with subjects, like security, that have entire books written on them, I cover only the basics. Also, I don't include all the details about the more obscure topics that aren't relevant to most readers.
This book should provide you with everything you need, from setting up filesystems to installing servers for popular Internet utilities. The book was not written for the advanced user; it was written for those just starting in system administration. I hope you find a lot of useful information in this book.
Click to Read More

Linux Network Programming, Part 1 By Ivan Griffin and John Nelson

This is the first of a series of articles about how to devlop networked applications using the various interfaces available on Linux.
Like most other Unix-based operating systems, Linux supports TCP/IP as its native network transport. In this series, we will assume you are fairly familiar with C programming on Linux and with Linux topics such as signals, forking, etc.
This article is a basic introduction to using the BSD socket interface for creating networked applications. In the next article, we will deal with issues involved in creating (network) daemon processes. Future articles will cover using remote procedure calls and developing with CORBA/distributed objects.

Introduction To Unix Signals Programming

What Are Signals?
Signals, to be short, are various notifications sent to a process in order to notify it of various "important" events. By their nature, they interrupt whatever the process is doing at this minute, and force it to handle them immediately. Each signal has an integer number that represents it (1, 2 and so on), as well as a symbolic name that is usually defined in the file /usr/include/signal.h or one of the files included by it directly or indirectly (HUP, INT and so on. Use the command 'kill -l' to see a list of signals supported by your system).
Each signal may have a signal handler, which is a function that gets called when the process receives that signal. The function is called in "asynchronous mode", meaning that no where in your program you have code that calls this function directly. Instead, when the signal is sent to the process, the operating system stops the execution of the process, and "forces" it to call the signal handler function. When that signal handler function returns, the process continues execution from wherever it happened to be before the signal was received, as if this interruption never occurred......

Manipulating Files And Directories In Unix

By guy keren
The following tutorial describes various common methods for reading and writing files and directories on a Unix system. Part of the information is common C knowledge, and is repeated here for completeness. Other information is Unix-specific, although DOS programmers will find some of it similar to what they saw in various DOS compilers. If you are a proficient C programmer, and know everything about the standard I/O functions, its buffering operations, and know functions such as fseek() or fread(), you may skip the standard C library I/O functions section. If in doubt, at least skim through this section, to catch up on things you might not be familiar with, and at least look at the standard C library examples.
General Unix File System Structure
In the Unix system, all files and directories reside under a single top directory, called root directory, and denoted as "/". Even if the computer has several hard disks attached, they are all combined in a single directories tree. It is up to the system administrator to place all disks on this tree. Each disk is being connected to some directory in the file system. This connection operation is called "mount", and is usually done automatically when the system starts running.

Compiling "C" And "C++" Programs On Unix Systems - gcc/g++

by guy keren
This document tries to give the reader basic knowledge in compiling C and C++ programs on a Unix system. If you've no knowledge as to how to compile C programs under Unix (for instance, you did that until now on other operating systems), you'd better read this tutorial first, and then write a few programs before you try to get to gdb, makefiles or C libraries. If you're already familiar with that, it's recommended to learn about makefiles, and then go and learn other C programming topics and practice the usage of makefiles, before going on to read about C libraries. This last issue is only relevant to larger projects, while makefiles make sense even for a small program composed of but a few source files.
As a policy, we'll stick with the basic features of programming tools mentioned here, so that the information will apply to more than a single tool version. This way, you might find the information here useful, even if the system you're using does not have the GNU tools installed.
In this lovely tutorial, we'll deal with compilation of a C program, using the compiler directly from the command line. It might be that you'll eventually use a more sophisticated interface (an IDE - Integrated Development Environment) of some sort, but the common denominator you'll always find is the plain command line interface. Further more, even if you use an IDE, it could help you understand how things work "behind the scenes". We'll see how to compile a program, how to combine several source files into a single program, how to add debug information and how to optimize code.

Unix-the Bare Minimum

By Norman Matloff
Purpose - The information here is intended to be a review for those who have had a bit of prior exposure to Unix, and as a quick introduction to Unix for those who have never seen it before. (Some of the material may be new even to those with some prior exposure to Unix.)
Shells - A shell is a program that inputs Unix commands from the keyboard and relays them to the Unix system for execution. Shells typically include various shortcuts for users to use in stating their commands, and also a programming feature, in which users can make programs out of sets of their commands.
The first popular Unix shell was the Bourne shell, named sh. It still is in common use, though more often in a modernized version called the Bourne Again Shell, bash.

The UNIX Time-sharing System--A Retrospective

By Dennis M. Ritchie
UNIX is a general-purpose, interactive time-sharing operating system for the DEC PDP-11 and Interdata 8/32 computers. Since it became operational in 1971, it has become quite widely used. This paper discusses the strong and weak points of UNIX and some areas where we have expended no effort. The following areas are touched on:
  • The structure of files: a uniform, randomly-addressable sequence of bytes. The irrelevance of the notion of ``record.'' The efficiency of the addressing of files.
  • The structure of file system devices; directories and files.
  • I/O devices integrated into the file system.
  • The user interface: fundamentals of the shell, I/O redirection, and pipes.
  • The environment of processes: system calls, signals, and the address space.
  • Reliability: crashes, losses of files.
  • Security: protection of data from corruption and inspection; protection of the system from stoppages.
  • Use of a high-level language--the benefits and the costs.
  • What UNIX does not do: ``real-time,'' interprocess communication, asynchronous I/O.
  • Recommendations to system designers.

NOTE: * A version of this paper was presented at the Tenth Hawaii International Conference on the System Sciences, Honolulu, January, 1977.

Click to Read More

The Evolution of the Unix Time-sharing System

By Dennis M. Ritchie
This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system.
NOTE: *This paper was first presented at the Language Design and Programming Methodology conference at Sydney, Australia, September 1979. The conference proceedings were published as Lecture Notes in Computer Science #79: Language Design and Programming Methodology, Springer-Verlag, 1980. This rendition is based on a reprinted version appearing in AT&T Bell Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp. 1577-93.

The UNIX Time-Sharing System

By D. M. Ritchie and K. Thompson
Unix is a general-purpose, multi-user, interactive operating system for the larger Digital Equipment Corporation PDP-11 and the Interdata 8/32 computers. It offers a number of features seldom found even in larger operating systems, including
  • A hierarchical file system incorporating demountable volumes,
  • Compatible file, device, and inter-process I/O,
  • The ability to initiate asynchronous processes,
  • System command language selectable on a per-user basis,
  • Over 100 subsystems including a dozen languages,
  • High degree of portability.

This paper discusses the nature and implementation of the file system and of the user command interface.

Click to Read More

The Linux Cookbook: Tips and Techniques for Everyday Use

by Michael Stutz
Because of its robust and stable nature, the Linux−based system is the choice of millions today. But what some may not know is that the free software movement, of which Linux is a part, is very much a counter−cultural phenomenon: the design by which it is produced and published is contrary to the notions of proprietary, intellectual "property" that have dominated mainstream culture so long. While some programmers turn their research into corporate−backed software that you cannot openly change, share, or examine (but only purchase and run on your system), Linux and other free software is the product of many individuals who courageously published and shared their research and work openly, for everyone to benefit from.

I wrote this book because I want everyone to know how to use this software, because I think everyone deserves the freedom that comes with it. I don't willingly use proprietary software−−not because it is always

inferior
to free software, but because its use precludes freedoms that I find I cannot exist without ... freedoms that should be everyone's right by default in a free, open society. (See Introduction.)

I know that Linux isn't difficult to use, especially when compared with other software and operating systems, but what was needed was a guide to show people how to use it to get things done: "Oh, you want to do

that? Here, type this."

That explains the premise of the book−−it's a hands−on guide to getting things done on a Linux system, designed for the everyday user who is not necessarily a computer programmer......

Click to Read More/Download

100 Linux Tips and Tricks

by Patrick Lambert

This book was written for anyone using Linux, from new users to experts who want to explore this wonderful operating system. The tips and tricks in this book were discovered by myself over years of experience using Linux, and learning about it. Some are very basic tips to make your computing life easier, others are advanced tricks that can save you days of work.
I tried to cover all distributions of Linux in this book. I personaly use Slackware and RedHat on PC systems. If you find any error in the book, feel free to contact me so a future second edition could correct them.
This book is divided into 5 chapters. Each chapter covers a specific topic:
  • Chapter 2 covers installation of Linux. These are tips and tricks useful when installing Linux itself or any new program. Some tips will cover new means of installing Linux on non-typical hardware, others will explain how to take Linux distributions from an FTP server and make your own CD-ROM with them, or where to find Linux CD-ROMs for as little as $2.
  • Chapter 3 covers hardware related matters. You will learn tips there on how to get your non-PostScript compatible printer to work, or how to get a sound card detected.
  • Chapter 4 covers software. You will find tips there about all kinds of Linux software, including where to find and how to install the Java Development Kit port, and everything about the Pine mail and news program.
  • Chapter 5 covers networking in all its forms. There you will see how to setup a PPP connection quickly, without editing all of the configuration files yourself, as well as some nice programs that were made to ease dialup procedures. You will also see tricks on how to make your local LAN network without unexpected problems.
  • Chapter 6 is the last chapter but covers an important part of Linux: development. Here you will find a lot of tips on how to write powerful scripts to make your system easier to handle, and a full overview of what to do and what you don't want to do in C to avoid problems like memory leaks, and how to allow easy scalability.

Click to Read More/Download

Popular Posts