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

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

Popular Posts