|    Home    |    Meetings    |    Wiki    |    Projects    |    Discuss    |    Reviews    |    Members    |   

Title: Learning Red Hat Linux, 3rd Edition
Authors: Bill McCarty
Publisher: O'Reilly
Pages: 336
Reviewer: Darren Young
Synopsis:
Table of Contents 1. Why Run Linux? 2. Preparing to Install Red Hat Linux 3. Installing Red Hat Linux 4. How Linux Works 5. Using the GNOME and KDE Desktops 6. Using Linux Applications 7. Conquering the bash Shell 8. Installing Software Using the RPM Package Manager 9. Configuring and Administering Linux 10. Connecting to the Internet 11. Setting Up a Networked Workstation 12. Setting Up Internet Services 13. Advanced Shell Usage and Shell Scripts A. Linux Directory Tree B. Principal Linux Files C. Managing the Boot Process D. Linux Command Quick Reference

O'Reilly's latest incarnation of Learning Red Hat Linux covers version 8.0 of Red Hat's Linux distribution, Red Hat Linux. Shipped along with the book is a copy of Red Hat Linux "Publisher's Edition" version 8.0.

According to the "about the author" section, Bill McCarty, is associate professor of web and information technology in the School of Business and Management of Azusa Pacific University, Azusa, California. Nothing is mentioned about his Linux/UNIX experience so I would have to assume that O'Reilly has chosen him appropriately.

The first thing that struck me when receiving the book was the size of it. There are a total of 319 pages of which perhaps just fewer than 300 are actually useful. Compared to most of the other "learning" Linux books I've read over the years, this is just about the slimmest. I can only think it was designed this way not to overwhelm a new user audience.

In order to test the accuracy of the installation instructions my plan was to follow the book page by page, step by step through the installation. I was going to use VMWare (3.0.0 build 1455) on my Windows 2000 Professional system for this process; however the Red Hat installer did not recognize the "generic" video adapter that VMWare produces so I reverted to an older Pentium III and installed the OS on this standalone machine.

The preface states "This book focuses on the needs of the new Linux user and on desktop Linux applications". That claim was solidified when the book opened up with a chapter on "What is Linux?" and a discussion on what an operating system is. The only discrepancy I found as to the intended audience was as the text progressed when the author starts to introduce concepts that quite often seem to be geared for a more knowledgeable user. Again though, for a new Linux user getting their feet wet a little at a time is probably the best approach.

The first chapter, Why Run Linux, does a good job describing what an operating system is, the difference between a server and a desktop OS and what sets Linux apart from the competition. The author notes who and what GNU is and how the GNU project has had an impact on how Linux has progressed over the years. This is also the chapter that begins to introduce the concept of what the Kernel is, how it was started and the various milestones that the kernel has reached over the past 10+ years. X Windows is properly explained as well in a manner that most new users could understand. By far the end of this chapter is the most important for any new Linux user, why a user should or should not choose to run Linux. The author breaks down the major reasons (cost, power, reliability, and performance) why someone would choose to run Linux and more importantly, why they wouldn't choose Linux. Among the reasons not to choose Linux he cites "You're married to certain Windows applications". This is by far the single largest reason someone wouldn't switch to Linux, however he does offer alternatives. While WINE, VMWare, Win4Lin and OpenOffice are among the alternatives, he does not fail to mention that not all Windows applications will work properly under those circumstances (especially WINE). To battle that he offer a dual-boot option and the fact that Linux applications improve almost constantly.

Once you make it to chapter 2 where they describe the process of preparing your system for Linux, they do an excellent job of providing instructions on where to find out information on your hardware and even provide a small checklist/worksheet to record it on. Knowing what hardware you have installed has always been a source of trouble for new Linux users and the author deserves credit for realizing this. Unfortunately, the good section of that chapter is offset by only 7 pages dedicated to preparing your hard drive for the installation. I have found that disk partitioning is one of the first problems that people new to Linux often have trouble with and I believe more time should have been spent on this subject. He mentions the option of shrinking a partition with the FIPS tool as well as some of the downfalls that could come with it. Additionally he discusses a couple of the commercial products available for repartitioning and provides pointers to them. It should also be noted that fair warning is given to the reader that repartitioning or shrinking partitions on their system can result in a loss of data and that they should make a backup AND ensure that it can be read/used before proceeding.

