Monday, June 11, 2007

linux

  • Linux Admins Security Guide
  • Linux Security Howto: 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.
  • 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.