Book Review of O'Reilly Book, "Fedora Linux" by Chris Tyler

Book Review of O'Reilly Book, "Fedora Linux" by Chris Tyler,
Reviewed by David Brown, Linux admin and enthusiast 1/4/2007.

Having been a Linux user and administrator since Red Hat 6.1 (Cartman) in late 1999, I began reading "Fedora Linux" by Chris Tyler with the following expectations: I expected to see that I already knew most of the information, but I was hopeful that since I really hadn't read a distribution specific book since Red Hat 9 (Shrike) in 2003, that there would be several subjects that could enhance my depth of understanding as well as a few features that were either new to Fedora Core 6 (Zod) or that I never knew existed.

Having performed hundreds of installs I have been pleasantly surprised by each new Fedora release. I walked through the information in Chapter 1, "Installing Fedora Core," while I upgraded a PC that already had Fedora Core 1 (Yarrow) and Windows XP installed on it. The screen shots were very helpful to quickly jump through the questions you are always asked when installing. There was a good overview of the LVM (Logical Volume Management) which is the new file system default for Fedora, and it was also nice to see the note mentioning that you can "Add Additional Repositories" when asked which packages to install...I would've probably missed that and had to run "yum update" after the install.

Moving on to Chapters 2 and 3, "Using Fedora on your Desktop and Notebook", I figured I couldn't use this much because I'm the type of person who doesn't really like to do a lot of desktop customization. Either I'm too lazy or the defaults are fine by me. A couple of things I learned that may come in handy was how to customize keyboard shortcuts, adding new fonts, configuring printing, networking and sound, as well as an excellent overview of the xorg.conf file which contains the information for the Xserver to use your video card, your monitor, your keyboard, and your pointing devices. These chapters also pointed out some tips for power management which I found helpful when running Fedora on my laptop.

"Basic System Management" in Chapter 4 started off with a discussion of command line options. Being a Linux/Unix person from way back and using "vi" to actually write this review, I figured again this would be a quick read. I'm a big "man page" reader for help, but after seeing how easy it is to use "info" I may change my ways. This chapter also pointed out the relationships and details of run levels, inittab (the initialization table), and rc.d services which I found very helpful. Basic tasks like user, group and process administration and security could be quite helpful if I ever get around to studying for Linux certification. There was a quick reference to ssh (secure shell) which was beneficial, as well as how to use the bash shell effectively.

Chapter 5, "Package Management," would be a great introduction to someone coming to RPMs from another method such as "apt" and again it will be a great reference of "rpm" (the Red Hat Package Manager) and "yum" (the Yellowdog Update Manager), if I ever get around to getting certified. One of the tidbits of information I used immediately was how to configure the yum repos files and how to use proprietary video drivers and multimedia formats which do not come on the Fedora install media due to GNU license issues. Another tidbit I never realized, was that you could "rollback" rpm package changes without remembering what you did over the last 30 minutes with a simple command...wow, that would've helped when I found myself in RPM hell on several occasions! Finally, there was a good reference to how to build your own RPM packages, an item I have done rarely so having a reference like this at my fingertips is nice.

So far so good, but I haven't seen anything that was earth-shakingly new or unfamiliar, and I was already half done reading the book? Chapter 6, "Storage Administration" was the first chapter where I actually slowed down a bit. I have used this before on AIX and HP/UX, but found it somewhat cumbersome. Since starting up with Linux I had given up on using LVM and had been using simple ext2/ext3 file systems. Now that Fedora defaulted to using LVM (Logical Volume Management) I needed to take a deeper look. I was pleasantly surprised that there was a graphical user interface to manage these physical and logical volumes, making it very easy to grow and shrink disk volumes and partitions.

The second topic in Chapter 6 was also pretty unfamiliar to me. I know I should be familiar with RAID, but at work we have found it sufficient to keep a single (pre-built) hardware RAID array to backup our systems to via rsync. I have never had the need to learn about software RAID, but since a recent disk-crash at home, it was time to learn. I was able to use the book to walk-through creating different RAID types and how to handle arrays when one of the drives in the array has a failure. Armed with this new information I planned to revamp my backup and recovery techniques. The chapter also had a good review of how to backup data to DVD, tape, and other topics related to system recovery.