Chapter 3 proceeds on to the actual installation process and follows the Red Hat installer step by step. Common installation boot problems such as setting the PC's BIOS to allow CD booting and creating a boot disk are dealt with right away. The author does a decent job describing the installation process and options; however it is only for one of the installation types (Custom). I can understand not covering upgrades since the audience is assumed to be new users to Linux, however not covering the other installation profiles such as "Personal Desktop" or "Workstation" will do a new user more harm than good. There is a section that mentions the difference between the graphical and text mode installation and when/why you might see the text version however the author falls back to referring the reader to the Red Hat installation guide in the event the user has to take the text mode installation (so don't think about using VMWare or the likes). Throughout the chapter they deal with some of the more common installation problems, especially when X starts to act obstinate, and provide a fairly robust list of additional resources to turn to for help.

Chapter 4 goes into more detail about Linux in general and touches on areas such as user accounts, devices, file systems (directories & paths), permissions and mount/unmount operations. It closes with a decent section on what a window manager is, describes some of the available desktop environments and goes through the differences in mouse operations under X vs. Windows.

Chapter 5 does a good job introducing the user to GNOME and KDE, how to maneuver around them and how to switch between them. The author does not mention the Red Hat Desktop Switching tool as the main way to switch between desktops, but to select KDE from the sessions menu of the login screen.

Chapter 6 deals with what I imagine are the most common applications a new user would want to use under Linux. Open Office, Evolution, GNOME Pilot and Gnome Toaster. The directions supplied seem to be accurate from what I tested, however I personally do not use these applications all that much.

Chapter 7 moves on to using the Bash shell and most importantly shows the user how to use man pages. They go through the most common commands, what they produce and some of the options for them. Some of the commands explained cover areas such as file commands, archiving, compressing, permissions and mounting/unmounting. It closes with an explanation of text editors and uses pico as the reference.

Chapter 8 is dedicated to the process of obtaining, installing and updating RPM packages. They go through both the graphical and command line methods for maintaining RPM packages. No mention of RPM Find is made, but how to sign up for and use the Red Hat Network is.

Chapter 9 goes through almost all of what a junior admin should know about setting up and administering a Linux machine. How to set passwords (and a description of WHAT a good password is), hardening a system by shutting down services as well as monitoring CPU and memory of processes is explained. While I believe this isn't necessarily what a "new" Linux user always needs, at least they offer the information up to read.

Chapter 10 deals completely with how to connect the system to the Internet over various methods. The only fault I can find is the lack of depth in the coverage of the different methods. I could see a new user becoming thoroughly frustrated with this lack of details. Rather than the extra 5 pages on HOW to use Mozilla, I would have preferred to see more detail on modems and dial-up configuration.

Chapter 11 deals mostly with the configuration of Samba on the machine and how to connect and share resources with Windows machines. The last few pages deals with how to set up a DHCP server, however there is again a lack of detail here about what DHCP is, what TCP/IP is and how you should choose the various DHCP settings. I don't think the audience that the book is targeted at would know enough about TCP/IP to be able to comprehend this section.

Chapter 12 goes through setting up some of the various Internet services on the machine such as an FTP server (vsFTPd), a web server (Apache) and SSH. The SSH section most notably goes through how obtain an SSH client for Windows and how to use it. The author thankfully omits Telnet from any of this chapter. The last section goes through how to set up a basic firewall and how to test it using Nmap. Again though, I don't think the new user audience will have enough understanding to comprehend firewalls.

Chapter 13, which is the final chapter, introduces the concept of shell scripting. If the user was to follow the chapter, word for word, and type in all the examples, they would be able to create basic shell scripts by the end of the chapter. With the level of detail in this chapter I have to assume that the author felt this was a more fundamental topic to teach than networking.

The various appendices contain some very useful reference information such as the directory tree and what files might be found in there, boot options and module configuration. Additionally there is a quick command reference, sorted alphabetically, that any new user would benefit from.

One of the most important things that I believe any technical book should pay attention to is accuracy, especially when the target audience is new users. I could only find 2 minor areas that could be considered inaccuracies. In one definition the author refers to LBA as "Logical Block Addressing" and the other he calls it "Logical Byte Addressing". While not entirely incorrect, it might be confusing to the reader. The other minor one was in the networking section where he refers to the Network File System as NSF (Non Sufficient Funds?), not NFS.

Overall, I would say that the book has made it to my recommended list for new Linux users. I don't think I would hand it to someone that is extremely light technically, perhaps a more advanced Windows user or "power user". If you have been using Linux for years, as I have, then you probably won't extract a large amount of useful knowledge out of it. If you are coming from a different distribution however, you might want to pick up a copy as a quick start into Red Hat. It should be noted though that at this moment Red Hat has released version 9 of their Linux and technically the book has already become "dated".