Running Linux is very well known in the Linux community as one of the best getting-started books for Linux. It explains everything you need to understand, install and use the Linux operating system. It includes a comprehensive installation tutorial, complete information on system maintenance, tools for document development and programming, and guidelines for network, file, printer and web site administration.
I received complimentary copies of the first and second editions. However, this new third edition surpasses all the old ones in terms of the topics covered and the extent to which it explains the material. It features several new topics such as KDE, Samba and PPP, as well as revised instructions for installation and configuration, particularly the Red Hat and SuSE distributions.
The book's first three chapters are a gentle, very well-organised introduction that covers the history of Linux, its system and software features. It then goes into the preparations involved in installing Linux, such as hardware requirements, different kinds of distributions and post-installation procedures.
In Chapter 4, readers are introduced to the basics of UNIX commands and concepts. These cover logging in, setting a password, virtual consoles, popular commands and shells. Then it moves into file name expansion, manual pages, file ownership and permissions, processes, startup files and the directory structure.
Chapter 5 goes into system management issues such as booting and running the system, the /proc file system and managing user accounts. Managing file systems, swap space and devices are covered in Chapter 6.
Earlier editions of Running Linux served as central guides on installing, configuring and using the OS. A discussion of upgrading the software and the kernel starts in Chapter 7. It covers archive and compression utilities, using RPM, building a new kernel, loadable device drivers and loading modules automatically. I found this part very technical, concise and to the point.
Chapter 8 covers administrative tasks used in maintaining the system such as making backups, scheduling jobs using cron, managing system logs, managing the print services, setting terminal attributes and what action to take in an emergency situation.
Chapter 9 is the Editors and Text Tools niche. It shows users how to edit files with vi and Emacs and how to print documents and use different graphics programs.
It's not until Chapter 10 that the authors cover installation and configuration of the X Window System. This chapter covers X concepts, its hardware requirements and how to overcome some of the problems you may encounter when you install it. A natural followup to Chapter 10 is ``Customizing the X Environment'' in Chapter 11. This includes the basics of X customization, the FVWM window manager, the K desktop environment and X applications.
Chapter 12 discusses Windows compatibility and Samba, with a lot of details on sharing files and programs.
Chapters 13 and 14 cover programming languages and the tools used by programmers. It includes gcc (the C/C++ compiler), Makefiles, Perl, shell scripts, Tcl/Tk, gdb (the debugger), profilers and other programming tools.
In Chapter 15, the authors explain networking with TCP/IP and PPP (dial-up PPP and PPP over ISDN). It shows you how to set up your machine to connect to a network or to an ISP. It also covers NFS and NIS configuration. This section is particularly clear and readable.
The last chapter is about the World Wide Web and electronic mail and shows how to configure e-mail, set up the Elm and Netscape mail readers and even how to run your own web server.
The book comes with eight appendices. These are of a good value, since they cover where to get more information on Linux, the GNOME Project and installing Linux on different platforms. In addition to that, there is a whole appendix on LILO boot options, which I found very useful, and another one on Zmodem File Transfer.
The book's style is informative, clean and to the point. The language is concise and easy to read. There are several well-crafted sections, such as rebuilding the kernel and configuring network links and servers.
Running Linux is a great introduction to the world of Linux. Some people go further than that in considering it the Linux Bible. I believe it is a good reference and by far the best ``introduction to Linux'' book. The only drawback I could think of is the missing Linux CD-ROM. If it came with a Linux distribution, this would make it the most complete package for first-time users.
All said, I would definitely recommend this text to beginners and intermediate users. It will be a good addition to your Linux library.
Ibrahim F. Haddad (ifhadda@cs.concordia.ca) is a systems analyst at Concordia University (Montreal, Canada). He has been using Linux since 0.99. Ibrahim is currently in the Computer Science doctorate program at Concordia. His research interests are distributed object technology for Internet computing, e-commerce and web-server load balancing.