Being a pragmatist, I admit I do run Windows too. Chapter 7 introduced how to configure Samba (and CUPS) to share files (and printers) with Windows clients. It was pretty basic, so you should buy the "Using Samba" book by David Collier-Brown, Robert Eckstein, and Peter Kelly, or you can read this book on-line at http://safari.oreilly.com/1565924495. Other topics that were covered which help when doing home networking were how to configure DHCP and DNS. I just usually let my Linksys router handle, but it's nice to know how to do it on a server for a larger organization. As I got deeper into this chapter it became more and more interesting to see how simple it was to setup a web server using Apache, a mail server using sendmail, a webmail server using SquirrelMail, databases using MySQL, wikis, ftp servers, and more! Granted the discussions were very basic but at least it is enough to get you up and going.

Now, here it was, Chapter 8, "Securing Your System." This was the topic I really felt I needed more help with. With all the viruses, spam and hackers out there ready to steal or destroy your data I wanted to be sure my systems were safe. Also, having a job which required government security requirements for certain systems I really wanted to find out how to utilize SELinux (Security Enhanced Linux). The firewall (iptables) review in this chapter was very weak. It was barely 4 pages long and didn't even include how to setup the firewall for masquerading. I guess I'll have to refer to my own notes on the subject. Unfortunately, like the firewall topic, the SELinux topic was also lacking, and I still have no clue how to configure the policy files to meet the government NISPOM requirements. Perhaps I'll have better luck with SELinux, reading the SELinux book by Bill McCarty on-line at http://safari.oreilly.com/0596007167. Needless to say, I was a bit disappointed in this chapter, but it did have a good overview of what kinds of information can be gleaned from system log files, as well as a couple of tidbits I took home on how to remount filesystems to use ACLs (Access Control Lists) as well as how to make a file's permissions immutable (cannot be changed)...i.e. chmod +i filename. This was new to me!

Chapter 9, "The Fedora Community", discussed the plethora of ways you can get help or contribute to the development. I have used many of these, so I moved on to Chapter 10, "Advanced Installation." It reviewed custom partitioning schemes and how to resize Windows partitions. This is important if you get a Dell laptop which has an NTFS partition taking up the whole disk, and you wish to dual boot. This chapter mentioned that Fedora didn't really have a LiveCD or even a good method to do this, but you can download a GParted LiveCD from http://gparted.sourceforge.net which will actually allow you to revamp an existing disk quite easily. I wish I had this tool when I installed Fedora Core 2 (Tettnang) on my laptop in 2004. Chapter 10 also introduced alternate installation methods like USB and Network installs. Network installs I am already intimately familiar with and know they are very useful when you only have a CDROM on a machine. You simply have to create a RescueCD image and type "linux askmethod." Then all you need to do is point to an NFS share that has the Fedora DVD ISO image loop mounted and exported! The last bit of information I found helpful was some quick reference documentation on how to use a "kickstart" file. This would have come in very handy when (since Fedora doesn't have a LiveCD) I was trying to build my own live CD using a tool called "kadischi." Basically kadischi can be called with a kickstart file (which tells anaconda, the fedora installer, what packages to use and what pre and post install scripts to run). Once you have your kickstart file configured how you like it, kadischi runs anaconda, and instead of installing to a disk partition, it creates a live CD ISO image. Burn it and boot it! Perhaps I'll present this information at a future Linux Users Group meeting.

In conclusion, I felt this book is better suited (as it says in the preface) for experienced users who are migrating to Fedora rather than a person already experienced with Red Hat or Fedora distributions. As an experienced user of these distros, I can confidently say that I felt the book would be a valuable resource for that target audience and that it does a good job of quickly getting you up and running on many essential Linux topics. I appreciate O'Reilly allowing us (CINLUG) to participate in their O'Reilly User Group program, and encourage all CINLUG members to take advantage of this benefit. I look forward to reviewing other O'Reilly books in the future. Now that my review has been written using "vi"...time to "ispell" it!