Linux Books, Free Linux Programming Books

    Linux Security

    This book is designed to provide an overview of the steps needed to implement a secure environment on a Linux system and outlines some of the threats and how these weaknesses are exploited by some.

    Linux Firewall Configuration, Packet Filtering & netfilter/iptables

    This book was written as a guide through the setup process and to explain the iptables package. It includes information about the iptables and Netfilter functions in the new Linux 2.4.x kernels.

    Linux Device Drivers, Third Edition

    This is the web site for the Third Edition of Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
    For the moment, only the finished PDF files are available; we do intend to make an HTML version and the DocBook source available as well.

    This book is available under the terms of the Creative Commons Attribution-ShareAlike 2.0 license.

    That means that you are free to download and redistribute it.

    The development of the book was made possible, however, by those who purchase a copy from O'Reilly or elsewhere.

    GNU Bash Reference Manual

    Bash is the shell, or command language interpreter, for the GNU operating system. The name is an acronym for the 'Bourne-Again SHell', a pun on Stephen Bourne, the author of the direct ancestor of the current Unix shell /bin/sh, which appeared in the Seventh Edition Bell Labs Research version of Unix.

    Linux Admins Security Guide

    Knowing Knoppix

    A book for Knoppix beginners in PDF format

    Linux Client Migration Cookbook

    A Practical Planning and Implementation Guide for Migrating to Desktop Linux

    Vi iMproved (VIM)

    Vim is one of the most powerful text editors around. It is also extremely efficient, enabling the user to edit files with a minimum of key strokes. This power and functionality comes at a cost, however. When getting started, users face a steep learning curve.

    Linux: Rute User's Tutorial and Exposition

    - Most IT books have to be rushed to keep up to date with the rapidly evolving trends in software. As technical books, they are usually of a low quality. Rute, on the other hand, was carefully mastered over three years to be a complete reference of Unix -- Unix itself has not changed fundamentally in many decades. The GNU project also tends toward enduring standards that evolve very slowly. On the other hand, there is much evolving with respect to RedHat, Debian, and Mandrake, so these peculiarities where written into the book as those distributions evolved. I believe there is here the best combination of reference and practical, current information. On another level, my working environment necessitated field experience that was ideal for a book like this. From rebuilding old 486 mail servers (while sitting on the floor in dusty filing rooms); to the creation of custom desktops and thin clients for word processing environments; to nation-wide WAN networks. My company's daring escapades tested human ingenuity and Linux dexterity in every conceivable environment. So quite simply, there is a lot more in Rute than you will find anywhere else.

    The Book of Webmin

    How I Learned to Stop Worrying and Love UNIX

    Linux From Scratch

    This book describes the process of creating a Linux system from scratch from an already installed Linux distribution, using nothing but the sources of software that are needed.

    GNU Emacs manual

    Emacs is the extensible, customizable, self-documenting real-time display editor. This Info file describes how to edit with Emacs and some of how to customize it.

  • Writing GNOME Applications - Programming with GNOME is no simple task for the uninitiated. GNOME is one of the larger desktop programming suites you'll find. It has taken two years and hundreds of programmers to become what it is now. GNOME covers a lot of ground and makes use of many, many supporting libraries. Despite its nec- essary complexity, however, GNOME is very well laid out. It makes sense when you see it as a whole. On a line-by-line basis the code is not arcane or obfuscated. It's actually well written and quite nicely formatted. There's just so much of it! This book will attempt to guide you through all the fundamental parts of GNOME, to explain how things work and why. Rather than taking you through an exhaustive listing of function calls and coding semantics, we'll concentrate on what makes GNOME tick. We'll certainly go into detail about the important function calls and how to use them, but you'll still want to keep the official GNOME and GTK+ documentation on hand. The official documents are free, just like the rest of GNOME, and should even be bundled with your GNOME distribution. When you finish with this book, you should have a very clear, intuitive understanding of the GNOME 1.2 framework. You'll be able to write a com- plete GNOME application, from front to back. If you run into problems, you'll know how to diagnose the problem and where to look for the answers. It's impossible to know absolutely everything, but this book should at least iden- tify everything you need to know.
  • KDE 2.0 Development - The K Desktop Environment (KDE) project is a worldwide collaboration of hundreds of software engineers and hobbyists who are working to create a free, modern desktop interface with a consistent graphical user interface (GUI) style across applications. The desktop is network transparent, meaning that remote and local files can all be viewed, edited, and managed in the same way; it has online hypertext help and features an integrated, full-featured Web browser. The purpose of this book is to teach you how to take advantage of all that the KDE libraries have to offer when you write your own applications.
  • GTK+/Gnome Application Development - GNOME application programming manual, available in book form and online.
  • GNU Autoconf, Automake and Libtool - free book on popular GNU tools
  • Advanced Linux Programming - If you are a developer for the GNU/Linux system, this book will help you to develop GNU/Linux software that works the way users expect it to, write more sophisticated programs with features such as multiprocessing, multi-threading, interprocess communication, and interaction with hardware devices, improve your programs by making them run faster, more reliably, and more securely, understand the preculiarities of a GNU/Linux system, including its limitations, special capabilities, and conventions.
  • Secure Programming for Linux and Unix - This book provides a set of design and implementation guidelines for writing secure programs for Linux and Unix systems. Such programs include application programs used as viewers of remote data, web applications (including CGI scripts), network servers, and setuid/setgid programs. Specific guidelines for C, C++, Java, Perl, PHP, Python, Tcl, and Ada95 are included.
  • The Art of Unix Programming - There is a vast difference between knowledge and expertise. Knowledge lets you deduce the right thing to do; expertise makes the right thing a reflex, hardly requiring conscious thought at all. This book has a lot of knowledge in it, but it is mainly about expertise. It is going to try to teach you the things about Unix development that Unix experts know, but aren't aware that they know. It is therefore less about technicalia and more about shared culture than most Unix books — both explicit and implicit culture, both conscious and unconscious traditions. It is not a ‘how-to’ book, it is a ‘why-to’ book. The why-to has great practical importance, because far too much software is poorly designed. Much of it suffers from bloat, is exceedingly hard to maintain, and is too difficult to port to new platforms or extend in ways the original programmers didn't anticipate. These problems are symptoms of bad design. We hope that readers of this book will learn something of what Unix has to teach about good design.
  • The Linux Development Platform - The Linux Development Platform shows how to choose the best open source and GNU development tools for your specific needs, and integrate them into a complete development environment that maximizes your effectiveness in any project. It covers editors, compilers, assemblers, debuggers, version control, utilities, LSB, Java, cross-platform solutions, and the entire Linux software development process.
  • Linux Device Drivers, 2nd Edition - As the popularity of the Linux system continues to grow, the interest in writing Linux device drivers steadily increases. Most of Linux is independent of the hardware it runs on, and most users can be (happily) unaware of hardware issues. But, for each piece of hardware supported by Linux, somebody somewhere has written a driver to make it work with the system. Without device drivers, there is no functioning system. Device drivers take on a special role in the Linux kernel. They are distinct "black boxes" that make a particular piece of hardware respond to a well-defined internal programming interface; they hide completely the details of how the device works. User activities are performed by means of a set of standardized calls that are independent of the specific driver; mapping those calls to device-specific operations that act on real hardware is then the role of the device driver. This programming interface is such that drivers can be built separately from the rest of the kernel, and "plugged in" at runtime when needed. This modularity makes Linux drivers easy to write, to the point that there are now hundreds of them available.
  • The Linux Starter Pack - Tired of Windows or OS X? Looking for a change? Interested in the worldwide phenomenon of open-source, free software? Look no further than the Linux Starter Pack download to set you on your way to Linux success. Anyone who has tried to use Linux on a daily basis knows the many problems that may arise that are foreign to traditional PC and Mac users. The Linux Starter Pack book makes those tough situations a thing of the past! With step-by-step instructions from installation to hardware configuration, you'll know your way around a fresh Linux desktop in no time.
  • Producing Open Source Software - Programmers are a resilient bunch. When it comes to administering a successful open-source project, any and all help is desirable. That's why Producing Open Source Software gives enterprising programmers the tools and methods necessary to administer open source projects and ensure a quality, desirable product is eventually shared with the world. Successful open source software (OSS) gurus such as Ben-Collins Sussman and Brian Fitzpatrick give their expert advice in how to best administer and operate your open source project. Wrangling together the many talents of your programmer team from across the world gives you the power to produce truly amazing OSS applications.
  • Ubuntu Pocket Guide and Reference Looking to delve further into the world of Ubuntu Linux? MacFreda's pocket guide and reference provides a bevy of useful tools and tips to help you better understand the world's most popular desktop Linux distribution. Holding this comprehensive yet surprisingly compact reference in your hand, you'll never be at a loss when confronting even the most difficult tasks in Ubuntu Linux. Chapters cover the desktop, the command line, security, file management, user creation, and much more! You'll find out fun, complex tasks like setting up dual monitors, automatically installing software packages, and enabling advanced desktop effects. Taking on Ubuntu Linux has never been this easy or fun.
  • The Big Online Book of Linux Ada Programming, Ken O. Burtch Free Linux book reviews the code Ada 95 language along with the Ada bindings with other packages like – Motif, TCL and GTK+. Book download covers, the Predefined language libraries like GNAT. Linux book download perfect for the beginners and professionals; Clear instructions about installation, configuration and IDE. This Linux book covers TIA, GRASP and other IDE like VAD,Jessie,RAPID,VIDE,GLIDE. On the other hand it describes the AdaGIde a IDE for Windows. For modern Linux destros, the book covers Kdevelop and Ada Browser. In short – a step-by-step comprehensive guide for Ada
  • Java Application Development On Linux Java programming, in 1999 - 2000 in a Red Hat Linux box, supposed one was mad. No help available on the Internet; but the days are gone; Lots of good books available on the Internet on this topic. Simply covers the basics of Linux; Clear instructions on different compilers such as Sun java and IBM java compiler. Another interesting thing it also covers RMI (Remote Method Invocation), Javadoc, rmiregistry, rmic and jar. This book basically uses gcj, i.e. The GNU compiler for java with multiclass program. Great online Linux book.
  • The Linux Cookbook, Great book by Michael Stutz Free book uses open source resource resources to write the book. The book contains some out dated FAQs, inconsistent how to’s. He has put everything in such a way that, user can uses this book in almost every destro. The chapters are well organized and nicely covered with every aspects of Linux. Nice book for beginners and intermediates.
  • Linux System Administrator's Guide, Lars Wirzenius, Joanna Oja, Stephen Stafford, Alex WeeksOnline Linux book covers file system, disk uses, memory management, system monitoring, managing users and task automation. Linux book leaves out parts of the system administration, like security and managing servers from remote location nor the installation process and best practices. Free Linux book is a start but not written as a complete book for Linux System Administrators.
  • Linux-For-Dummies 8th edition, Dee-Ann LeBlanc, Richard Blum Book is entitled “For Dummies”, but this free book really is not for Linux dummies, better to say professionals. New in Linux, check out some other free easier Linux book downloads here. Not really a pocket reference, can be hard to understand, the written book comes with some DVDs so, if you have an electronic copy of this book, you need to find the DVD images from the authors or publisher’s site. Download it, burn it and start reading. Author mentions GRUB and LILO, but the book does contain enough information about it.
  • Linux Administration Made Easy (LAME), Steve Frampton Free book download of the kinds of configuration and administrative tasks that may be required to keep a Linux-based server system up and running. Linux Administration Made Easy LAME summarizes some of the installation and configuration, day-to-day administrative and maintenance procedures to keep a Linux-based server or desktop system up and running.