P1: KTU Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 P A R T I Getting Going PY R IG HT ED MA TE RI AL ✦ CO WY025-01 1 ✦ ✦ ✦ In This Part Chapter 1 Introduction to Linux Troubleshooting Chapter 2 Troubleshooting Installation Chapter 3 Updating and Upgrading Fedora ✦ ✦ ✦ ✦ P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 2 P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 1 C H A P T E R Introduction to Linux Troubleshooting ✦ ✦ ✦ ✦ In This Chapter L inux troubleshooting skills that were once useful only for hackers and ubergeeks have become necessities for computer professionals and serious technology enthusiasts. Once confined to the computers of free software proponents, Linux systems have found their way into desktop computers, small office servers, hand-held computers, enterprise operations, and anywhere else computer processors might be found. If you can troubleshoot Linux, demand for your skills will grow exponentially in the time to come. Despite the fact that there are now scores of different Linux systems, the core components of those systems are still strikingly similar. The kernel, hundreds of basic commands, and the approach you need to take to track down problems are very much the same among most Linux systems. The goals of Linux Troubleshooting Bible are to help you: ✦ Set up and fix Linux desktop, laptop, workstation, and server systems. ✦ Develop Linux troubleshooting expertise that can easily transition to many different Linux systems. To provide detailed, working instructions to learn Linux troubleshooting, we chose Fedora Core 1 as the example Linux distribution for this book. In fact, we are strong proponents of Fedora for those who want to: ✦ Become proficient in a free Linux distribution that can be used in the same ways that Red Hat Linux was traditionally used. ✦ Learn how to dig up resources that can help you maintain Linux systems yourself, without paying expensive subscription fees. ✦ Develop a set of troubleshooting skills that will transition up to enterprise-quality Linux distributions. Most of the techniques described in this book will work exactly the same on Red Hat Enterprise and Red Hat Linux (versions 8 and 9, in particular) as well. In the next section, we explain why we believe Fedora is an excellent choice for both learning Linux troubleshooting and for using as desktop and server systems, in many situations. 3 Introduction to Linux troubleshooting Learning Linux troubleshooting with Fedora Using Linux Troubleshooting Bible Giving back to Fedora ✦ ✦ ✦ ✦ P1: KTU WY025-01 Bible Tight 4 WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going Once you have studied the troubleshooting techniques in chapters of this book, you may find that you want to spread those skills to other Linux distributions. For that reason, we provide two appendixes (Appendixes B and C) to help you understand the challenges you will face transitioning to two other popular Linux distributions: SUSE and Debian. For the moment, however, I recommend that you have a Fedora Core system in front of you (or a Red Hat Enterprise Linux system) if you care to step through the information laid out in this book. Introducing Fedora Linux In September 2003, while in the middle of developing the successor to Red Hat Linux 9 (presumably Red Hat Linux 10), Red Hat, Inc., made a startling announcement. It was merging its Red Hat Linux development with Fedora Linux (www.fedora.us) into a new initiative: The Fedora Project. Suddenly, it seemed, there was no flagship Red Hat Linux product anymore. Users would have to choose between the subscription-based Red Hat Enterprise Linux and the communitysupported Fedora Project. The Red Hat Linux product in development was renamed and eventually released as Fedora Core 1. Common reactions to the abandonment of Red Hat Linux for Fedora ranged from surprise, to confusion, to anger. As the dust settles, however, the logic of this move and the potential upside for the open-source community has already begun to emerge. Learning Linux Troubleshooting with Fedora The Fedora Project is being touted as a Red Hat–sponsored and community-supported open-source project. Its mission is to produce a Linux distribution called Fedora Core (sometimes also referred to as Fedora Linux), which in its first release was built from the Red Hat Linux code base. The distribution would be re-released every 4 to 6 months. With the name change and its association with Red Hat, Inc., changing so suddenly, there has been a lot of speculation about what exactly Fedora is and how well it can be relied upon. Let’s start by separating the facts from the speculation about Fedora: ✦ Fedora is essentially Red Hat Linux 10—A good case can be made for this statement. Up until the last 2 months of the development process, what is now called Fedora Core 1 was being developed as the next release of Red Hat Linux. Most of the last-minute changes had to do with changing logos and expanding access to software repositories (which we will discuss later). ✦ Fedora Core 1 is a solid Linux system—Hundreds of bug fixes and improvements were made during the development process. There were not a tremendous number of new features added to the Red Hat Linux 9 base. By most accounts, Fedora Core 1 is a rock-solid Linux distribution. ✦ Red Hat, Inc., supports Fedora—It is clear that Red Hat, Inc., wants to create high-quality software from the Fedora Project. Most of the technology in Red Hat Enterprise Linux 3 matches almost exactly the same software packages in Fedora Core 1. Red Hat, Inc., plans to use Fedora as a proving ground for its enterprise products. It doesn’t have the resources to maintain and enhance the entire Linux operating system and related applications itself. Fedora is critical to Red Hat’s success. P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting ✦ Fedora is a path to Red Hat Enterprise—Some people like to use a freely distributed Linux as a means of showing a reluctant boss or IT department that Linux will work in their business. With Fedora Core 1, you can demonstrate many of the same features that are in Red Hat Enterprise Linux 3. Future releases of Fedora could be used to evaluate new technologies in which a company may be interested. (See the description of Fedora Core 2 later in this chapter.) ✦ Fedora offers more software—For someone interested in trying software that is outside of the corporate software model (such as games, audio, and video), Fedora Core offers dozens more packages than does Red Hat Enterprise Linux. It also contains tools, such as yum, for downloading complete sets of applications from software repositories in Red Hat RPM format. ✦ Fedora has the latest technology—Here’s where some of the risks (and opportunities) lie with Fedora. Because Fedora is slated to come out two to three times per year, it can incorporate the latest software available for Linux. This should make Fedora Core a great operating system for keeping your knowledge and troubleshooting skills up to date. However, this should also have the effect of making some releases of Fedora less stable. You might find yourself picking and choosing a Fedora Core release to use as your server. ✦ Fedora offers critical updates and patches—This has been the biggest concern for those who have been using Red Hat Linux as a server for their businesses or organizations. The amount of time that critical updates will be officially supported by Red Hat for Fedora Core is shorter than it was for Red Hat Linux. The Fedora Legacy Project (www.fedoralegacy.org), as well as other organizations, is stepping up to deal with this issue. (See Chapter 3 for discussions of how to solve the update and upgrade issues with Fedora.) The bottom line is that Fedora offers great technology in a freely distributed Linux system. Yes, there are fewer guarantees from Red Hat, Inc., if you want to bet your business on Fedora. However, if the prospect of going it alone with Fedora is exciting but somewhat daunting to you, we are here to tell you that you don’t have to go it alone. If you decide to go with Fedora (or at least look into it further), Linux Troubleshooting Bible is here to give you (or help you find) the resources you need to support it. Finding Opportunities with Fedora If you take the time to learn how to troubleshoot Fedora, what kinds of Linux systems can you support with your new skills? The short answer is: any kind of system you could set up with Red Hat Linux. The software in Fedora supports desktop, workstation, and server systems, and is being used for a variety of specialty uses. Fedora Linux Desktop As with most Linux and UNIX systems, Fedora Core uses the X Window System as the foundation for its graphical user interface (GUI). It also offers the GNOME and KDE desktop environments. If you don’t want to use a full-blown desktop environment, you can use other window managers that come with Fedora instead, such as the Tab Window manager and Motif Window manager. Figure 1-1 illustrates the GNOME desktop, including two panels, the Nautilus graphical shell and the Konqueror web browser/file manager. 5 P1: KTU WY025-01 Bible Tight 6 WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going Figure 1-1: Choose between GNOME and KDE desktops, based on the X Window System. Fedora comes with all the basic desktop applications you would expect to find on a Linux desktop: editors, web browsers, office productivity applications, music players, and graphics programs. Using yum and apt repositories, you can add to the hundreds of desktop applications that come with Fedora Core. Whether you are supporting dozens of desktop systems or just a few, this book covers how to troubleshoot installation (Chapter 2), your video card, mouse, and keyboard (Chapter 7), and software packages (Chapter 8). Chapter 4 tells how to lock down a Fedora desktop system, and Chapter 3 describes how to get critical updates for your desktop system. Fedora Linux Servers All the basic server features that came with Red Hat Linux are in Fedora Core. Graphical configuration tools developed for Red Hat Linux are included in Fedora Core, as are a variety of commands and graphical utilities for troubleshooting your servers. Figure 1-2 illustrates the categories of server software in Fedora from the Package Management window. Despite the lack of guarantees from Red Hat, Inc., for supporting more than a short update period for Fedora systems, a group of people committed to using Fedora as a server have rallied around the Fedora Legacy Project (see Chapter 3 for details). Their goal is to provide the long-term support for Fedora that it needs to be a viable server operating system. P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting Figure 1-2: Advanced network server software once in Red Hat Linux is included in Fedora. Most of the troubleshooting skills you will gain from this book are aimed at server troubleshooting. While we briefly touch on Red Hat–specific graphical administration tools, techniques for working with server configuration files and command-line tools will help you develop a skill set that applies to most Linux and UNIX systems. For small office servers and personal servers, you can probably use Fedora Core. For larger installations, you might consider purchasing Red Hat Enterprise Linux server subscriptions. In either case, the skills for troubleshooting both distributions will be the same. In terms of how server topics are covered in this book, we have divided the chapters into three major sections. The chapters in Part IV focus on how to troubleshoot your network with 7 P1: KTU WY025-01 Bible Tight 8 WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going an eye toward security (Chapter 10 covers how to detect and deal with intruders), and then describe specific techniques to troubleshoot your firewalls (Chapter 11), domain name system server (Chapter 12), and modems (Chapter 13). Fedora Linux Workstation A Linux workstation is basically thought of as a desktop system used for software development. There are well over 100 software packages that come with Fedora Core that fall under the heading of development packages (see Figure 1-3 for an illustration of software development package groups in Fedora). Figure 1-3: Software development tools are spread across more than 100 software packages in Fedora. Troubleshooting skills needed to support Fedora Linux workstations are pretty much the same skills you would need to support any desktop system. Specialty Fedora Linux Systems Because there are no licensing fees associated with Fedora Core, people have already begun using it to create their own specialized Linux systems. For example, bootable live CD Linux distributions created from Fedora include ADIOS Linux Boot CD (http://dc.qut.edu .au/adios) and RPM Live Linux CD (http://nwst.de/livelinuxcd). Many companies creating devices that use embedded Linux systems have leaned toward Red Hat Linux in the past. According to the 2003 LinuxDevices.com Embedded Linux Market Survey, Red Hat Linux was the preferred Linux source/vendor for embedded Linux systems. With 14.4 percent of embedded Linux systems being based on Red Hat Linux (with only homegrown Linux systems beating it, with an 18 percent share), Red Hat Linux captured a substantial share of the embedded systems market. The fact that most surveyed (63.9 percent) considered no royalties as being the most important feature for choosing a Linux distribution for creating their embedded systems means that we can expect Fedora to carry on that tradition. P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting Whether you hope to build your own embedded or other specialty Linux system some day, the skills you learn in Linux Troubleshooting Bible will help you not only get your systems working, but understand the range of features that lie beneath the surface of Linux. Even if it’s just in the area of fun projects, such as those included with Linux Toys (www.linuxtoys.net), learning to troubleshoot Fedora can be a useful skill. Figure 1-4 illustrates the Linux Toys Television Recorder/Player. Figure 1-4: Linux Toys and other hobbyist applications will run on Fedora Core. Going with Fedora (Without Going It Alone) What some seem to forget as they worry about how well Red Hat, Inc., will support Fedora is that Linux was originally created and supported by a community of open-source developers, administrators, and integrators. Right now, the community of people and companies out there that are ready and able to support the software that comes in Fedora is as strong as ever. While calling Red Hat, Inc., for every problem with Fedora may not be an option, the trick is to know what the Fedora Project itself is offering (with the support of Red Hat, Inc.) and how to look elsewhere for the help you need. The first thing to do, however, is to get your hands on Fedora. Choosing a Fedora Version By the time this book is released, Fedora Core 1 would have been available for several months and Fedora Core 2 would just be hitting the market. Although versions 1 and 2 are similar in many ways, we based most of this book on Fedora Core 1 for the following reasons: ✦ Fedora Core 1 had gone through nearly a full Red Hat testing cycle before becoming Fedora Core 1. There were not major feature additions over Red Hat Linux 9, while there were many bug fixes that were included. 9 P1: KTU WY025-01 10 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going ✦ Fedora Core 2 included many major new features and hadn’t been out long enough to know if all the major bugs had been fully shaken out yet. For these reasons, we felt that Fedora Core 1 made a more stable environment for those who wanted to use the skill taught in this book to set up and use reliable desktop and server systems. If, however, you want to use Fedora Core 2 instead with this book, here are some of the differences you can expect: ✦ Fedora Core 2 includes the new 2.6 kernel by default. While there are not many features about the new kernel that change how you use Linux, it’s possible that support for some hardware drivers may not have been carried over to the 2.6 kernel yet. The new kernel also has brought some changes in the types of boot media you can use with Fedora Core 2. (Refer to http://fedora.redhat.com/download for details on installation media and install procedures.) ✦ All the redhat-conﬁg-* graphical administration utilities had their names changed to system-conﬁg-*. So, anywhere in the book that we discuss the commands that launch graphical administration tools, you should change redhat to system when you type the command. ✦ The XFree86 X server used in Fedora Core 1 has been replaced by a new X server from X.org. During descriptions of troubleshooting video in Chapter 7, you may find differences in how some of the X-related commands behave. Likewise, in the course of normal improvements to Linux software (such as new versions of KDE and GNOME desktops in Fedora Core 2), some of the steps and options described in this book (which was based on Fedora Core 1) may differ. Getting Fedora You need Fedora Core Linux operating system to use this book. When Red Hat, Inc., transitioned its operating system from Red Hat Linux to Fedora, it stopped producing boxed sets of that product. To follow along with this book, you should get the three-CD Fedora Core 1 set in one of the following ways: ✦ Red Hat Linux Bible: Fedora and Enterprise Edition—The complete three-CD installation set for Fedora Core 1 comes with this edition of Red Hat Linux Bible. If you are new to Red Hat Linux, Fedora, or Linux in general, Red Hat Linux Bible covers the basics you need to use, administer, and set up servers for Fedora Core. Linux Troubleshooting Bible builds on those basics. ✦ Downloading—You can download the ISO images of the CDs from the Fedora Project website (http://fedora.redhat.com/download/). The site describes the process of downloading, verifying, and burning the CD images. ✦ Find a friend—Many Linux enthusiasts or Linux user groups will be happy to get you a copy of Fedora Core, or any other Linux that you desire. Remember, Fedora is free and distributable. Fedora Core can be installed on most Pentium class PCs. Unless otherwise noted, all the software needed in this book is available on the Fedora distribution CDs. Note Chapter 2 contains information on installing Fedora Core and tips on troubleshooting installation. P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting To learn about what is new in Fedora Core, especially if you want to know the differences between Fedora Core and Red Hat Linux 9, you can refer to the Release Notes document. That document describes the hardware requirements for running Fedora, provides notes on installing and using Fedora Core, and lists new and removed software packages. You can get the Release Notes on the first disk of the three-CD Fedora Core set or from the Fedora Project website (http://fedora.redhat.com/docs/release-notes). Connecting with the Fedora Project The best resource for the latest news and policies relating to Fedora is the Fedora Project website: http://fedora.redhat.com. From that site, you can get the latest information on release schedules, project objectives, and ways of participating in the project. You should read the Fedora Project FAQ (click the FAQ link from the home page). You can also click the About link to learn about the people and structure that supports the project. Getting Fedora Documentation The Red Hat Linux documentation is one component that didn’t come across to the Fedora Project. In fact, one of the major reasons for this book is to fill the void left by the lack of official documentation coming out of Red Hat, Inc., for Fedora. Instead of porting the Red Hat Linux Documentation to Fedora, the Fedora Docs project is focusing its first efforts on producing an Installation Guide. Beyond that, the Fedora Docs project hopes to produce (and encourage others to produce) smaller tutorial and HOWTO documents. Because the first Fedora release (Fedora Core 1) was very similar in many ways to the previous release (Red Hat Linux 9) and the recent enterprise release (Red Hat Enterprise Linux 3), you can find answers to many questions in existing Red Hat documentation for those products. Another resource for Fedora documentation is documents that come with each software package in the Fedora distribution itself. Here are some places to look: ✦ Red Hat Linux 9 Doc Set—Manuals for installing, customizing, and administering Red Hat Linux 9 are on the Red Hat website (www.redhat.com/docs/manuals/linux). You can download the Installation Guide, Getting Started Guide, Customization Guide, Reference Guide, Security Guide, System Administration Primer, Glossary, and Release Notes. Most of the documents are available in PDF, RPM, and HTML (tarball) formats. ✦ Red Hat Enterprise Linux Doc Set—Manuals for the Red Hat Enterprise Linux products are also available online (www.redhat.com/docs/manuals/enterprise). Several of these manuals are quite generic. So most of the content in, for example, Introduction to System Administration, System Administration Guide, Reference Guide, Security Guide, and Step by Step Guide would be appropriate for Fedora as well. ✦ /usr/share/doc—Software packages that come with documentation often put that documentation in subdirectories of the /usr/share/doc directory. Much of the documentation is in HTML format, and so you can read it from your web browser. ✦ Man pages—Traditional UNIX and Linux documentation was done on per component documents referred to as man pages. For a Fedora troubleshooter, man pages are a great resource for understanding all the options that come with each command. Man pages are typically stored in the /usr/share/man subdirectories for commands (man1), system calls (man2), programming functions (man3), special files (man4), file formats 11 P1: KTU WY025-01 12 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going (man5), games (man6), miscellaneous components (man7), and administration commands (man8). ✦ Info pages—Like man pages, info pages are text-based descriptions of components in Fedora. However, the info utility, which displays info pages, is more menu-oriented than are man pages. Checking Documents with man and info The man and info commands are used to display man pages and info pages, respectively. For example, to see the man page for the cat command, type # man cat To start the info utility, you can simply type the info command. From there, scroll up and down to find the command or other component that interests you. With the cursor on the item you want, press Enter to display the information. Finding Documents in Software Packages If you would like to see what documentation is included with a particular software package, you can use the rpm command. For example, to see what documentation comes with the bash shell software (bash package), you could type the following: # rpm -qd bash |less This command will show you any manual pages, HOWTOs, release notes, or other documents associated with a Fedora software package. Checking Project Sites Nearly every project represented by software packages in Fedora has its own website, at which you can find further information and documentation on the project. You can usually find the address of a project’s website by checking the README file or the RPM description that comes with the software package in Fedora. For example, to find out about the Rhythmbox multimedia player in Fedora, I paged through the Rhythmbox README file: # less /usr/share/doc/rhythmbox-*/README In that file, I saw that the official website is http://web.rhythmbox.org and that there is a mailing list at http://lists.gnome.org/mailman/listinfo/rhythmbox-devel. If you can’t find information about the project’s website from its README file, you can try listing information about the package to find the site. For example, to list information about the rdesktop package (a Windows NT terminal server client), you could type the following: # rpm -qi rdesktop Besides showing a description of the package, this command showed that the rdesktop website is at www.rdesktop.org. Links from this site point you to documents that describe the protocols used in rdesktop, if you want to research further how the software works. Getting on Fedora Mailing Lists Many of the resources slated to support the Fedora Project were created to suit its charter to be a community-supported Linux. While Fedora mailing lists have been churning away happily P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting from the get-go, community involvement in other areas will, by their nature, take more time to develop. The Fedora Project has an active set of mailing lists that are available through Red Hat, Inc. To access the mailing lists (both archives and e-mailed versions are available to everyone), visit the following site: http://redhat.com/mailman/listinfo/ There is very active participation from Red Hat, Inc., developers on all of these lists, so you can often get information straight from those people developing and making decisions about the direction of Fedora. Here’s a rundown of what you can expect from each of the Fedora mailing lists: ✦ General Fedora questions (fedora-list)—The fedora-list is for general questions about Fedora. Of the available mailing lists, fedora-list is the most active. If you sign up for this list, you can expect 100 to 200 posts per day (or more) devoted to questions about Fedora. Although there are all types of Fedora questions on this list, the list is especially good for “how do I get” and “where do I find” types of questions. ✦ Fedora testing discussions (fedora-test-list)—The fedora-test-list tracks the development of Fedora software. For the troubleshooter, this is a good list to talk about software that has broken down and is in the process of being fixed. ✦ Fedora announcements (fedora-announce-list)—If you are using Fedora, you should at least subscribe to fedora-announce-list. This list announces the availability of critical updates for your Fedora systems. ✦ Fedora desktop (fedora-desktop-list)—For issues related to troubleshooting desktop problems or discussing desktop enhancements, the fedora-desktop-list is a good place to start. ✦ Fedora software updates (fedora-legacy-list)—To get in on discussions of how updates will be available for Fedora (and older Red Hat Linux systems as well) beyond the officially supported update plans from Red Hat, Inc., you should join the fedora-legacy-list. To keep up with the ongoing development of Fedora, there are also other lists that might interest you. Fedora-devel-list contains information on newly built packages and lets people comment on feature changes. For development issues related directly to configuration tools, there is fedora-config-list. If you want to contribute to the Fedora documentation effort, you can join fedora-docs-list. Getting on Fedora Internet Relay Chat If you have never used Internet Relay Chat (IRC) before, it offers a great way to participate in (or just watch) discussions by typing messages to a scrolling list. Messages are transferred in real time, so anyone on the IRC channel can participate right at the moment. The Fedora Project offers several IRC channels through the Freenode IRC Network (www.freenode.net). Channels include: ✦ Fedora general chat (#fedora)—Open to end users or any participants in the Fedora Project. 13 P1: KTU WY025-01 14 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going ✦ Fedora development chat (#fedora-devel)—For chatting about problems and suggestions related to Fedora software development. ✦ Fedora problem reporting chat (#fedora-bugs)—To talk about bugs you encounter while using Fedora and find out if workarounds or fixes are available. There is also a Spanish language chat channel (#fedora-es) and other public and private channels associated with Fedora projects. If you have not used IRC before, refer to an IRC tutorial, such as the one at www.irchelp.org/irchelp/irctutorial.htm. Here’s a quick procedure for getting into a Fedora IRC channel: 1. With a computer connected to the Internet, open an IRC client. For example, in Fedora you can open an X-Chat window by clicking the Red Hat menu and selecting Internet ➪ More Internet Applications ➪ IRC Client. 2. Add a Nick Name (and two alternate nicknames, in case yours is taken), a User Name, and a Real Name, and click Connect. 3. Once you are connected to the server, join the list you choose by typing /join and the channel name. For example, to join the general Fedora chat channel, type / join # fedora Getting More Software While the plans to broaden the range of software available for Fedora are still being developed, new features in Fedora already make it easier to get additional software packages for Fedora than it was for Red Hat Linux. Right now, you can: ✦ Use up2date—The up2date facility that you used to get software updates for Red Hat Linux has been enhanced for Fedora Core. Beginning with Fedora Core 1, software repositories created for the yum or apt package managers can be accessed through the up2date facility. By default, up2date is configured to use yum repositories to get updates for Fedora systems, while Red Hat Enterprise Linux systems still use the Red Hat Network to get official updates from Red Hat, Inc. ✦ Use yum or apt—The yum package manager (which comes with Fedora Core) and apt package manager (which is easily attainable) can be used to get additional software packages that are not in Fedora Core. High-quality software packages, in RPM format, are already available from yum and apt repositories. The www.fedora.us site (which merged with Red Hat Linux to form the Fedora Project) has software repositories built for Fedora (www.fedora.us/wiki/ FedoraPackageLists). The Freshrpms.net site is the first place many Fedora users go to get additional software packages. There are also other repositories that contain more software that may not meet Fedora’s or Red Hat’s standards of quality (or legality). There is a Fedora Project Developer’s Guide (http://fedora.redhat.com/participate/ developers-guide) for those who want to contribute their software to the Fedora Project. Plans for software packages that don’t make it into the main Fedora Core distribution, but still P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting want to be sanctioned to some extent by the Fedora Project, can be added to Fedora repositories in one of the following ways: ✦ Fedora Extras—These are additional software packages that don’t replace any of the basic Fedora Core packages. Eventually, the www.fedora.us site is slated to hold an official set of Fedora Extras packages. ✦ Fedora Alternatives—These are software packages that can replace existing software packages that are in the Fedora Core. ✦ Fedora Legacy—These are packages that contain fixes to older versions of Fedora Core software. The guidelines for submitting Fedora software packages, and having them sanctioned by the Fedora Project, are still being developed. For more on software package definitions, visit the Fedora Project Terminology page (http://fedora.redhat.com/participate/ terminology.html). As I noted earlier, you should also keep in mind that there are some (and will be more) software repositories that will be available that won’t fall under Fedora Project guidelines. You will be on your own to evaluate the quality and legality of those packages. CrossReference See Chapter 3 for more complete information on getting Fedora software packages and updates. See Appendix A for a list of popular third-party software repositories. Giving Back to Fedora Contributing to the open-source community is the best way to ensure that Linux, in general, and Fedora, in particular, will continue to improve and grow in the future. Even if you are not a kernel hacker, or a software developer at all, there are plenty of other ways you can contribute. Finding Bugs and Filing Reports The easiest way that anyone using Fedora can help improve it is to report problems. As you use Fedora, you will certainly bump into things that don’t exactly work right. Using a facility called Bugzilla, which is maintained by Red Hat, Inc., for the Fedora Project, you can: ✦ Search—You can search the Bugzilla database to see if anyone has encountered the same problem you have. If someone has, there may already be a workaround or software fix available to overcome the problem. If you can’t find the exact bug you encountered in the database, you might also want to check a Fedora mailing list on the topic to see if the problem has been encountered, before you file a bug report. To search Bugzilla, go to the Red Hat Bugzilla site (http://bugzilla.redhat.com/bugzilla/) and enter a search term. ✦ Report—If you feel that the bug has not been reported yet, you can enter a Bugzilla report into the database. When you do, make sure that you have as many details available about the problem as possible before you enter the report. To enter a bug report, you need to give a valid e-mail address and password. To get an account, or just log in to enter a bug report, go to the following web address: http://bugzilla.redhat.com/bugzilla/enter_bug.cgi. 15 P1: KTU WY025-01 16 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going Once you log in, check the frequently reported bug list and check the latest errata updates to see if your bug has already been dealt with. Then select Fedora Core to enter a new bug report by selecting the component (software package), severity, platform, priority, summary, description, and other information about the bug. Note If you have never entered a bug report before, click the bug writing guidelines link from the Enter New Bug page. Those guidelines will give you good advice on how to pass on the most important information about your bug to help the developers reproduce and fix the problem. ✦ Fix—If you believe that you have a code fix or other solution to the problem, it’s a good idea to submit that fix along with the bug report. Red Hat, Inc., recommends that most fixes be delivered in the form of unified diffs (so the maintainer can see exactly what code changes you are suggesting). After you have entered the bug report, you are given an opportunity to attach a patch or other text to the bug report. Select Create an Attachment and enter the filename of your patch (and a brief summary description) along with the attachment. I can’t stress enough how important it is to enter bug reports to get important fixes done. When a package maintainer goes through the list of fixes needed to a software package, a report entered into Bugzilla will carry a lot more weight than ranting in a mailing list or just firing off e-mails to the maintainer. Bug reports make for orderly fixes. Joining Fedora Projects The Fedora Project website already lists a variety of software projects you can become involved with. Signing on to one of the Fedora mailing lists (described earlier in this chapter) is a great way to connect up with the people at Red Hat, Inc., who are running the ongoing Fedora projects. Some of the best features of Red Hat Linux that have made their transition over to Fedora are the Red Hat installation program, the graphically oriented redhat-config tools (called system-config in Fedora Core 2), and the Red Hat desktop. Current projects being sponsored by Red Hat as part of the Fedora Project that include these features are: ✦ Red Hat Installation Program (Anaconda)—Its installation program named Anaconda, with both graphical and text-based versions, has been one of the strong points of Red Hat Linux for the past few years. Anaconda also includes a kick-start feature that lets someone installing Fedora preconfigure installation selections so that the install can be done with little or no live input. Anaconda is written in Python. Currently, the Fedora Project is asking for bug reports and requests for enhancements for Anaconda. If you are interested in contributing to this project, I recommend that you join the anaconda-devel-list and/or kickstart-list mailing lists to see how you can become involved. ✦ Configuration Tools—Red Hat’s own home-grown graphical configuration tools (many of which also have text-based interfaces) have made great strides in recent Red Hat Linux (and now Fedora) releases toward simplifying Linux system administration. These let you configure your network, file sharing, video cards, printers, and many other features. While I count about 40 Red Hat configuration tools, there is still room to simplify many other administrative features. The Fedora Configuration Tools Project is recommending P1: KTU WY025-01 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Chapter 1 ✦ Introduction to Linux Troubleshooting a list of features that could benefit from a GUI. These include GUI tools for partitioning your disks, scheduling tasks, configuring more refined firewalls, and setting up boot servers (such as DHCP and NIS). To find out how you can contribute to the Configuration Tools Project, you can start by joining the fedora-config-list mailing list. ✦ Desktop Project—Red Hat brought the concept of a standard look-and-feel across the two major desktop environments (GNOME and KDE) to Fedora in the form of the Fedora Desktop Project. The standard Red Hat look-and-feel is referred to as Blue Curve. Particular areas where Red Hat is looking for input related to the Desktop Project is in the area of creating desktop themes, creating splash screens, and choosing which applications are set up as defaults. If you are fond of writing, or have enough insight into a feature that you could write a tutorial on it, the Fedora Docs Project is looking for contributors. As noted earlier, you could join the fedora-docs-list mailing list to find out more. There is also an ongoing effort to find people to translate Fedora into different languages. The fedora-trans-list mailing list is a good way to get further information. Moving to Fedora Core 2 Fedora Core 2 reflects Red Hat’s commitment to making the Fedora Project a platform for rapid development and adoption of Linux technology. Although we are recommending Fedora Core 1 as a more stable Linux distribution to follow along with this book, you may want to use Fedora Core 2 to take advantage of some of its new features. If you are sitting down to use this book with Fedora Core 2, you should be aware of several differences from Fedora Core 1. Here are some of the major ones: ✦ Linux 2.6.5 kernel—The Linux 2.6 kernel is a major upgrade from the 2.4.22 kernel included in Fedora Core 1. New features should result in improved performance, more supported hardware, and better scalability. For the most part, the new kernel shouldn’t change how you use this book. However, visible reflections of the new kernel include a new /sys file system (where you can view and change kernel information) and device files represented by .ko instead of .o suffixes. ✦ Advanced Linux Sound Architecture (ALSA)—The underlying mechanism for sound in Fedora Core 2 is ALSA, replacing the Open Source Sound system (OSS) used in Fedora Core 1 and earlier Red Hat Linux distributions. ✦ system-config tools—To give a more generic feel, commands to launch graphical administration tools that previously began with redhat-config now begin with systemconfig. For example, the redhat-conﬁg-network command is now system-conﬁgnetwork. Anytime you encounter a command beginning with redhat-config, try system-config in Fedora Core 2 instead. ✦ Security Enhanced Linux—The SE Linux feature pervades many aspects of the Fedora Core 2 operating system. This new security model can be used to overcome the monolithic “root owns the world” approach to security in earlier Linux and UNIX systems. Using access control lists (ACLs), a system with SE Linux enabled can finely define administrative control over the files, processes, and devices in that system. By default, SE Linux is turned off in Fedora Core 2. 17 P1: KTU WY025-01 18 Bible Tight WY025-Negus-v2.cls June 28, 2004 22:29 Part I ✦ Getting Going ✦ X.org X server—The X server delivered with Fedora Core 2 changed from the XFree86 server to the X server software available from X.org. While this shouldn’t have much impact on the average desktop user (who sees mostly the GNOME or KDE desktop environment, colored by the metacity window manager and Bluecurve theme), it does change some of the tools available for configuring your video cards from the command line. ✦ Many new packages—More than 200 new packages were added to Fedora Core 2 after Fedora Core 1. While many of these packages were added to improve support for application development (especially Java applications), some new administrative features were added such as IPSEC (VPN software replacing cipe) and the exim mail transfer agent (which could be used instead of sendmail or postfix). Summary Despite the change in both name and how it is produced, the Linux operating system referred to as Fedora Core is a good, free Linux operating system for learning Linux troubleshooting. Red Hat’s flagship Red Hat Linux product formed the foundation for the new Fedora Core distribution that is available today. Linux Troubleshooting Bible is dedicated to bringing you the skills you need to prevent, find, and fix problems with Fedora Core, in particular. The same skills you learn in troubleshooting Fedora can be used for troubleshooting older Red Hat Linux systems and newer Red Hat Enterprise Linux systems, as well as a variety of other Linux systems. Besides the information in this book, there are many other resources available if you want to support Fedora Core systems. The Fedora Project itself sponsors several very active mailing lists where you can ask questions about Fedora features, development, and software fixes. And despite not having a full documentation set dedicated to Fedora, there are many useful documents from Red Hat Linux 9, Red Hat Enterprise Linux, and from individual software projects (included on the Fedora Core CDs) that can be used to find information that applies to Fedora. Because Fedora is a community-supported distribution, there are many ways you can contribute to the project itself. You can start by filing bug reports when you encounter problems. The Fedora Project also encourages you to contribute code fixes and request for enhancements to help improve Fedora going forward.