Start-Up

Copyright © 2006- 2009 Novell, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Section being this copyright notice and license. A copy of the license is included in the section entitled “GNU Free Documentation License”.

SUSE®, openSUSE®, the openSUSE® logo, Novell®, the Novell® logo, the N® logo, are registered trademarks of Novell, Inc. in the United States and other countries. Linux* is a registered trademark of Linus Torvalds. All other third party trademarks are the property of their respective owners. A trademark symbol (® , ™, etc.) denotes a Novell trademark; an asterisk (*) denotes a third-party trademark.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither Novell, Inc., SUSE LINUX Products GmbH, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.

About This Guide

This manual will see you through your initial contact with openSUSE®. Check out the various parts of this manual to learn how to install, use and enjoy your system.

Installation and Setup

Guides you through the installation process and the basic configuration of your system. Introduces YaST, the central tool for installation and configuration of your system. Learn how to set up or modify key components of your system: hardware components such as monitors or printers and network connections such as Internet access. Find how to install or remove software, how to administer users and groups, and how to make use of the various system languages available with openSUSE.

Basics

This part mainly addresses to users changing to Linux from other operating systems. It introduces basic Linux concepts such as the user concept, the structure of the file system and access permissions for files and directories. An introduction to the shell is also provided, although you hardly ever need the command line to interact with your system nowadays.

Help and Troubleshooting

Provides an overview of where to find help and additional documentation in case you need more information or want to perform specific tasks with your system. Also find a compilation of the most frequent problems and annoyances and learn how to solve these problems on your own.

Many chapters in this manual contain links to additional documentation resources. This includes documentation that is available on the system as well as documentation available on the Internet.

For an overview of the documentation available for your product and the latest documentation updates, refer to http://www.novell.com/documentation/opensuse112 or to the following section.

Available Documentation

We provide HTML and PDF versions of our books in different languages.

Start-Up

Guides you through the installation and basic configuration of your system. For newcomers, the manual also introduces basic Linux concepts such as the file system, the user concept and access permissions and gives an overview of the features openSUSE offers to support mobile computing. Provides help and advice in troubleshooting.

“KDE User Guide” (↑KDE User Guide)

Introduces the KDE desktop of openSUSE. It guides you through using and configuring the desktop and helps you perform key tasks. It is intended mainly for users who want to make efficient use of KDE as their default desktop.

“GNOME User Guide” (↑GNOME User Guide)

Introduces the GNOME desktop of openSUSE. It guides you through using and configuring the desktop and helps you perform key tasks. It is intended mainly for end users who want to make efficient use of GNOME desktop as their default desktop.

“Application Guide” (↑Application Guide)

Learn how to use and configure key desktop applications on openSUSE. This guide introduces browsers and e-mail clients as well as office applications and collaboration tools. It also covers graphics and multimedia applications.

“Reference” (↑Reference)

Gives you a general understanding of openSUSE and covers advanced system administration tasks. It is intended mainly for system administrators and home users with basic system administration knowledge. It provides detailed information about advanced deployment scenarios, administration of your system, the interaction of key system components and the set-up of various network and file services openSUSE offers.

“Security Guide” (↑Security Guide)

Introduces basic concepts of system security, covering both local and network security aspects. Shows how to make use of the product inherent security software like Novell AppArmor (which lets you specify per program which files the program may read, write, and execute) or the auditing system that reliably collects information about any security-relevant events.

In addition to the comprehensive manuals, several quick start guides are available:

“KDE Quick Start” (↑Quick Start Manuals)

Gives a short introduction to the KDE desktop and some key applications running on it.

“GNOME Quick Start” (↑Quick Start Manuals)

Gives a short introduction to the GNOME desktop and some key applications running on it.

“Installation Quick Start” (↑Quick Start Manuals)

Lists the system requirements and guides you step-by-step through the installation of openSUSE from DVD, or from an ISO image.

Novell AppArmor Quick Start

Helps you understand the main concepts behind Novell® AppArmor.

Find HTML versions of most product manuals in your installed system under /usr/share/doc/manual or in the help centers of your desktop. Find the latest documentation updates at http://www.novell.com/documentation where you can download PDF or HTML versions of the manuals for your product.

Feedback

Several feedback channels are available:

To report bugs for a product component or to submit enhancement requests, please use https://bugzilla.novell.com/. If you are new to Bugzilla, you might find the Submitting Bug Reports article—available under http://en.opensuse.org/Submitting_Bug_Reports helpful. Frequently asked questions on reporting bugs are available under http://en.opensuse.org/Bug_Reporting_FAQ.

We want to hear your comments and suggestions about this manual and the other documentation included with this product. Please use the User Comments feature at the bottom of each page of the online documentation and enter your comments there.

Documentation Conventions

The following typographical conventions are used in this manual:

/etc/passwd: directory names and filenames

placeholder: replace placeholder with the actual value

PATH: the environment variable PATH

ls, --help: commands, options, and parameters

user: users or groups

Alt, Alt+F1: a key to press or a key combination; keys are shown in uppercase as on a keyboard

File, File+Save As: menu items, buttons

Dancing Penguins (Chapter Penguins, ↑Another Manual): This is a reference to a chapter in another manual.

About the Making of This Manual

This book is written in Novdoc, a subset of DocBook (see http://www.docbook.org). The XML source files were validated by xmllint, processed by xsltproc, and converted into XSL-FO using a customized version of Norman Walsh's stylesheets. The final PDF is formatted through XEP from RenderX. The open source tools and the environment used to build this manual are available in the package susedoc that is shipped with openSUSE.

Source Code

The source code of openSUSE is publicly available. To download the source code, proceed as outlined under http://www.novell.com/products/suselinux/source_code.html. If requested we send you the source code on a DVD. We need to charge a $15 or €15 fee for creation, handling and postage. To request a DVD of the source code, send an e-mail to sourcedvd@suse.de or mail the request to:

  SUSE Linux Products GmbH
  Product Management
  openSUSE
  Maxfeldstr. 5
  D-90409 Nürnberg
  Germany

Acknowledgments

With a lot of voluntary commitment, the developers of Linux cooperate on a global scale to promote the development of Linux. We thank them for their efforts—this distribution would not exist without them. Furthermore, we thank Frank Zappa and Pawar. Special thanks, of course, goes to Linus Torvalds.

Have a lot of fun!

Your SUSE Team

Part I. Installation and Setup

Chapter 1. Installation with YaST

Abstract

Install your openSUSE® system with YaST, the central tool for installation and configuration of your system. YaST guides you through the installation process and the basic configuration of your system. During the installation and configuration process, YaST analyzes both your current system settings and your hardware components and proposes installation settings based on this analysis. By default, YaST displays an overview of all installation steps on the left hand side of the window and provides online help texts for each step. Click Help to view the help text.

If you are a first-time user of openSUSE, you might want to follow the default YaST proposals in most parts, but you can also adjust the settings as described here to fine-tune your system according to your preferences. Many parts of the basic system configuration, such as user accounts or system language, can also be modified after the installation process.

Choosing the Installation Media

When installing openSUSE, choose from several media available either online or in the retail box:

DVD-retail

One DVD containing the openSUSE distribution for 32bit and 64bit systems. The second medium contains proprietary add-on software.

This installation option does not require any network access for installation, nor do you need to set up external repositories to install the full openSUSE. You can, however, make the contents of the DVD available on an installation server and make them available all across your network.

DVD-download

One DVD5, available via download for 32bit or 64bit systems.

Choose this installation option if you want a fully-fledged openSUSE system. Beyond the downloading of the DVD ISO, there is no network connection required to make use of this installation option. Once the medium has been fully downloaded and the physical medium created, you can go ahead with the installation. You can also make the contents of the DVDs available on an installation server and make them available all across your network.

KDE4/GNOME LiveCD

The LiveCD versions, available via download, include the KDE4 or GNOME desktops together with the most popular applications for 32-bit or 64-bit systems.

Choose this medium option for a first look at openSUSE. The LiveCD version runs on your computer using RAM without touching your hard drive and no installation is needed. However, you can also install openSUSE from the running live system. There is no network connection required beyond the mere downloading of the medium.

Booting the LiveCD from an USB Stick

Live CD iso images can also be used as boot images for USB sticks. Create a bootable USB stick by using the command-line program dd with the following syntax:

dd if=ISO_IMAGE of=USB_STICK_DEVICE bs=4M

dd is available on Linux and MacOS by default. A Microsoft Windows* version can be downloaded from http://www.chrysocome.net/dd.

Warning: Using this dd command will erase all data on the USB device!

Mini CD

The Mini CD contains the minimal Linux system needed to run the installation. The installation system itself and the installation data are loaded from a network source. To install from a network providing SLP, please start the installation as described in Section “Installing from a Network Server Using SLP”. To install from a HTTP, FTP, NFS, or SMB server, follow the instructions in Section “Installing from a Network Source without SLP”.

Add-On CDs—Installing Additional Software

Although add-on CDs (extensions or third-party products) cannot be used as stand-alone installation media, they can be embedded as additional software sources during the installation. Currently CDs with additional languages are available as add-on CDs for openSUSE.

Choosing the Installation Method

After having selected the installation medium, determine the suitable installation method and boot option that best matches your needs:

Installing from the openSUSE Media

Choose this option if you want to perform a stand-alone installation and do not want to rely on a network to provide the installation data or the boot infrastructure. The installation proceeds exactly as outlined in Section “The Installation Workflow”.

Installing from the LiveCD

In order to install from a LiveCD, boot the live system from CD. In the running system, launch the installation routine by clicking on the Install icon on the desktop. Phase one of the installation will be carried out in a window on the desktop. It is not possible to update or repair an existing system with a LiveCD, you can only perform a new installation (with automatic configuration).

Installing from a Network Server

Choose this option if you have an installation server available in your network or want to use an external server as the source of your installation data. This setup can be configured to boot from physical media (Floppy, CD/DVD, or hard disk) or configured to boot via network using PXE/BOOTP. Refer to Section “Installing from a Network Server Using SLP”, Section “Installing from a Network Source without SLP”, or “Remote Installation” (↑Reference) for details.

Installing with openSUSE 11.2 Installer from Windows

Choose this installation option if you prefer a smooth transition from using Windows to using Linux. openSUSE 11.2 Installer allows you to boot into the openSUSE installation right from a running Windows by modifying the Windows boot loader. This installation option is only available from the DVD media. Refer to Section “Installing with the openSUSE 11.2 Installer from Windows” for details.

openSUSE supports several different boot options from which you can choose, depending on the hardware available and on the installation scenario you prefer. Booting from the openSUSE media or using openSUSE 11.2 Installer are the most straightforward options, but special requirements might call for special setups:

Table 1.1. Boot Options

Boot Option

Description

DVD

This is the easiest boot option. This option can be used if the system has a local DVD-ROM drive that is supported by Linux.

openSUSE 11.2 Installer

openSUSE 11.2 Installer is installed under Microsoft Windows and makes it possible to boot directly into the installation

PXE or BOOTP

Booting over the network must be supported by the system's BIOS or firmware, and a boot server must be available in the network. This task can also be handled by another openSUSE system. See http://en.opensuse.org/SuSE_install_with_PXE_boot for more information.Refer to “Remote Installation” (↑Reference) for more information.

Hard Disk

openSUSE installation can also be booted from the hard disk. To do this, copy the kernel (linux) and the installation system (initrd) from the directory /boot/architecture/ on the installation media to the hard disk and add an appropriate entry to the existing boot loader of a previous openSUSE installation.

Booting from DVD on UEFI machines

DVD1 can be used as a boot medium for machines equipped with UEFI (Unified Extensible Firmware Interface). Refer to your vendor's documentation for specific information. If booting fails, try to enable CSM (Compatibility Support Module) in your firmware.

Installing from a Network Server Using SLP

If your network setup supports OpenSLP and your network installation source has been configured to announce itself via SLP (described in “Setting Up the Server Holding the Installation Sources” (Chapter “Remote Installation”, ↑Reference)), boot the system, press F4 in the boot screen and select SLP from the menu.

The installation program configures the network connection with DHCP and retrieves the location of the network installation source from the OpenSLP server. If the automatic DHCP network configuration fails, you are prompted to enter the appropriate parameters manually. The installation then proceeds as described below with the exception of the network configuration step that is needed prior to adding additional repositories. This step is not needed as the network is already configured and active at this point.

Installing from a Network Source without SLP

If your network setup does not support OpenSLP for the retrieval of network installation sources, boot the system and press F4 in the boot screen to select the desired network protocol (NFS, HTTP, FTP, or SMB/CIFS). Provide the server's address and the path to the installation media.

The installation program automatically configures the network connection with DHCP. If this configuration fails, you are prompted to enter the appropriate parameters manually. The installation retrieves the installation data from the source specified. The installation then proceeds as described below with the exception of the network configuration step needed prior to adding additional repositories. This step is not needed as the network is already configured and active at this point.

Installing with the openSUSE 11.2 Installer from Windows

openSUSE 11.2 Installer is a Microsoft Windows application that prepares your computer to directly boot into the openSUSE installation without having to adjust BIOS settings. It is only available on DVD media. To use the installer, insert the openSUSE media under Windows. The openSUSE 11.2 Installer setup automatically starts (if not, run openSUSE11_2_LOCAL.exe from the DVD). Choose a language for the installation and follow the instructions on the screen. The language you choose here is also preconfigured to be used for the openSUSE installation.

On the next reboot, the Microsoft Windows boot loader launches. Choose openSUSE 11.2 Installer to start the openSUSE installation. In order to proceed with the installation, you will be prompted to insert the installation media. The installation proceeds as described below. When Microsoft Windows is booted again, openSUSE 11.2 Installer is automatically uninstalled.

Installing openSUSE alongside Microsoft Windows

openSUSE can easily be installed alongside Microsoft Windows. Carry out the installation as described below—an existing Windows installation will automatically be detected and a dual boot option will be installed. If Windows covers the whole installation disk, the installation routine will make a proposal to shrink an existing Windows partition in order to make room for the openSUSE. Please read Section “Resizing a Windows Partition” prior to the installation for detailed information.

The Installation Workflow

The openSUSE installation is split into three main parts: preparation, installation, and configuration. During the preparation phase you configure some basic parameters such as language, time, desktop type, users, passwords, hard disk setup and installation scope. In the non-interactive installation phase the software is installed and the system is prepared for the first boot. Upon finishing the installation the machine reboots into the newly installed system and starts the final system configuration. You can choose whether to do a fully automatic or a manual configuration. In this stage, network and Internet access, as well as hardware components such as printers, are set up.

System Start-Up for Installation

You can install openSUSE from local installation sources, such as the openSUSE CDs or DVD, or from network source of an FTP, HTTP, NFS, or SMB server. Any of these approaches requires physical access to the system to install as well as user interaction during the installation. The installation procedure is basically the same regardless of the installation source. Any exceptions are sufficiently highlighted in the following workflow description.

The Boot Screen

The boot screen displays a number of options for the installation procedure. Boot from Hard Disk boots the installed system and is selected by default, because the CD is often left in the drive. Select one of the other options with the arrow keys and press Enter to boot it. The relevant options are:

Installation

The normal installation mode. All modern hardware functions are enabled. In case the installation fails, see F5Kernel for boot options that disable potentially problematic functions.

Repair Installed System

Boots into the graphical repair system. More information on repairing an installed system is available in Section “Recovering a Corrupted System”. This option is not available on LiveCDs.

Rescue System

Starts a minimal Linux system without a graphical user interface. For more information, see Section “Using the Rescue System”. This option is not available on LiveCDs.

Check Installation Media

This option is only available when you install from media created from downloaded ISOs. In this case it is recommended to check the integrity of the installation medium. This option starts the installation system before automatically checking the media. In case the check was successful, the normal installation routine starts. If a corrupt media is detected, the installation routine aborts.

Firmware Test

Starts a BIOS checker that validates ACPI and other parts of your BIOS. This option is not available on the LiveCDs.

Memory Test

Tests your system RAM using repeated read and write cycles. Terminate the test by rebooting. For more information, see Section “Fails to Boot”. This option is not available on the LiveCDs.

Figure 1.1. The Boot Screen

Use the function keys indicated in the bar at the bottom of the screen to change the language, screen resolution, installation source or to add an additional driver from your hardware vendor:

F1Help

Get context-sensitive help for the active element of the boot screen. Use the arrow keys to navigate, Enter to follow a link, and Esc to leave the help screen.

F2Language

Select the display language and a corresponding keyboard layout for the installation. The default language is English (US).

F3Video Mode

Select various graphical display modes for the installation. Select Text Mode if the graphical installation causes problems.

F4Source

Normally, the installation is performed from the inserted installation medium. Here, select other sources, like FTP or NFS servers. If the installation is deployed on a network with an SLP server, select an installation source available on the server with this option. Find information about SLP in “SLP Services in the Network” (↑Reference).

F5Kernel

If you encounter problems with the regular installation, this menu offers to disable a few potentially problematic functions. If your hardware does not support ACPI (advanced configuration and power interface) select No ACPI to install without ACPI support. No local APIC disables support for APIC (Advanced Programmable Interrupt Controllers) which may cause problems with some hardware. Safe Settings boots the system with the DMA mode (for CD/DVD-ROM drives) and power management functions disabled.

If you are not sure, try the following options first: Installation—ACPI Disabled or Installation—Safe Settings. Experts can also use the command line (Boot Options) to enter or change kernel parameters.

F6Driver

Press this key to notify the system that you have an optional driver update for openSUSE. With File or URL, load drivers directly before the installation starts. If you select Yes, you are prompted to insert the update disk at the appropriate point in the installation process.

F7Arch

If you install from an installation medium supporting 32bit and 64bit architectures and have a processor with 64-bit support, select whether to install a 64-bit or 32-bit system. By default, a 64-bit system is installed on a computer with 64-bit support. To install a 32-bit system, press F7 then select 32bit.

Using IPv6 during the Installation

By default you can only assign IPv4 network addresses to your machine. To enable IPv6 during installation, enter one of the following parameters at the bootprompt: ipv6=1 (accept IPv4 and IPv6) or ipv6only=1 (accept IPv6 only).

After starting the installation, openSUSE loads and configures a minimal Linux system to run the installation procedure. To view the boot messages and copyright notices during this process, press Esc. On completion of this process, the YaST installation program starts and displays the graphical installer.

Installation without a Mouse

If the installer does not detect your mouse correctly, use Tab for navigation, arrow keys to scroll, and Enter to confirm a selection. Various buttons or selection fields contain a letter with an underscore. Use Alt-Letter to select a button or a selection directly instead of navigating there with the Tab button.

Welcome

Start the installation of openSUSE by choosing your language. Changing the language will automatically preselect a corresponding keyboard layout. Override this proposal by selecting a different keyboard layout from the drop-down menu. The language selected here is also used to assume a time zone for the system clock. This setting—along with the selection of secondary languages to install on your system—can be modified later in the Installation Summary, described in Section “Installation Settings”. For information about language settings in the installed system, see “Changing Language and Country Settings with YaST” (↑Reference).

Read the license agreement that is displayed beneath the language and keyboard selection thoroughly. Use License Translations... to access translations. If you agree to the terms, click Next to proceed with the installation. If you do not agree to the license agreement click Abort to terminate the installation.

Figure 1.2. Welcome

Installation Mode

After a system analysis (where YaST probes for storage devices and tries to find other installed systems on your machine) the available installation modes are displayed. This step is skipped when installing from a LiveCD, since this medium only supports a new installation with automatic configuration.

New installation

Select this option to start a new installation from scratch.

Update

Select this option to update an existing installation to a newer version. For more information about system updates, see “Upgrading the System and System Changes” (↑Reference).

Repair Installed System

Choose this option to repair a damaged system that is already installed. More information is available in Section “Recovering a Corrupted System”.

Figure 1.3. Installation Mode

By default, the automatic configuration is used when performing a new installation. In this mode the system automatically configures your hardware and the network, so the installation is performed with minimal user interaction. If necessary, you can change every configuration that is set up later in the installed system using YaST. In repair mode the automatic configuration attempts to fix errors automatically. Uncheck Use Automatic Configuration if you prefer a manual configuration during the installation or to start the system's repair-process in expert mode.

Check Include Add-On Products from Separate Mediato include add-on products during the installation. An add-on product can include extensions, third-party products or additional software for your system such as support for additional languages.

Click Next to proceed. If you selected to include an add-on product, proceed with Section “Add-On Products”, otherwise skip the next section and advance to Section “Clock and Time Zone”.

Add-On Products

Add-on products can be installed either from a local source (CD, DVD, or directory) or from a network source (HTTP, FTP, NFS, CIFS,...). When installing from a network source, you need to configure the network first (unless you are performing a network installation as well). Choose Yes, Run the Network Setup and proceed as described in Section “Network Setup”. If the add-on product is available locally, select No, Skip the Network Setup.

Click Next and specify the product source. Source types available are CD, DVD, Hard Disk, USB Mass Storage, a Local Directory or a Local ISO Image (if no network was configured). If the add-on product is available on removable media, the system automatically mounts the media and reads its contents. If the add-on product is available on hard disk, choose Hard Disk to install from an unmounted hard drive, or Local Directory/Local ISO Image to install from the local file system. Add-on products may be delivered as a repository or as a set of rpm files. In the latter case, check Plain RPM Directory. Whenever a network is available, you can choose from additional remote sources such as HTTP, SLP, FTP, etc. It is also possible to specify a URL directly.

Check Download Repository Description Files to download the files describing the repository now. If unchecked, they will be downloaded once the installation starts. Proceed with Next and insert a CD or DVD if required. Depending on the product's content it may be necessary to accept additional license agreements.

It is also possible to configure add-on products later. Using add-on products on the installed system is described in “Installing Add-On Products” (↑Reference).

Network Setup

When invoking the network setup, YaST scans for available network cards. If more than one network card is found, you must choose the card to configure from the list.

If an ethernet network adapter is not already connected, a warning will open. Make sure the network cable is plugged in and choose Yes, Use It. If your network is equipped with a DHCP server, choose Automatic Address Setup (via DHCP). To manually set up the network choose Static Address Setup and specify IP Address, Netmask, Default Gateway IP, and the DNS Server IP.

Some networks require the use of a proxy server to access the Internet. Tick the check box Use Proxy for Accessing the Internet and enter the appropriate specifications. Click Accept to perform the network setup. The installation procedure will continue with the add-on products or repositories setup as described in Section “Add-On Products”.

Clock and Time Zone

In this dialog, select your region and time zone. Both are preselected according to the selected installation language. To change the preselected values, either use the map or the drop down lists for Region and Time Zone. When using the map, point the cursor at the rough direction of your region and left-click to zoom. Now choose your country or region by left-clicking. Right-click to return to the world map.

Figure 1.4. Clock and Time Zone

To set up the clock, choose whether the Hardware Clock is Set to UTC. If you run another operating system on your machine, such as Microsoft Windows, it is likely your system uses local time instead. If you only run Linux on your machine, set the hardware clock to UTC and have the switch from standard time to daylight saving time performed automatically.

If a network is already configured, the time is automatically synced via Network Time Protocol (NTP) with the openSUSE time server (opensuse.pool.ntp.org). Click Change to either alter the NTP settings or to Manually set the time. See “Time Synchronization with NTP” (↑Reference) for more information on configuring the NTP service. When finished, click Accept to continue the installation.

Desktop Selection

In openSUSE, you can choose from various desktops (this dialog is not available when installing from the LiveCDs). The major ones, KDE and GNOME, are powerful graphical desktop environments similar to Windows. Find information about these in the “KDE User Guide” (↑KDE User Guide) and the “GNOME User Guide” (↑GNOME User Guide). This step is skipped when installing from a LiveCD, since this medium is already preconfigured to either use KDE or GNOME.

If you prefer a different desktop, choose Other for more options. The XFCE Desktop is a fast and lightweight desktop environment suitable for modest hardware. With Minimal X Window, install a graphical window manager that allows for running stand-alone X applications and console windows but does not provide the usual integrated desktop functionality. In Minimal Server Selection (Text Mode), only console terminals are available.

Figure 1.5. Desktop Selection

Suggested Partitioning

Define a partition setup for openSUSE in this step. In most cases a reasonable scheme that can be accepted without change is proposed. If a hard disk containing only Windows FAT or NTFS partitions is selected as the installation target, YaST proposes to shrink one of these partitions. Accept the proposal with Next and proceed with the installation. Experienced users can also customize the proposal or apply their own partitioning scheme.

The proposed partitioning is Partition Based by default. If you prefer an LVM Based setup, check the respective option to automatically convert the proposal. Refer to “LVM Configuration” (Chapter “Advanced Disk Setup”, ↑Reference) for more information about the Logical Volume Manager (LVM).

To make small changes in the proposal (like changing the file system type or encrypt partitions), select Edit Partition Setup and adjust the settings. See “Using the YaST Partitioner” (Chapter “Advanced Disk Setup”, ↑Reference) for instructions.

Figure 1.6. Suggested Partitioning

Partitioning a Specific Disk

If your machine contains more than one hard disk and you want to restrict the partitioning proposal to just one disk, choose Create Partition Setup and then select a specific disk from the list. If the chosen hard disk does not contain any partitions yet, the whole hard disk will be used for the proposal. Otherwise, you can choose which existing partition(s) to utilize. To add a separate partition for you personal data check Propose a Separate Home Partition. Instead of the default partition-based proposal, it is possible to Create an LVM Based Proposal. Choose two times Next to proceed to the next step.

Resizing a Windows Partition

If the selected hard disk only contains a Windows FAT or NTFS partition, YaST offers to delete or shrink this partition. If you select Delete Windows Completely, the Windows partition is marked for deletion and the space is used for the installation of openSUSE.

Deleting Windows

If you delete Windows, all data will be lost beyond recovery as soon as the formatting starts.

To Shrink the Windows Partition, you need to interrupt the installation and boot Windows to prepare the partition before shrinking it. For all Windows file systems, proceed as follows:

Deactivate a Virtual Memory file, if there is one.

Run scandisk.

Run defrag.

After these preparations, restart the openSUSE installation. When you turn to the partitioning setup, proceed as before and select Shrink Windows Partition. After a quick check of the partition, the dialog for resizing the Windows partition opens.

The bar graph shows how much disk space is currently occupied by Windows and how much space is still available. To change the proposed settings use the slider or the input fields to adjust the partition sizing.

Figure 1.7. Resizing the Windows Partition

If you leave this dialog by selecting Next, the settings are stored and you are returned to the previous dialog. The actual resizing takes place later, before the hard disk is formatted.

Writing on NTFS Partitions

By default, the Windows versions NT, 2000, and XP use the NTFS file system. openSUSE includes read and write access to the NTFS file system, but this feature has a few limitations. This means that you cannot read or write encrypted or compressed files. Furthermore, the Windows file permissions are not honored at the moment. See http://en.opensuse.org/NTFS for more information.

Custom Partitioning

Set up your own partitioning scheme by selecting Create Partition Setup and then Custom Partitioning. The Expert Partitioner opens, displaying the current partition setup. Expand the Hard Disks in the System View pane by clicking on the +, then click on one of the listed hard disks. Now you can Add, Edit, Resize, or Delete partitions. For more information about custom partitioning and configuring advanced features, refer to “Using the YaST Partitioner” (Chapter “Advanced Disk Setup”, ↑Reference)

Create New User

Create a local user in this step. Administrating local users is a suitable option for stand-alone workstations. If setting up a client on a network with centralized user authentication, click Change and proceed with the Section “Expert Settings”.

After entering the first name and last name, either accept the proposal or specify a new Username that will be used to log in. Finally, enter a password for the user. Reenter it for confirmation (to ensure that you did not type something else by mistake). To provide effective security, a password should be between five and eight characters long. The maximum length for a password is 72 characters. However, if no special security modules are loaded, only the first eight characters are used to discern the password. Passwords are case-sensitive. Special characters (7-bit ASCII) and the digits 0 to 9 are allowed. Other special characters like umlauts or accented characters are not allowed.

Passwords you enter are checked for weakness. When entering a password that is easy to guess (such as a dictionary word or a name) you will see a warning. It is a good security practice to use strong passwords.

Username and Password

Remember both your username and the password because they are needed each time you log in to the system.

Figure 1.8. Create New User

Three additional options are available:

Use this Password for the System Administrator

If checked, the same password you have entered for the user will be used for the system administrator root. This option is suitable for stand-alone workstations or machines in a home network that are administrated by a single user. When not checked, you are prompted for a system administrator password in the next step of the installation workflow (see Section “Password for the System Administrator root”).

Receive System Mail

Checking this box sends messages created by the system services to the user. These are usually only sent to root, the system administrator. This option is useful for the most frequently used account, because it is highly recommended to log in as root only in special cases.

The mails sent by system services are stored in the local mailbox /var/spool/mail/username, where username is the login name of the selected user. To read e-mails after installation, you can use any e-mail client, for example KMail or Evolution.

Automatic Login

This option automatically logs the current user in to the system when it starts. This is mainly useful if the computer is operated by only one user.

Automatic Login

With the automatic login enabled, the system boots straight into your desktop with no authentication at all. If you store sensitive data on your system, you should not enable this option as long as the computer can also be accessed by others.

Expert Settings

Click Change in the Create User dialog to set up network authentication or, if present, import users from a previous installation. Also change the password encryption type in this dialog.

You can also add additional user accounts or change the user authentication method in the installed system. For detailed information about user management, see “Managing Users with YaST” (↑Reference).

The default authentication method is Local (/etc/passwd). If a former version of openSUSE or another system using /etc/passwd is detected, you may import local users. To do so, check Read User Data from a Previous Installation and click Choose. In the next dialog, select the users to import and finish with OK.

Access to the following network authentication services can be configured:

LDAP

Users are administered centrally on an LDAP server for all systems in the network. More information is available in “Configuring an LDAP Client with YaST” (Chapter “LDAP—A Directory Service”, ↑Security Guide).

NIS

Users are administered centrally on an NIS server for all systems in the network. See “Configuring NIS Clients” (Chapter “Using NIS”, ↑Security Guide) for more information.

Windows Domain

SMB authentication is often used in mixed Linux and Windows networks. and “Configuring a Linux Client for Active Directory” (Chapter “Active Directory Support”, ↑Security Guide).

Along with user administration via LDAP and NIS, you can use Kerberos authentication. To use it, select Set Up Kerberos Authentication. For more information on Kerberos, refer to “Network Authentication with Kerberos” (↑Security Guide).

Password for the System Administrator root

If you have not chosen Use this Password for the System Administrator in the previous step, you will be prompted to enter a Password for the System Administrator root. Otherwise this configuration step is skipped.

root is the name of the superuser, or the administrator of the system. Unlike regular users (who may or may not have permission to access certain areas or execute certain commands on the system), root has unlimited access to change the system configuration, install programs, and set up new hardware. If users forget their passwords or have other problems with the system, root can help. The root account should only be used for system administration, maintenance, and repair. Logging in as root for daily work is rather risky: a single mistake could lead to irretrievable loss of system files.

For verification purposes, the password for root must be entered twice. Do not forget the root password. Once entered, this password cannot be retrieved.

The root can be changed any time later in the installed system. To do so run YaST and start Security and Users+User and Group Management.

The root User

The user root has all the permissions needed to make changes to the system. To carry out such tasks, the root password is required. You cannot carry out any administrative tasks without this password.

Installation Settings

On the last step before the real installation takes place, you can alter installation settings suggested by YaST and also review the settings you made so far. To modify the suggestions, either click Change and select the category to change or click on one of the headlines. After configuring any of the items presented in these dialogs, you are always returned to the Installation Settings window, which is updated accordingly.

Figure 1.9. Installation Settings

Restoring the Default Settings

You can reset all changes to the defaults by clicking Change+Reset to Defaults. YaST then shows the original proposal again.

Partitioning

Review and, if necessary, change the partition setup you configured earlier. Modifying the partition setup opens the Expert Partitioner described in “Using the YaST Partitioner” (Chapter “Advanced Disk Setup”, ↑Reference).

Booting

YaST proposes a boot configuration for your system. Other operating systems found on your computer, such as Microsoft Windows or other Linux installations, will automatically be detected and added to the boot loader. However, openSUSE will be booted by default. Normally, you can leave these settings unchanged. If you need a custom setup, modify the proposal for your system. For information, see “Configuring the Boot Loader with YaST” (Chapter “The Boot Loader GRUB”, ↑Reference). The boot method should only be changed by experienced users.

Software

openSUSE contains a number of software patterns for various application purposes. Click Software to start the pattern selection and modify the installation scope according to your needs. Select your pattern from the list and see a pattern description in the right part of the window. Each pattern contains a number of software packages needed for specific functions (e.g. Multimedia or Office software). For a more detailed selection based on software packages to install, select Details to switch to the YaST Software Manager.

You can also install additional software packages or remove software packages from your system at any later time with the YaST Software Manager. For more information, refer to “Installing or Removing Software” (↑Reference).

Figure 1.10. Software Selection and System Tasks

Locale Settings

Here you can change the system Language and Keyboard Layout you defined in the first step of the installation. It is also possible to add additional languages. To adjust the system language settings, select Language. Select a language from the list. The primary language is used as the system language. You can also adapt keyboard layout and time zone to the primary language if the current settings differ. Details lets you modify language settings for the user root, set UTF-8 support, or further specify the language (e.g. select South African English).

Choose secondary languages to be able to switch to one of these languages at any time without having to install additional packages. For more information, see “Changing Language and Country Settings with YaST” (↑Reference).

To change the keyboard layout, select Keyboard Layout. By default, the layout corresponds to the language chosen for installation. Select the keyboard layout from the list. Use the Test field at the bottom of the dialog to check if you can enter special characters of that layout correctly. Options to fine-tune various settings are available under Expert Mode. When finished, click Accept to return to the installation summary.

Time Zone

Adjust time zone and clock settings here. Provided a network is configured, you can also set up a Network Time Protocol (NTP) client that automatically synchronizes your computer with a time server. This is the same configuration as shown earlier in Section “Clock and Time Zone”.

User Settings

Change the current User settings and change or set the Root Password here. This is the same configuration as shown earlier in Section “Create New User”.

Default Runlevel

openSUSE can boot to different runlevels. Normally, there should be no need to change anything here, but if necessary set the default runlevel with this dialog. Refer to “Configuring System Services (Runlevel) with YaST” (Chapter “Booting and Configuring a Linux System”, ↑Reference) for more information about runlevel configuration.

System

This dialog presents all the hardware information YaST could obtain about your computer. When called, the hardware detection routine is started. Depending on your system, this may take some time. Select any item in the list and click Details to see detailed information about the selected item. Use Save to File to save a detailed list to either the local file system or a floppy. Advanced users can also change the PCI ID setup and Kernel Settings by choosing Kernel Settings.

Installation from Images

Installing from images considerably speeds up the installation. Images contain compressed snapshots of installed systems matching your selection of patterns. Packages not contained in the images deployed will be installed conventionally.

Unless your custom software selection does not match any of the available images, this feature is Enabled by default. In case of problems, Disable it for debugging purposes.

Firewall

By default SuSEfirewall2 is enabled on all configured network interfaces. To globally disable the firewall for this computer, click on Disable. If the firewall is enabled, you may Open the SSH port in order to allow remote connections via secure shell.

Performing the Installation

After configuring all installation settings, click Install in the Installation Settings window to start the installation. Some software may require a license confirmation. If your software selection includes such software, license confirmation dialogs are displayed. Click Accept to install the software package. When not agreeing to the license, click I Disagree and the software package will not be installed. In the dialog that follows, confirm with Install again.

The installation usually takes between 15 and 30 minutes, depending on the system performance and the selected software scope. After having prepared the hard disk, having saved and restored the user settings, and having deployed the installation images, the software installation starts. During this procedure a slide show introduces the features of openSUSE. Choose Details to switch to the installation log or Release Notes to read important up-to-date information which was not available when the manuals were printed.

Release Notes

The release notes that can be viewed during this step are the ones printed on the installation CD. A newer version may be available on the Internet. When manually configuring network and Internet access as described in Section “Network Configuration”, the latest version of the release notes will be displayed at the end of the installation.

After the software installation has completed, the basic system is set up. Among others, “Finishing the Basic Installation” includes installing the boot manager, initializing fonts and more. Next YaST boots into the new Linux system to start the system configuration.

Existing SSH Host Keys

If you install openSUSE on a machine with existing Linux installations, the installation routine automatically imports the SSH host key with the most recent access time from an existing installation.

Configuration of the Installed System

The system is now installed, but not yet configured for use. The hardware, the network and other services are not yet set up. If you follow the default installation path, the system will be automatically configured. If you have deselected the Automatic Configuration, the manual system configuration starts.

Automatic System Configuration

Having rebooted, the system starts the Automatic Configuration. This routine attempts to configure your network and Internet access and sets up your hardware. This process does not need any interaction. You can change the settings made by Automatic Configuration at any time on the installed system with YaST. Continue with Section “Graphical Login”.

Manual System Configuration

Having rebooted, the system starts the manual configuration. If the configuration fails at one of the steps of this stage, it restarts and continues from the last successful step.

Hostname and Domain Name

The hostname is the computer's name in the network. The domain name is the name of the network. A hostname and domain are proposed by default. If your system is part of a network, the hostname has to be unique in this network, whereas the domain name has to be common to all hosts on the network.

In many networks, the system receives its name over DHCP. In this case it is not necessary to modify the proposed hostname and domain name. Select Change Hostname via DHCP instead. To be able to access your system using this hostname, even when it is not connected to the network, select Write Hostname to /etc/hosts. If you often change networks without restarting the desktop environment (e.g. when switching between different WLANs), do not enable this option, because the desktop system may get confused when the hostname in /etc/hosts changes.

To change hostname settings at any time after installation, use YaST Network Devices+Network Settings. For more information, see “Configuring the Network Card with YaST” (Chapter “Basic Networking”, ↑Reference).

Network Configuration

If you are installing openSUSE on a laptop computer, Interfaces Controlled by NetworkManager is enabled. NetworkManager is a tool that enables automatic connection with minimal user intervention. It is ideal for WLAN and mobile computing. If you want to use the traditional method without NetworkManager, click Disable NetworkManager. Find detailed information about NetworkManager in Chapter 5, Using NetworkManager. If you are installing openSUSE on any other type of machine, the traditional method without NetworkManager is selected by default. This configuration step also lets you configure the network devices of your system and make security settings, for example, for a firewall or proxy.

The network can also be configured after the system installation has been completed. If you skip it now, your system is left offline unable to retrieve any available updates. To configure your network connection later, select Skip Configuration and click Next.

The following network settings can be configured in this step:

General Network Settings

Enable or disable the use of NetworkManager as described above. Also change the IPv6 support here. By default the IPv6 support is enabled. To disable it, click Disable IPv6. For more information about IPv6, see “IPv6—The Next Generation Internet” (Chapter “Basic Networking”, ↑Reference).

Firewall

By default SuSEfirewall2 is enabled on all configured network interfaces. To globally disable the firewall for this computer, click on Disable. If the firewall is enabled, you may Open the SSH port in order to allow remote connections via secure shell. To open the detailed firewall configuration dialog, click on Firewall. See “Configuring the Firewall with YaST” (Chapter “Masquerading and Firewalls”, ↑Security Guide) for detailed information.

Network Interfaces

All network cards detected by YaST are listed here. If you have already set up a network connection during the installation (as described in Section “Network Setup”) the card used for this connection is listed as Configured. A click on Network Interfaces opens the Network Settings dialog, where you can change existing configurations, set up networks cards not configured yet, or add and configure additional cards. See Section “Internet Connection Via Network” for checklists of configuration requirements for the various connection types and “Configuring the Network Card with YaST” (Chapter “Basic Networking”, ↑Reference) for configuration details.

DSL Connections, ISDN Adapters, and Modems

If your computer is equipped with an internal DSL modem, an internal ADSL Fritz Card, an ISDN card or a modem, clicking on the respective headline opens the configuration dialog. Refer to Chapter 4, Accessing the Internet for further information.

VNC Remote Administration

To enable remote administration of your machine via VNC, click VNC Remote Administration. Choose Allow Remote Administration in the following dialog and adjust your firewall settings accordingly.

Proxy

If you have a proxy server controlling the Internet access in your network, configure the proxy URLs and authentication details in this dialog.

Resetting the Network Configuration to the Default Values

Reset the network settings to the original proposed values by clicking Change+Reset to Defaults. This discards any changes made.

Test Internet Connection

After having configured a network connection, you can test it. For this purpose, YaST establishes a connection to the openSUSE server and downloads the latest release notes. Read them at the end of the installation process. A successful test is also a prerequisite for the automatic addition of the default repositories and for updating online.

If you have multiple network interfaces, verify that the desired card is used to connect to the Internet. If not, click Change Device.

To start the test, select Yes, Test Connection to the Internet and click Next. In the following dialog, view the progress of the test and the results. Detailed information about the test process is available via View Logs. If the test fails, click Back to return to the network configuration to correct your entries.

Proceed with Next. If the test was successful, the official software repositories for openSUSE and the update repository will be configured. Downloading the repository data for the first time may take some time.

If you do not want to test the connection at this point, select No, Skip This Test then Next. This also skips downloading the release notes, and updating online. These steps can be performed any time after the system has been initially configured.

Online Update

If an Internet connection has been established, and updates are available, select whether to perform a YaST online update. If there are any patched packages available on the servers, download and install them now to fix known bugs or security issues. For detailed instructions see “YaST Online Update” (↑Reference). Directives on how to perform an online update in the installed system are available at Section “Keeping the System Up-to-date” or “YaST Online Update” (↑Reference). This step is skipped if no updates are available or no Internet connection has been established. Patches fixing security issues and recommended patches applying to your installation are automatically preselected. Click Accept to install them and then Next to proceed with the system configuration.

Downloading Software Updates

The download of updates might take quite some time, depending on the bandwidth of the Internet connection and the size of the update files. In case the patch system itself is updated, the online update will restart and download more patches after the restart. If the kernel was updated, the system will reboot before completing the configuration.

New Local User

If no local user was created in step one, you can create one in this dialog. To create more users, manage groups, modify defaults for new users and set up network authentication, launch User Management. Refer to “Managing Users with YaST” (↑Reference) for more information about user management. To skip this step, click Next without entering any data.

Release Notes

After completing the user authentication setup, YaST displays the release notes. Reading them is recommended, because they contain important up-to-date information which was not available when the manuals were printed. If you successfully tested the Internet connection, read the most recent version of the release notes, as fetched from openSUSE's servers. Use Miscellaneous+Release Notes in YaST or start the SUSE Help Center to view the release notes after installation.

Hardware Configuration

At the end of the installation, YaST opens a dialog for the configuration of a printer, the sound system and TV cards. Click the individual components to start the hardware configuration. For the most part, YaST detects and configures the devices automatically.

You can skip any peripheral devices and configure them later, as described in Chapter 2, Setting Up Hardware Components with YaST. To skip the configuration, select Skip Configuration and click Next.

Resetting Hardware Configuration to the Default Values

You can cancel any changes to the hardware configuration by clicking Change+Reset to Defaults. YaST then shows the original proposal again.

Installation Completed

After a successful installation, YaST shows the Installation Completed dialog. In this dialog, select whether to clone your newly installed system for AutoYaST. To clone your system, select Clone This System for AutoYaST. The profile of the current system is stored in /root/autoyast.xml.

AutoYaST is a system for installing one or more openSUSE systems automatically without user intervention. AutoYaST installations are performed using a control file with installation and configuration data. Finish the installation of openSUSE with Finish in the final dialog.

Graphical Login

openSUSE is now fully installed and configured. Unless you enabled the automatic login function or customized the default runlevel, you should see the graphical login on your screen in which to enter a username and password to log into the system. On single user systems with automatic login enabled, the desktop starts automatically.

For a short introduction to the KDE or GNOME desktop environments, refer to the “GNOME Quick Start” (↑Quick Start Manuals) and the “KDE Quick Start” (↑Quick Start Manuals). Find detailed information about both desktop environments and about the applications to run on KDE or GNOME in the “KDE User Guide” (↑KDE User Guide) and the “GNOME User Guide” (↑GNOME User Guide). These manuals can be accessed via the Help function in both KDE and GNOME.

Chapter 2. Setting Up Hardware Components with YaST

Abstract

YaST allows you to configure hardware items at installation time as well as on an already-installed system. Configure audio hardware, printers or scanner support or learn which hardware components are connected to your computer by using the YaST Hardware Information module.

Graphics card, monitor, mouse and keyboard settings

Graphics card, monitor, mouse and keyboard can be configured with either KDE or GNOME tools. For KDE, see “Configuring Hardware Components” (Chapter “Customizing Your Settings”, ↑KDE User Guide), for GNOME see “Hardware” (Chapter “Customizing Your Settings”, ↑GNOME User Guide).

Hardware Information

Use the YaST hardware information module if you want to know more about your hardware or if you need to find out details like vendor and model of a certain piece of hardware to be able to properly configure it.

Start YaST and click Hardware+Hardware Information. Hardware probing starts immediately and it will take some time until you see the hardware information tree in a separate window.

In the hardware information tree recursively click on the plus icons to expand the information about a specific device.

Click Save to File... to save the output to a file.

Click Close to leave the hardware information overview.

Setting Up Sound Cards

Most sound cards are detected automatically and configured with the appropriate values. In YaST, use Hardware+Sound if you want to add a problematic sound card that could not be configured automatically or change the default settings. It is also possible to set up additional sound cards or switch their order.

Probing for Old Sound Chips

If you know a legacy sound board is installed in your computer and YaST was not able to find a sound board, when probing, let YaST probe for old chips. In the pop-up that appears after having unsuccessfully probed for sound chips, choose which legacy chips to probe and click Yes, probe.

If YaST cannot detect your sound card automatically, proceed as follows:

Click Add to open a dialog in which to select a sound card vendor and model. Refer to your sound card documentation for the required information. Find a reference list of sound cards supported by ALSA with their corresponding sound modules in /usr/share/doc/packages/alsa/cards.txt and at http://www.alsa-project.org/alsa-doc/.

Make your choice and click Next.

In the Sound Card Configuration dialog, choose the configuration level in the first setup screen:

Quick automatic setup

You are not required to go through any of the further configuration steps and no sound test is performed. The sound card is configured automatically.

Normal setup

Adjust the output volume and play a test sound.

Advanced setup with possibility to change options

Customize all settings manually.

Click Next to continue.

In Sound Card Volume, test your sound configuration and make adjustments to the volume. You should start at about ten percent to avoid damage to your hearing or the speakers. A test sound should be audible when you click Test. If you cannot hear anything, increase the volume. Press Next+Finish to complete the sound configuration.

If you want to change the configuration of a sound card, go to the Sound Configuration dialog, select a displayed Card Model and click Edit. Use Delete to remove a sound card altogether.

Click the Other popup menu to customize one of the following options manually:

Volume...

Use this dialog for setting the volume.

Play Test Sound

Use this option for testing the sound system.

Start Sequencer

Check this option for playback of MIDI files.

Set as the Primary Card

Click Set as the Primary Card if you want to adjust the order of your sound cards. The sound device with index 0 is the default device and thus used by the system and the applications.

PulseAudio Configuration...

Enter this dialog if you want to disable the PulseAudio sound system in case you want to use something else system-wide.

If you use a Creative Soundblaster Live, Audigy or AWE sound card, copy SF2 SoundFonts™ to your hard disk from the original Soundblaster driver CD-ROM with Install SoundFonts. The SoundFonts are saved in the directory /usr/share/sfbank/creative/.

The volume and configuration of all sound cards installed are saved when you click Finish. The mixer settings are saved to the file /etc/asound.conf and the ALSA configuration data is appended to the end of the files /etc/modprobe.d/sound and /etc/sysconfig/hardware.

Setting Up a Printer

YaST can be used to configure a local printer that is directly connected to your machine (normally with USB or parallel port) and to set up printing with network printers. It is also possible to share printers over the network and to add 3rd party “drivers” (PostScript Printer Description (PPD) files). Further information about printing (general information, technical details, and troubleshooting) is available in “Printer Operation” (↑Reference).

In YaST, click Hardware+Printer to start the printer module. By default it opens in the Printer Configurations view, displaying a list of all printers that are available and configured. This is especially useful when having access to a lot of printers via the network. From here you can also Print a Test Page on the selected printer and configure local printers.

Configuring Local Printers

If an unconfigured local printer is detected, YaST starts automatically to configure it. YaST can configure the printer automatically if the parallel or USB port can be set up automatically and the connected printer can be detected. The printer model must also be listed in the database used during the automatic hardware detection.

If the printer model is unknown or cannot be automatically detected, configure it manually. There are two possible reasons why a printer is not automatically detected:

The printer does not identify itself correctly. This may apply to very old devices. Try to configure your printer as described in Section “Configuring Manually”.

If the manual configuration does not work, communication between printer and computer is not possible. Check the cable and the plugs to make sure that the printer is properly connected. If this is the case, the problem may not be printer-related, but rather a USB or parallel port–related problem.

Configuring Manually

Configuring a printer is basically a three-step process. First specify the connection type, then choose a driver and name the printing queue for this setup.

For many printer models, several drivers are available. When configuring the printer, YaST defaults to the one marked recommended as a general rule. Normally it is necessary to change the driver—the recommended one should produce the best results. However, if you want a color printer to print only in black and white, it is most convenient to use a driver that does not support color printing, for example. If you experience performance problems with a PostScript printer when printing graphics, it may help to switch from a PostScript driver to a PCL driver (provided your printer understands PCL).

If no driver for your printer is listed, you can try to select a generic driver with an appropriate standard language from the list. Refer to your printer's documentation to find out which language (the set of commands controlling the printer) your printer understands. If this does not work, refer to Section “Adding Drivers with YaST” for another possible solution.

A printer is never used directly, but always through a print queue. This ensures that simultaneous jobs can be queued and processed one after the other. Each printer queue is assigned to a specific driver, and a printer can have multiple queues. This makes it possible to set up a second queue on a color printer that prints black and white only, for example. Refer to “The Workflow of the Printing System” (Chapter “Printer Operation”, ↑Reference) for more information about print queues.

Procedure 2.1. Adding a New Local Printer

Start the YaST printer module with Hardware+Printer

Click Add in the Printer Configurations screen

If your printer is already listed under Determine Connection, proceed with the next step. Otherwise, start the Connection Wizard and choose the connection type (for example USB Port for a USB printer).

Enter the vendor name and/or the model name into the input box under Assign Driver and click search.

Choose the driver marked as recommended that best matches your printer. If no suitable drivers is displayed

check your search term

broaden your search by clicking More Drivers

add a driver as described in Section “Adding Drivers with YaST”

Specify the Default paper size

Enter a unique name for the printer queue in the Set Name field.

The printer is now configured with the default settings and ready to use. Click OK to return to the Printer Configurations view. The newly configured printer is now visible in the printers list.

Adding Drivers with YaST

If no suitable driver is available in the Assign Drivers dialog when adding a new printer, no PPD (PostScript Printer Description, commonly referred to as “printer driver”) file for your model is available. For more information about PPD files, refer to “Installing the Software” (Chapter “Printer Operation”, ↑Reference).

Get PPD files directly from your printer vendor or from the driver CD of the printer. For details, see “No Suitable PPD File Available for a PostScript Printer” (Chapter “Printer Operation”, ↑Reference). Conversely, you can also find PPD files at http://www.linuxfoundation.org/en/OpenPrinting/, the “OpenPrinting.org printer database”. When downloading PPD files from OpenPrinting.org, keep in mind that it always shows the latest Linux support status, which is not necessarily met by openSUSE.

Procedure 2.2. Adding a PPD file

Start the YaST printer module with Hardware+Printer

Click Add in the Printer Configurations screen

Click Add Driver in the Assign Driver section

Enter the full path to the PPD file into the input box under Make a Printer Description File Available or choose the file from a dialog box by clicking on Browse

Click OK to return to the Add New Printer Configuration screen.

In order to directly use this PPD file, proceed as described in Procedure 2.1, “Adding a New Local Printer”. Otherwise, click Cancel.

Editing a Local Printer Configuration

By editing an existing configuration for a local printer you can not only change basic settings as connection type and driver, but also adjust the default settings for paper size, resolution, media source, etc. You can change the identifier of the printer by altering the printer descriptions.

Procedure 2.3. Editing a Local Printer

Start the YaST printer module with Hardware+Printer

In the Printer Configurations screen, choose a local printer from the list and click Edit.

Change the connection type or the driver as described in Procedure 2.1, “Adding a New Local Printer”. This should only be necessary in case you have problems with the current configuration.

Make this printer the default by checking Default Printer.

Adjust the default settings by clicking All Options for the Current Driver. To change a setting, expand the list of options by clicking the relative + sign. Change the default by clicking on an option. Apply your changes by clicking OK

Configuring Printing via the Network with YaST

Network printers are not detected automatically. They must be configured manually using the YaST printer module. Depending on your network setup, you can print to a print server (CUPS, LPD, SMB, or IPX) or directly to a network printer (preferably via TCP). Access the configuration view for network printing by choosing Printing via Network from the left pane in the YaST printer module.

Using CUPS

In a Linux environment CUPS is usually used to print via the network. The simplest setup is to only print via a single CUPS server which can directly be accessed by all clients. Printing via more than one CUPS server requires a running local CUPS daemon that communicates with the remote CUPS servers.

Procedure 2.4. Printing via a Single CUPS server

Start the YaST printer module with Hardware+Printer

Launch the Print via Network screen from the left pane.

Check Do All Your Printing Directly via One Remote CUPS Server and specify the name or IP address of the server.

Click Test the Server to make sure you have chosen the correct name/IP address.

Click OK to return to the Printer Configurations screen. All printers available via the CUPS server are now listed.

Procedure 2.5. Printing via multiple CUPS servers

Start the YaST printer module with Hardware+Printer

Launch the Print via Network screen from the left pane.

Check Accept Printer Information from the Following Servers

Specify which servers to use under General Settings. You may accept connections from all networks available, from the local network, or from specific hosts. If you choose the latter option, you need to specify the hostnames or IP addresses, as well.

Confirm by clicking OKand then Yes when asked to start a local CUPS server. After the server has started you will return to the Printer Configurations screen. All printers available are now listed.

Using Print Servers other than CUPS

If your network offers print services via print servers other than CUPS, start the YaST printer module with Hardware+Printer and launch the Print via Network screen from the left pane. Start the Connection Wizard and choose the appropriate Connection type. Ask your network administrator for details on configuring a network printer in your environment.

Sharing Printers Over the Network

Printers managed by a local CUPS daemon can be shared over the network and so turn your machine into a CUPS server. Usually you share a printer by enabling CUPS' so-called “browsing mode”. If browsing is enabled, the local printer queues are made available on the network for listening to remote CUPS daemons. It is also possible to set up a dedicated CUPS server that manages all printing queues and can directly be accessed by remote clients. In this case it is not necessary to enable browsing.

Procedure 2.6. Sharing Printers

Start the YaST printer module with Hardware+Printer

Launch the Share Printers screen from the left pane.

Select Allow Remote Access

Check For Computers Within the Local Network and enable browsing mode by also checking Publish Printers by Default Within the Local Network.

Add the network interface to be used by the CUPS server. If you want to share your printer(s) with all hosts on the network, also check Publish Printers by Default via the Network Interface Below.

In case you like to restrict access to your CUPS server to certain networks or IP addresses, specify these via the two input boxes.

Click OK to restart the CUPS server and return to the Printer Configurations screen.

In case a firewall is used, make sure access via IPP to port 631 is allowed. When using SUSEFirewall2, allow the service CUPS (see “Configuring the Firewall with YaST” (Chapter “Masquerading and Firewalls”, ↑Security Guide) for more information).

Setting Up a Scanner

You can configure a USB or SCSI scanner at any time using YaST. The sane-backends package contains hardware drivers and other essentials needed to use a scanner. Scanners connected to a parallel port must be configured manually. If you own a HP All-In-One device, see Section “Configuring an HP All-In-One Device”, instructions on how to configure a network scanner are available at Section “Scanning over the Network”.

Connect your USB or SCSI scanner to your computer and turn it on. Start YaST and select Hardware+Scanner. YaST builds the scanner database and tries to detect your scanner model automatically. If you scanner is detected correctly, and can be tested with Other+Test. Leave the configuration menu with Finish.

If a USB/SCSI scanner is not properly detected, try Other+Restart Detection first. If that does not help, or if your scanner is connected to a parallel port, configure it manually by clicking Add and choosing a scanner from the list. Use Other+Test to make sure you have chosen the correct driver.

Configuring an HP All-In-One Device

An HP All-In-One device can be configured with YaST even if it is connected to the parallel port or is made available via the network. If you own a USB HP All-In-One device, start configuring as described at the beginning of this chapter. If it is detected properly and the Test succeeds, it is ready to use.

If your USB device is not properly detected, or your HP All-In-One device is connected to the parallel port or the network, run the HP Device Manager with Other+Run hp-setup from the YaST scanner module and follow the on-screen instructions. After having finished the HP Device Manager, the YaST scanner module automatically restarts the auto detection. If your scanner is detected properly, leave with Finish. Otherwise manually choose a scanner from the list by clicking Add.

Sharing a Scanner over the Network

openSUSE allows the sharing of a scanner over the network. To do so, configure your scanner as described in Section “Setting Up a Scanner”. Once the scanner is successfully configured, choose Other+Scanning via Network in the YaST scanner module. Enter the hostnames of the clients (separated by a comma) that should be allowed to use the scanner under Server Settings+Permitted Clients for saned and leave the configuration dialog with OK.

Scanning over the Network

To use a scanner that is shared over the network, run the YaST scanner module with Hardware+Scanner. Open the network scanner configuration menu by Other+Scanning via Network and enter the hostname of the machine the scanner is connected to under Client Settings+Servers Used for the net Metadriver. Leave with OK. The network scanner is now listed in the Scanner Configuration window and is ready to use.

Chapter 3. Installing, Removing and Updating Software

Abstract

Change the software collection of your system using YaST. In YaST's software management tool search for software components you want to add or remove. YaST resolves all the dependencies for you. Keep your system up-to-date by managing software updates with openSUSE Updater.

Installing Software

Software is available via RPM packages. Each package contains the program itself, the configuration files, and additional documentation. You can also install software patterns. If you want the program (package) to be added to the system, proceed as follows (if you have KDE running—for GNOME see below):

Procedure 3.1. Installing Single Software Packages under KDE

Click Software+Software Management to start the YaST package manager.

Enter the name of the software you want to install in the search field (for example, jhead, a tool for manipulating JPEG meta data) and press Enter.

If you cannot find the desired software via the search function, the RPM Groups view may help. The software packages are sorted by functionality in this view. jhead, for example, can be found under Productivity+Graphics.

The packages found are listed in the right pane. Select a package for installation by right clicking it and choosing Install. If this option is not available, the package is either already installed or marked as taboo. The package status is indicated by the symbol in front of the package name—hit Shift+F1 for help.

In order to select more packages, repeat the steps mentioned above. Once you are finished click Accept to start the installation.

Certain packages are dependent on other packages, such as shared libraries. YaST automatically resolves these dependencies. In this case, a list of packages that have automatically been chosen for installation is presented. Accept them by clicking continue.

On the other hand, some packages cannot co-exist with others on the system. In this case a list of packages that have automatically been chosen for deletion is presented. Accept them by clicking continue.

If your choice results in a dependency conflict that cannot be automatically solved, you need to manually solve these conflicts as described in “Checking Software Dependencies” (Chapter “Installing or Removing Software”, ↑Reference).

Once all selected packages are installed, the YaST package manager automatically terminates.

Procedure 3.2. Installing Single Software Packages under GNOME

Click Software+Software Management to start the YaST package manager.

Select Available from the top menu to filter for packages not installed. Enter the name of the software you want to install in the search field (for example, jhead, a tool for manipulating JPEG meta data).

Right-click the package you want to install in the main pane and click Install.

In order to select more packages, repeat the previous steps. Once you are finished click Apply to start the installation.

If your choice results in a dependency conflict that cannot be automatically solved, you will need to manually solve these conflicts as described in “Checking Software Dependencies” (Chapter “Installing or Removing Software”, ↑Reference).

You can also install software patterns. Patterns are a set of packages consisting of tools for a specific task; for example, there is a pattern for “Technical Writing” that consists of XML tools, special editors, the LaTeX environment, and more. To install a pattern, proceed as follows (if you have KDE running—for GNOME see below):

Procedure 3.3. Installing Software Patterns under KDE

Click Software+Software Management to start the YaST package manager.

From the View button in the upper left corner, select Patterns. Now you see various pattern sets listed in the left pane.

Click on a pattern name for a list of all packages included in the pattern. Choose one or more patterns for instalation by clicking the checkbox on front of the pattern's name.

Click Accept to proceed.

Confirm the automatic changes that were made to resolve dependencies with Continue.

Procedure 3.4. Installing Software Patterns under GNOME

Click Software+Software Management to start the YaST package manager.

From the grouping menu in the upper left corner, select Patterns. Now you see various pattern sets listed in the left pane.

Clicking on a pattern's name, for example on Technical Writing, opens the list of packages it contains in the right pane. In order to select more than one pattern, hold the Ctrl key while clicking a pattern's name. Click Install All to mark all packages from the selected patterns for installation.

Click Apply to install the listed packages.

Removing Software

If you want to remove software from the system, proceed as follows if you have KDE running (for GNOME see below):

Procedure 3.5. Removing Software under KDE

Click Software+Software Management to start the YaST package manager.

Search for single packages as described in Section “Installing Software”.

Mark packages for deletion by right-clicking them and choosing Delete.

Click Accept to proceeed.

If you have chosen to delete a package on which other packages are dependent, your choice results in a dependency conflict that cannot be automatically solved. In this case, it is recommended to not delete the package. You can try to manually solve this conflict as described in “Checking Software Dependencies” (Chapter “Installing or Removing Software”, ↑Reference), but be aware that each change you make may lead to other conflicts. To discard all changes you made, click Cancel two times and then Abandon.

With GNOME running, proceed as follows:

Click Software+Software Management to start the YaST package manager.

Select Installed from the top menu to filter for packages already installed. Search for single packages as described in Section “Installing Software”.

Right-click the package you want to remove in the main pane and click Remove.

In order to select more packages, repeat the previous steps. Once you are finished click Apply to start the removal.

If you have chosen to delete a package on which other packages are dependent, your choice results in a dependency conflict that cannot be automatically solved. In this case, it is recommended to not delete the package. You can try to manually solve this conflict as described in “Checking Software Dependencies” (Chapter “Installing or Removing Software”, ↑Reference), but be aware that each change you make may lead to other conflicts. To discard all changes you made, click Cancel and then click the undo button in the upper right corner.

Keeping the System Up-to-date

openSUSE offers a continuous stream of software security patches for your product. The updater applet informs you about the availability of patches and lets you easily install them with just a few clicks.

Using the KDE Online Update Applet

The openSUSE community also provides updates to newer versions of software packages. The updater applet optionally keeps a list of all programs installed on your system and informs you whenever newer versions are available. The updater can also search for and install new drivers when new hardware is attached.

Patches vs. New Versions

The patches offered by openSUSE either fix security holes or serious errors in the software. A patch normally does not upgrade to a newer version and does not offer additional functionality. A new program version offered by the community may offer fixes, too, but primarily adds new functionality.

The Online Update Applet resides in the system tray of your panel depicting the head of the SUSE mascot (Geeko), which changes depending on the availability and relevance of patches and the status of the updater. Whenever the icon changes, a notification displaying the current status is shown, too. The applet is started by default. Choose Applications+System+Desktop Applet+Online Update Applet from the main menu to manually start it.

Online Update Applet Icon Status

Green Geeko Head with Green Arrows

No patches available. When new versions are available, a tool tip appears when the mouse is moved over the icon.

Green Geeko Head with Yellow Arrows

The updater applet is busy (for example checking for updates, installing software).

Red Triangle with Exclamation Mark

Security patches available.

Orange Star with Arrow

Recommended patches are available.

Blue square with Arrow

Optional patches are available.

Yellow Triangle with Exclamation Mark

An error has occurred.

Blue Circle with Question Mark

No update repository is defined. When you click the updater applet in this state, you are asked if you want to check for updates. If you agree, the YaST Online Update Configuration module is started.

Installing Patches

The Online Update Applet offers two modes for installing patches: the simple installation mode will automatically install all security and recommended patches, while the detailed mode lets you choose which patches to install.

Procedure 3.6. Installing Patches: Simple Mode

Whenever the update applet shows the availability of patches, left-click to open the software installation window.

Choose whether to skip the installation of patches that are recommended and those that require a restart. It is recommended to install both.

Click Install to start the patch installation.

In case you have started the patch installation for the first time, you will be asked to enter the root password in order to proceed. If you also check Remember authorization you will never be asked again to provide the password.

You can monitor the installation status by hovering the mouse over the update applet icon.

Figure 3.1. KDE Online Update Applet: Simple Update View

Procedure 3.7. Installing Patches: Detailed Mode

Whenever the update applet shows the availability of patches, left-click to open the software installation window.

A detailed list of all patches is shown. Click on a patch name for more information. Select or de-select a patch by clicking its checkbox. By default, security and recommended patches are pre-selected.

Click Install to start the patch installation.

In case you have started the patch installation for the first time, you will be asked to enter the root password in order to proceed. If you also check Remember authorization you will never be asked again to provide the password.

You can monitor the installation status by hovering the mouse over the update applet icon.

Figure 3.2. KDE Updater Applet: Detailed Update View

Installing New Software Versions

New software versions are available from software repositories provided by the openSUSE community. By default, no such repositories are preconfigured. To add a repository, right-click on the updater icon and choose Add/Remove Update Sources. You need to enter the root password to start the Configured Software Repositories module. A list from which you can choose popular community repositories is already preconfigured (Add+Community Repositories), for even more community repositories refer to http://en.opensuse.org/Additional_YaST_Package_Repositories.

Trusting External Software Sources

Before adding external software repositories to your list of repositories make sure this repository can be trusted. openSUSE is not responsible for any potential problems arising from software installed from third party software repositories.

The updater applet does not monitor repositories for new software versions by default. To enable this feature, open the configuration window as described in Section “Configuring the Updater Applet” and tick the check box Show Available Upgrades When Back-End Provides Them check box. When the updater icon indicates the availability of updates, click on the icon to launch the software installation window. Click on Details and then on the Upgrade tab to open the list with new software versions. Either select single packages by checking the box in front of an entry, or click Select All Packages. Install starts the installation of the selected software packages. You will be prompted for the root password. See the system tray (KDE) or the notification area (GNOME) for status messages and a progress meter.

Configuring the Updater Applet

By default, the updater is started on login, checks for updates every 24 hours, shows recurring notifications every 60 minutes and monitors the availability of patches. To change this behavior, right-click the applet icon and choose Configure Applet.

Figure 3.3. KDE Updater Applet: Configuration

The configuration dialog also offers to change the following settings:

Back-End

Choose between different back-ends. The Package Kit Plugin is used by default. If you prefer the ZYpp Plugin, make sure to install the package kupdateapplet-zypp.

Always Show Detailed View

Activate this option when you prefer the detailed patch view that lists all patches available with short summaries rather than the simple view.

Check for Updates only When System Is Connected to Charger

Prohibits checking for updates when running on batteries in order to save power. This option is activated by default but only affects mobile computers.

Check for Updates only When System Is under Low Load

Prohibits checking for updates when the system is under heavy load. This option is activated by default.

Search for Drivers When New Hardware is Attached

Provided a repository offering appropriate drivers, the updater can automatically install drivers for hardware such as USB devices.

Using the GNOME Software Update Applet

The updater applet resides in the notification area of your panel. Its icon changes depending on the availability and relevance of patches and the status of the updater. The applet is started by default, choose Computer+More Applications+System+Software Update to start it manually.

Icon visibility

By default, the updater applet icon is only visible in the notification area, if patches are available.

Open box with a globe

The updater is busy (for example checking for updates or installing software).

Red Star with Exclamation Mark

Security patches are available.

Orange Star with an Up Arrow

Important patches are available.

Yellow Star with a Down Arrow

Trivial patches are available.

Yellow Triangle with Exclamation Mark

An error has occurred.

Installing Patches

The Software Update Applet offers two modes for installing patches: the simple installation mode will automatically install all security patches. Important or trivial patches can be installed with the detailed mode, which lets you also choose which patches to install.

Procedure 3.8. Installing Patches: Simple Mode

Whenever new patches are available, a notification message listing the updates available will appear. Click on Install only security updates to start the installation of all security patches available.

Enter the root password in the authentication screen and proceed with Authenticate.

Procedure 3.9. Installing Patches: Detailed Mode

Whenever new patches are available, a notification message listing the updates available will appear. Click on Show all software updates to open the Software Update window. If you have already closed the notification message, you can also left click the Software Update icon and choose Show Updates.

A detailed list of all patches is shown. Click on a patch name for more information, such as a description, version number, repository, and (if available) a link to bugzilla, the Novell bug tracking system. Select or de-select a patch by clicking its checkbox. By default, all patches are pre-selected.

Click Install to start the patch installation.

Enter the root password in the authentication screen and proceed with Authenticate.

Figure 3.4. GNOME Software Update Viewer: Detailed Update View

Configuring the Updater Applet

To configure the updater applet, right-click the updater icon in the panel and choose Preferences. The configuration dialog lets you modify the following settings:

Check for Updates

Choose how often a check for updates is performed: Hourly, Daily, Weekly, or Never.

Automatic Install

Configure whether patches are installed automatically or not (default). Automatic installation can be chosen for either security patches only or for all patches.

Check for Major Upgrades

Choose how often a check for major upgrades is performed: Daily, Weekly, or Never.

Check for updates when using mobile broadband

By default the updater does not check for updates when using mobile broadband. Check this option if you want to perform update checks when using mobile broadband.

Figure 3.5. GNOME Updater Applet: Configuration

Chapter 4. Accessing the Internet

Abstract

If you have chosen not to configure Internet access during the installation, you can perform this task at any time using YaST. How to configure your computer to access the Internet depends on your environment. If the computer you are installing is part of a network which already is connected to the Internet, the only thing to do is to link your machine to the network. If you are installing a machine that is directly connected to the Internet, the hardware and the access to the Internet Service Provider (ISP) needs to be set up.

Please refer to the checklists below to make sure you have all the necessary data ready before starting to configure the Internet access.

Direct Internet Connection

When your computer is directly connected to the Internet, you first need to configure the hardware that is used for this task. This can either be an internal device (such as an ISDN card) or an external device (for example, a modem). In most cases it is detected automatically.

Next, you need to enter the data provided by your ISP (such as login credentials, gateway, or name server, for example). You should have received a data sheet from your ISP where all the necessary data is listed.

If you have successfully configured your hardware and ISP data, use the NetworkManager for managing the internet connection. See Chapter 5, Using NetworkManager for details.

Checklist DSL

There are different types of DSL devices available that use different point-to-point protocol (PPP) methods:

a regular ethernet card connected to the external DSL modem uses PPP over Ethernet (PPPoE). In Austria the Point-to-Point Tunneling Protocol (PPTP) is used. With PPTP the external modem also has a static IP address.

an internal DSL modem uses PPP over ATM (PPPoATM)

an internal ADSL Fritz Card uses CAPI for ADSL

The DSL configuration module already contains the data for major ISPs in some countries. If your ISP is not listed, you will need to know how name resolving (DNS) and IP allocation is handled (in most cases this data is received automatically when connecting). Regardless whether you choose an ISP from the list or add a custom provider, you need to enter at least your login and password.

For configuration details, refer to “DSL” (Chapter “Basic Networking”, ↑Reference).

Checklist ISDN

In case your internal ISDN card is not detected automatically you will need to know the vendor and the name of the device.

ISDN Modem or Terminal Adapter

If you are using an external ISDN modem or terminal adapter, refer to Section “Checklist Modem” instead.

In order to configure the ISDN device you will need the following data:

ISDN Protocol (depends on your country)

Area code and phone number.

Interface type (SyncPPP or RawIP). If unsure, select SyncPPP, because RawIP is only used in connection with certain telephone systems.

Local and remote IP addresses for the dial-in server and the gateway, in the case that you were given a static IP address from your provider.

The ISDN configuration module already contains the data for major ISPs in some countries. If your ISP is not listed, you will need to know how name resolving (DNS) and IP allocation is handled (in most cases this data is received automatically when connecting). Regardless whether you chose an ISP from the list or added a custom provider, you need to enter at least your login and password.

For configuration details, refer to “ISDN” (Chapter “Basic Networking”, ↑Reference).

Checklist Modem

If your modem is not detected automatically, you will need to know whether it is connected to a serial port or to a USB port. Please note that not all USB modems and internal modems are supported by openSUSE®.

The modem configuration module already contains the data for major ISPs in some countries. If your ISP is not listed, you will need to know its dial-in number and how name resolving (DNS) and IP allocation is handled (in most cases this data is received automatically when connecting). Regardless whether you chose an ISP from the list or added a custom provider, you need to enter at least your login and password.

For configuration details, refer to “Modem” (Chapter “Basic Networking”, ↑Reference).

Checklist Cable Modem

Accessing the Internet through the TV cable requires a cable modem. Such a modem is connected to the computer via ethernet cable. Therefore it is only necessary to configure your network card accordingly. For details, refer to “Cable Modem” (Chapter “Basic Networking”, ↑Reference).

Internet Connection Via Network

If your machine is part of a network which is already connected to the Internet, it is very easy to gain Internet access (just configure your network card and connect your machine to the existing network and you are done). This not only applies to large company networks, but to small home networks as well. Even if the machine you are installing is only connected to a router (e.g. a DSL router) it is already part of a network. It is irrelevant whether you are using a wireless network adapter or a wired one.

Routing and Name Services

In the following it is assumed that the network is connected to the Internet and provides routing and name services. In case these services are provided by a router, make sure the router is configured correctly before setting up the client.

Checklist Network

If your network provides DHCP (Dynamic Host Configuration Protocol) check the appropriate check box when setting up the network card and you are done (all parameters needed will be provided by the DHCP server).

If DHCP is not available, ask your network administrator for the following details:

Hostname

Name server

Gateway

For configuration details for wired network cards, refer to “Configuring the Network Card with YaST” (Chapter “Basic Networking”, ↑Reference), for wireless network cards see “Configuration with YaST” (Chapter “Wireless LAN”, ↑Reference).

Chapter 5. Using NetworkManager

NetworkManager is the ideal solution for laptops and other portable computers. It supports state-of-the-art encryption types and standards for network connections, including connections to 802.1x protected networks. With NetworkManager, you do not need to worry about configuring network interfaces and switching between wired or wireless networks when you are moving. NetworkManager can automatically connect to known wireless networks or manage several network connections in parallel—the fastest connection is then used as default. Furthermore, you can manually switch between available networks and manage your network connection using an applet in the system tray.

Instead of only one connection being active, multiple connections may be active at once. This enables you to unplug your laptop from an Ethernet and remain connected via a wireless connection.

Use Cases for NetworkManager

NetworkManager provides a sophisticated and intuitive user interface which enables users to easily switch their network environment. However, NetworkManager is not a suitable solution in the following cases:

Your computer provides network services for other computers in your network, for example, it is a DHCP or DNS server.

Your computer is a Xen server or your system is a virtual system inside Xen.

You want to use SCPM for network configuration management. To use SCPM and NetworkManager at the same time, disable the network resource in SCPM configuration.

Enabling NetworkManager

On laptop computers, NetworkManager is enabled by default. However, it can be at any time enabled or disabled in the YaST Network Settings module.

Run YaST and go to Network Devices+Network Settings.

The Network Settings dialog opens. Go to the Global Options tab.

To configure and manage your network connections with NetworkManager, select User Controlled with NetworkManager.

Click OK.

After choosing the method for managing network connections, set up your network card using automatic configuration via DHCP or a static IP address or configure your modem (for dial-up connections, use Network Devices+Modem). To configure an internal or USB ISDN modem, select Network Devices+ISDN. To configure an internal or USB DSL modem, select Network Devices+DSL.

Find a detailed description of the network configuration with YaST in “Configuring a Network Connection with YaST” (Chapter “Basic Networking”, ↑Reference) and “Wireless LAN” (↑Reference).

After having enabled NetworkManager, configure your network connections with the NetworkManager as described in Section “Configuring Network Connections”.

If you want to deactivate NetworkManager and control network the traditional way, choose the Traditional Method with ifup option in the Network Setup Method field.

Configuring Network Connections

After having enabled NetworkManager in YaST, configure your network connections with the NetworkManager front-ends available in KDE and GNOME. The network configuration dialogs for both front-ends are very similar. They show tabs for all types of network connections, such as wired, wireless, mobile broadband, DSL, and VPN connections. On each tab, you can add, edit or delete connections of that type. In the KDE configuration dialog, the appropriate tabs are only active if the connection type is available on your system (depending on hardware and software). By default, KNetworkManager also displays comprehensive tooltips for the input fields and options available on each tab.

To open the network configuration dialog in GNOME, open the main menu and click the Network entry at the right. Conversely, press Alt+F2 and enter nm-connection-editor (or in the GNOME Control Center select System+Network Configurations).

Figure 5.1. GNOME Network Configuration Dialog

If you use KDE, open the main menu and click Configure Desktop. In the Personal Settings then select Network Connections on the General tab to open the network configuration dialog.

Figure 5.2. KDE Network Configuration Dialog

Conversely, you can also start the configuration dialogs from the NetworkManager applet in the system tray. In KDE, left-click the icon and select Manage Connections. In GNOME, right-click the icon and select Edit Connections.

Availability of Options

Depending on your system set-up, you may not be allowed to configure connections. In a secured environment, some options might be locked or require root permission. Ask your system administrator for details.

Procedure 5.1. Adding or Editing Connections

When configuring network connections with NetworkManager, you can also define system connections that can be shared by all users. In contrast to user connections, system connections are made available right after NetworkManager is started—before any users log in. For more details about both types of connections, refer to Section “User and System Connections”.

Currently, the system connection option is not available in KNetworkManager. To set up system connections, you need to use YaST in this case.

Hidden Networks

To connect to a “hidden” network (a network that does not broadcast its service) you have to know the Extended Service Set Identifier (ESSID) of the network because it cannot be detected automatically.

To add a new connection, click the tab for the connection type you want to use and click Add.

Enter a Connection Name and your connection details.

For a hidden network, enter the ESSID and the encryption parameters.

You can tie the connection to a certain device, if more than one physical device per connection type is available (for example, your machine is equipped with two ethernet cards or two wireless cards).

If you use KDE, do so by using the Restrict to Interface option. If you use GNOME, enter the MAC address of the device you want to tie the connection to and confirm your settings.

If you want NetworkManager to automatically use a certain connection, activate Connect Automatically for this connection.

To turn a connection into a system connection activate Available to all users (GNOME). To create and edit system connections, root permission is required.

After having confirmed your changes, the newly configured network connection appears in the list of available networks you get by left-clicking the NetworkManager applet.

Figure 5.3. KNetworkManager—Configured and Available Connections

At the moment, bluetooth connections cannot be configured with NetworkManager. For a manual way of setting up a dial-up connection via Bluetooth, refer to http://en.opensuse.org/Configuring_Bluetooth_Dial-Up_Connections_for_openSUSE_11.2.

Using KNetworkManager

The KDE front-end for NetworkManager is the KNetworkManager applet. If the network has been set up for NetworkManager control, the applet usually starts automatically with the desktop environment and is shown as an icon in the system tray.

If your system tray does not show any network connection icon, the applet is probably not started. Press Alt+F2 and enter knetworkmanager to start it manually.

KNetworkManager only shows wireless networks that you have configured a connection for. It hides connections when you are out of range of a wireless network, or when the network cable is disconnected, thus always giving you a clear view of which connections may be used.

Connecting to Wired Networks

If your computer is connected to an existing network with a network cable, use KNetworkManager to choose the network connection.

Left-click the applet icon to show a menu with available networks. The connection currently being used is selected in the menu and marked as Active.

If you want to use a different configuration with the wired network, click Manage Connections and add another wired connection as described in Procedure 5.1, “Adding or Editing Connections”.

Click the KNetworkManager icon and select the newly configured connection to activate it.

Connecting to Wireless Networks

By default, KNetworkManager only shows wireless networks that you have configured a connection for—provided they are both available and visible. To connect to a wireless network for the first time, proceed as follows:

Left-click the applet icon and select Create Network Connection. KNetworkManager shows a list of available visible wireless networks.

To connect to a visible network, select the network from the list and click Connect. If the network is encrypted, a dialog opens. Choose the type of Security the network uses and enter the appropriate credentials.

To connect to a network that does not broadcast its service set identifier (ESSID) and therefore cannot be detected automatically, select Connect to Other Network.

In the dialog that opens, enter the ESSID and set encryption parameters, if necessary.

Confirm your changes and click OK. NetworkManager now activates the new connection.

To terminate a connection and to disable wireless networking, click the applet icon and uncheck Enable Wireless. This can be very useful if you are on a plane or in any other environment where wireless networking is not allowed.

A wireless network that has been chosen explicitly will remain connected as long as possible. If a network cable is plugged in during that time, any connections that have been set to Connect Automatically will be connected, while the wireless connection remains up.

Configuring Your Wireless Card as an Access Point

If your wireless card supports access point mode, you can use NetworkManager for configuration.

Availability of Options

Depending on your system set-up, you may not be allowed to configure connections. In a secured environment, some options might be locked or require root permission. Ask your system administrator for details.

Click the KNetworkManager applet and select Create Network Connection+New Ad-Hoc Network.

In the following configuration dialog, enter a name for your network in the SSID field.

Set the encryption on the Wireless Security tab.

Unprotected Wireless Networks Are a Security Risk

If you set Security to None, everybody can connect to your network, reuse your connectivity and intercept your network connection. To restrict access to your access point and to secure your connection, use encryption. You can choose between various WEP and WPA–based encryptions. If you are not sure which technology is best for you, read “Authentication” (Chapter “Wireless LAN”, ↑Reference).

On the IP Address tab, make sure the Configure option is set to Shared (which is the default option for ad-hoc networks).

Confirm your configuration with OK.

Customizing KNetworkManager

You can customize some aspects of KNetworkManager: the number of icons displayed in the system tray, which tool tips to show and how to store your password and credentials for network connections. For more information about the last aspect, refer to Section “Storing Passwords and Credentials”.

To explore the options available, start the Personal Settings from the main menu, select Network Connections on the General tab and click Other on the left-hand side of the configuration dialog.

Procedure 5.2. Configuring Multiple Tray Icons for KNetworkManager

As KNetworkManager can keep multiple connections active at once, you might wish to be informed about the connection status for several connections at one glance. You can do so by using multiple NetworkManager icons in your system tray, each representing a different group of connection types (for example, one icon for wired connections, another icon for wireless connections).

In the configuration dialog, switch to the Tray Icon tab.

Click More Icons. A new icon entry appears in the list.

Select the network connection types you want to be represented by this icon and group them under the respective icon.

Confirm your changes.

Now the system tray shows multiple NetworkManager icons from which you then can access the connection types tied to that icon.

When configuring a network connection as described in Procedure 5.1, “Adding or Editing Connections”, KNetworkManager also allows you to customize the icon displayed for this connection. To change the icon, click the icon button next to Connection Name and in the following dialog, select the icon of your choice. After confirming your changes, the new icon is displayed in the list of available connections you get by clicking the KNetworkManager icon in the system tray.

Using GNOME NetworkManager Applet

In GNOME, NetworkManager can be controlled with the GNOME NetworkManager applet. If the network is set up for NetworkManager control, the applet usually starts automatically with the desktop environment and is shown as an icon in the system tray.

If your system tray does not show any network connection icon, the applet is probably not started. Press Alt+F2 and enter nm-applet to start it manually.

Connecting to Wired Networks

If your computer is connected to an existing network with a network cable, use the NetworkManager applet to choose the network connection.

Left-click the applet icon to show a menu with available networks. The currently used connection is selected in the menu.

To switch to another network, choose it from the list.

To switch off all network connections, both wired and wireless, right-click the applet icon and uncheck Enable Networking.

Connecting to Wireless Networks

Available visible wireless networks are listed in the GNOME NetworkManager applet menu under Wireless Networks. The signal strength of each network is also shown in the menu. Encrypted wireless networks are marked with a shield icon.

Procedure 5.3. Connecting to a Wireless Network

To connect to a wireless network, left-click the applet icon and choose en entry from the list of available wireless networks.

If the network is encrypted, a dialog opens. Choose the type of Wireless Security the network uses and enter the appropriate credentials.

To connect to a network that does not broadcast its service set identifier (ESSID) and therefore cannot be detected automatically, left-click the NetworkManager icon and choose Connect to Other Wireless Network.

In the dialog that opens, enter the ESSID and set encryption parameters if necessary.

To disable wireless networking, right-click the applet icon and uncheck Enable Wireless. This can be very useful if you are on a plane or in any other environment where wireless networking is not allowed.

A wireless network that has been chosen explicitly will remain connected as long as possible. If a network cable is plugged in during that time, any connections that have been set to Connect Automatically will be connected, while the wireless connection remains up.

Configuring Your Wireless Card as an Access Point

If your wireless card supports access point mode, you can use NetworkManager for configuration.

Availability of Options

Depending on your system set-up, you may not be allowed to configure connections. In a secured environment, some options might be locked or require root permission. Ask your system administrator for details.

Click the NetworkManager applet and select Create New Wireless Network.

Add the network name and set the encryption in the Wireless Security dialog.

Unprotected Wireless Networks Are a Security Risk

If you set Wireless Security to None, everybody can connect to your network, reuse your connectivity and intercept your network connection. To restrict access to your access point and to secure your connection, use encryption. You can choose between various WEP and WPA–based encryptions. If you are not sure which technology is best for you, read “Authentication” (Chapter “Wireless LAN”, ↑Reference).

NetworkManager and VPN

NetworkManager supports several Virtual Private Network (VPN) technologies. For each technology, openSUSE comes with a base package providing the generic support for NetworkManager. In addition to that, you also need to install the respective desktop-specific package for your applet.

NovellVPN

To use this VPN technology, install NetworkManager-novellvpn and NetworkManager-novellvpn-gnome.

NovellVPN support for KDE is not available yet, but is currently being worked on.

OpenVPN

To use this VPN technology, install NetworkManager-openvpn and NetworkManager-openvpn-kde4 or NetworkManager-openvpn-gnome.

vpnc (Cisco)

To use this VPN technology, install NetworkManager-vpnc and NetworkManager-vpnc-kde4 or NetworkManager-vpnc-gnome.

PPTP (Point-to-Point Tunneling Protocol)

To use this VPN technology, install NetworkManager-pptp and NetworkManager-pptp-kde4 or NetworkManager-pptp-gnome.

After you have installed the packages, configure your VPN connection as described in Section “Configuring Network Connections”.

NetworkManager and Security

NetworkManager distinguishes two types of wireless connections, trusted and untrusted. A trusted connection is any network that you explicitly selected in the past. All others are untrusted. Trusted connections are identified by the name and MAC address of the access point. Using the MAC address ensures that you cannot use a different access point with the name of your trusted connection.

NetworkManager periodically scans for available wireless networks. If multiple trusted networks are found, the most recently used is automatically selected. NetworkManager waits for your selection in case that all networks are untrusted.

If the encryption setting changes but the name and MAC address remain the same, NetworkManager attempts to connect, but first you are asked to confirm the new encryption settings and provide any updates, such as a new key.

If you switch from using a wireless connection to offline mode, NetworkManager blanks the ESSID. This ensures that the card is disconnected.

User and System Connections

NetworkManager knows two types of connections: user and system connections. User connections are connections that become available to NetworkManager when the first user logs in. Any required credentials are asked from the user and when the user logs out, the connections are disconnected and removed from NetworkManager. Connections that are defined as system connection can be shared by all users and are made available right after NetworkManager is started—before any users log in. In case of system connections, all credentials must be provided at the time the connection is created. Such system connections can be used to automatically connect to networks that require authorization. For information how to configure user or system connections with NetworkManager, refer to Section “Configuring Network Connections”.

For KDE, system connections with NetworkManager are currently not supported (use YaST instead).

Storing Passwords and Credentials

If you do not want to re-enter your credentials each time you want to connect to an encrypted network, you can use the desktop-specific tools GNOME Keyring Manager or KWalletManager to store your credentials encrypted on the disk, secured by a master password.

With KNetworkManager, you can configure if and how to store your credentials in KDE. To do so, left-click the KNetworkManager icon and select Manage Connections. Click Other+Connection Secrets and select one of the following options:

Do Not Store (Always Prompt)

This is useful if you are working in an environment where storing credentials is considered a security risk.

In File (Unencrypted)

Security Risk

Storing your network credentials unencrypted is a security risk. Everybody who has access to your computer can reuse your connectivity and intercept your network connection.

If you choose this option, your passwords are stored unencrypted in the respective connection file that is created for each connection. Find them under $HOME/.kde4/share/apps/networkmanagement/connections.

In Secure Storage (Encrypted)

If you choose this options, your credentials are stored in KWalletManager. For more information on KWalletManager, see “Managing Passwords with KWallet Manager” (↑KDE User Guide).

Frequently Asked Questions

In the following, find some frequently asked questions about configuring special network options with NetworkManager.

How to tie a connection to a specific device?

By default, connections in NetworkManager are device type-specific: they apply to all physical devices with the same type. If more than one physical device per connection type is available (for example, your machine is equipped with two ethernet cards), you can tie a connection to a certain device .

To do so in GNOME, first look up the MAC address of your device (use the Connection Information available from the applet/widget, or use the output of command line tools like nm-tool or ifconfig). Then start the dialog for configuring network connections and choose the connection you want to modify. On the Wired or Wireless tab, enter the MAC Address of the device and confirm your changes with OK.

If you use KDE, start the dialog for configuring network connections and choose the connection you want to modify. On the Wired or Wireless tab, use the Restrict to Interface option to select the network interface to which to tie the connection.

How to specify a certain access point in case multiple access points with the same ESSID are detected?

When multiple access points with different wireless bands (a/b/g/n) are available, the access point with the strongest signal is automatically chosen by default. To override this, use the BSSID field when configuring wireless connections.

The Basic Service Set Identifier (BSSID) uniquely identifies each Basic Service Set. In an infrastructure Basic Service Set, the BSSID is the MAC address of the wireless access point. In an independent (ad-hoc) Basic Service Set, the BSSID is a locally administered MAC address generated from a 46-bit random number.

Start the dialog for configuring network connections from the GNOME Control Center with System+Network Configurations or in KDE 4 from the Personal Settings with Advanced+Network Settings. Choose the wireless connection you want to modify and click Edit. On the Wireless tab, enter the BSSID.

How to share network connections to other computers?

The primary device (the device which is connected to the Internet) does not need any special configuration. However, you need to configure the device that is connected to the local hub or machine as follows:

Start the dialog for configuring network connections from the GNOME Control Center with System+Network Configurations or in KDE 4 from the Personal Settings with Advanced+Network Settings. Choose the connection you want to modify and click Edit. If you are using GNOME, switch to the IPv4 Settings tab and from the Method drop-down list, choose Shared to other computers. If you are using KDE, switch to the IP Address tab and from the Configure drop-down list, choose Shared. That will enable IP traffic forwarding and run a DHCP server on the device. Confirm your changes in NetworkManager.

As the DCHP server uses port 67, make sure that it is not blocked by the firewall: On the machine sharing the connections, start YaST and select Security and Users+Firewall. Switch to the Allowed Services category. If DCHP Server is not already shown as Allowed Service, select DCHP Server from Services to Allow and click Add. Confirm your changes in YaST.

How to provide static DNS information with automatic (DHCP, PPP, VPN) addresses?

In case a DHCP server provides invalid DNS information (and/or routes), you can override it. Start the dialog for configuring network connections from the GNOME Control Center with System+Network Configurations or in KDE 4 from the Personal Settings with Advanced+Network Settings. Choose the connection you want to modify and click Edit. If you are using GNOME, switch to the IPv4 Settings tab, and from the Method drop-down list, choose Automatic (DHCP) addresses only. If you are using KDE, switch to the IP Address tab, and from the Configure drop-down list, choose Automatic (DHCP) addresses only. Enter the DNS information in the DNS Servers and Search Domains fields. Click Routes to add additional routes ot to override automatic routes. Confirm your changes.

How to make NetworkManager connect to password protected networks before a user logs in?

Define a system connection that can be used for such purposes. For more information, refer to Section “NetworkManager and Security”.

Troubleshooting

Connection problems can occur. Some common problems related to NetworkManager include the applet not starting, a missing VPN option, and issues with SCPM. Methods for resolving and preventing these problems depend on the tool used.

NetworkManager Desktop Applet Does Not Start

The GNOME and KDE NetworkManager applets start automatically if the network is set up for NetworkManager control. If the applet does not start, check if NetworkManager is enabled in YaST as described in Section “Enabling NetworkManager”. Then make sure that the appropriate package for your desktop environment is also installed. If you are using KDE 4, the package is NetworkManager-kde4. For GNOME users the package is NetworkManager-gnome.

If the desktop applet is installed but is not running for some reason, start it manually with the command nm-applet (GNOME) or knetworkmanager (KDE).

NetworkManager Applet Does Not Include the VPN Option

Support for NetworkManager, applets, and VPN for NetworkManager is distributed in separate packages. If your NetworkManager applet does not include the VPN option, check if the packages with NetworkManager support for your VPN technology are installed. For more information, see Section “NetworkManager and VPN”.

SCPM Does Not Switch the Network Configuration

You are probably using SCPM together with NetworkManager. NetworkManager is not currently able to work with SCPM profiles. Do not use NetworkManager together with SCPM when SCPM profiles also change network settings. To use SCPM and NetworkManager at the same time, disable the network resource in SCPM configuration.

No Network Connection Available

If you have configured your network connection correctly and all other components for the network connection (router, etc.) are also up and running, it sometimes helps to restart the network interfaces on your computer. To do so, log in to a command line as root and run rcnetwork restart.

For More Information

More information about NetworkManager can be found on the following Web sites and directories:

NetworkManager Project Page

http://www.gnome.org/projects/NetworkManager/

KDE NetworkManager Front-End

http://userbase.kde.org/NetworkManagement

Package Documentation

Also check out the information in the following directories for the latest information about NetworkManager and the GNOME NetworkManager applet and the KDE NetworkManager widget:

/usr/share/doc/packages/NetworkManager/,

/usr/share/doc/packages/NetworkManager-kde4/, and

/usr/share/doc/packages/NetworkManager-gnome/.

Part II. Basics

Chapter 6. Basic Concepts

Abstract

If this is your first encounter with a Linux system you probably want to learn something about the basic concepts of Linux before getting started. The graphical user interfaces of Linux, Mac OS* and Windows* show rather similar desktop components, which makes it easy to move from one graphical environment to the next. However, if you take a look at the underlying system you will soon notice some differences.

The following sections are meant to guide you through the first steps with your Linux system and to help Linux “newbies” to familiarize themselves in their new operating system. You will learn about the user concept of Linux, the structure of the Linux file system (where to find what in the directory tree) and how to deal with access permissions for files and directories, which are an essential feature in Linux.

Users who have been working with Mac OS will probably recognize that the concepts explained in the following sections are rather similar to what they know already from Mac OS. Windows users may realize some crucial differences which are worth noticing.

User Concept

From the beginning, Linux has been designed as a multiuser system: Any number of users can simultaneously work on one machine. These users can connect to the system via different terminals or network connections. Usually users need to log in to the system before starting a session. Personal information and individual desktop configuration are stored separately for each user.

Distinct User Roles

Among the users working on a machine, Linux distinguishes between different kinds of user roles: you can log in to a Linux machine as a “normal” user or as a superuser (administrator), traditionally called root in Linux. The superuser has privileges which authorize him to access all parts of the system and to execute administrative tasks. He or she has the unrestricted capacity to make changes to the system and has unlimited access to all files. If you are logged in as a normal user you lack these privileges. User and root can of course be the same physical person but acting in different roles.

The root user account is always created on your Linux system by default — during installation you are therefore requested to specify a password for root. Which other users can log in to your system depends on the method of authentication you choose during installation (see Section “Create New User”).

For your daily work, you usually log in to your system as normal user. Performing some administrative tasks or running certain programs such as YaST requires root permissions. You can easily switch from your normal account to root and back to your normal user account after accomplishing the administrative task. How to do so in a shell is described in Section “Becoming Root”. If you are working with a graphical user interface you are usually prompted to enter the root password when necessary. Closing the application which required root permissions results in withdrawal of the root privileges: you automatically switch back to your normal user account.

While this concept might not look very appealing at first, it adds to security. A user without root privileges cannot damage the entire system. Any damage caused is strictly limited to the user's own account and data. Any operation executed with root privileges may potentially harm the entire system. Anyone intending to harm a running Linux system must gain root privileges first. This is why it is much harder to create viruses for Linux systems. They must overcome the root barrier first.

Groups

Every user in a Linux system belongs at least to one group. A group, in this case, can be defined as a set of connected users with certain collective privileges. Groups are usually defined according to functional roles or the data and resources the members of the group need to access. When a new user account is created on your system, the user is usually assigned to a default, primary group. The system administrator can change this primary group or assign the user to an additional group, if necessary.

Figure 6.1. Group Membership for a User in YaST

The Linux File System

All users, including the superuser, have their own home directories where all private data, like documents, bookmarks, or e-mail, are stored. System directories holding central configuration files or executable files can only be modified by the superuser. Read more about access permissions and how to modify them according to your needs in Section “Modifying File Permissions”.

In Linux, you can choose whether you want to manage files and folders with a file manager or with the command line, which is the traditional way. The latter method is often faster but requires some deeper knowledge of several commands to list, create, delete, or edit files and their properties. For more information about commands for manipulating files refer to Section “Working with Files and Directories”. A file manager provides a graphical and more intuitive way to handle these tasks. Learn more about the file managers of GNOME and KDE in “Managing Folders and Files with Nautilus” (Chapter “Working with Your Desktop”, ↑GNOME User Guide) and “Using Dolphin File Manager” (Chapter “Working with Your Desktop”, ↑KDE User Guide). The following sections provide you with some basic knowledge of the file system and provide an overview of the default directory structure in Linux.

Key Features

In Linux, all files and directories are located in a tree-like structure. The topmost directory is referred to as the file system root or just / (not to be confused with the root user). The counterpart of / in a Windows system would probably be C:\. All other directories in Linux can be accessed from the root directory and are arranged in a hierarchical structure.

Find the key features of the Linux file system in the following list which also highlights some of the major differences between the Linux and the Windows/DOS file system:

Specifying Paths

As opposed to Windows, Linux does not use backslashes to separate the components of a pathname, it uses slashes instead. For example, the private data of users in Windows may be stored under C:\My Documents\Letters, whereas in Linux it would be stored under /home/username/Letters.

Partitions, Drives/Devices and Directories

Linux does not use drive letters as Windows does. From the mere appearance of a pathname in Linux you can not tell whether you are addressing a partition, a drive/device, a network device or an “ordinary” directory.

Mounting and Unmounting

Another crucial difference between Windows/DOS and Linux is the concept of mounting and unmounting partitions, drives or directories. Windows detects partitions and drives during the boot process and assigns a drive letter to them. In Linux, however, partitions or devices are usually not visible in the directory tree unless they are mounted, that means integrated into the file system at a specific location in the directory tree. As a normal user you cannot access data on a partition or a device unless it is mounted. But don't worry— most of the time you do not have to mount partitions or devices manually. During the installation of your system, you can define partitions to be mounted automatically when the system is started. Removable devices are usually also detected and mounted automatically by your system. The desktop environments such as KDE or GNOME will inform you about the appearance of a new device.

Figure 6.2. Autodetection of a USB Stick in KDE

Although this concept of mounting and unmounting may appear complicated or cumbersome at first sight this also offers great flexibility. For example you can easily mount a directory from a another machine over the network and act on that directory as though it were located on your local machine.

Case-Sensitivity

Linux distinguishes between uppercase and lowercase letters in the file system. For example, whether you name a file test.txt, TeST.txt or Test.txt make a difference in Linux. This also holds true for directories: You cannot access a directory named Letters by the name letters.

File Extensions

As opposed to Windows, files in Linux may have a file extension, such as .txt, but do not need to have one. When you start working with the shell this sometimes makes it difficult for beginners to differentiate between files and folders, depending on the command you use to list the contents of a directory. Learn more about some basic shell commands in Chapter 7, Shell Basics. If you use the graphical file managers in GNOME or KDE (see “Managing Folders and Files with Nautilus” (Chapter “Working with Your Desktop”, ↑GNOME User Guide) and “Using Dolphin File Manager” (Chapter “Working with Your Desktop”, ↑KDE User Guide)) files and folders are symbolized by various different icons depending on the view you choose.

Figure 6.3. File and Folders in KDE File Manager

Hidden Files

Similar to Windows , Linux also distinguishes between “normal” files and hidden files which are often configuration files that you usually do not want to access or see as a normal user. In Linux, hidden files are indicated by a dot in front (for example, .hiddenfile). In order to access hidden files you can switch view in the file managers as described in “Using Dolphin File Manager” (Chapter “Working with Your Desktop”, ↑KDE User Guide) or use a certain command in the shell as described in Section “Using Commands with Options”.

File System Permissions

Because Linux is a multiuser system, every file in a Linux file system belongs to a user and a group. Only the owner of a file or directory (or, of course, root) can grant other users access permission to it. Linux basically distinguishes between three different types of access permissions: write permission, read permission and execute permission. You can only access a file or a folder if you have at least read permission to it. There are several ways to change the access permissions of files and folders: either traditionally via the shell or with the help of your desktop's file manager. If you have root privileges, you can also change the owner and the group of a file or folder. Read how to do so in a shell in Section “Modifying File Permissions”.

For more detailed information about file system permissions refer to Section “File Access Permissions”. Apart from the traditional permission concept for file system objects there are also extensions available which handle permissions more flexibly. Read more in “Access Control Lists in Linux” (↑Security Guide).

The Directory Structure

The following table provides a short overview of the most important higher-level directories that you find on a Linux system. Find more detailed information about the directories and important subdirectories in the following list.

Table 6.1. Overview of a Standard Directory Tree

Directory

Contents

/

Root directory—the starting point of the directory tree.

/bin

Essential binary files, such as commands that are needed by both the system administrator and normal users. Usually also contains the shells, such as Bash.

/boot

Static files of the boot loader.

/dev

Files needed to access host-specific devices.

/etc

Host-specific system configuration files.

/home

Holds the home directories of all users who have accounts on the system. However, root's home directory is not located in /home but in /root.

/lib

Essential shared libraries and kernel modules.

/media

Mount points for removable media.

/mnt

Mount point for temporarily mounting a file system.

/opt

Add-on application software packages.

/root

Home directory for the superuser root.

/sbin

Essential system binaries.

/srv

Data for services provided by the system.

/tmp

Temporary files.

/usr

Secondary hierarchy with read-only data.

/var

Variable data such as log files.

/windows

Only available if you have both Microsoft Windows* and Linux installed on your system. Contains the Windows data.

The following list provides more detailed information and gives some examples of which files and subdirectories can be found in the directories:

/bin

Contains the basic shell commands that may be used both by root and by other users. These commands include ls, mkdir, cp, mv, rm and rmdir. /bin also contains Bash, the default shell in openSUSE.

/boot

Contains data required for booting, such as the boot loader, the kernel, and other data that is used before the kernel begins executing user-mode programs.

/dev

Holds device files that represent hardware components.

/etc

Contains local configuration files that control the operation of programs like the X Window System. The /etc/init.d subdirectory contains scripts that are executed during the boot process.

/home/username

Holds the private data of every user who has an account on the system. The files located here can only be modified by their owner or by the system administrator. By default, your e-mail directory and personal desktop configuration are located here in the form of hidden files and directories. KDE users find the personal configuration data for their desktop in .kde or .kde4 . GNOME users find it in .gconf. For information about hidden files, refer to Section “Key Features”.

Home Directory in a Network Environment

If you are working in a network environment, your home directory may be mapped to a directory in the file system other than /home.

/lib

Contains the essential shared libraries needed to boot the system and to run the commands in the root file system. The Windows equivalent for shared libraries are DLL files.

/media

Contains mount points for removable media, such as CD-ROMs, USB sticks and digital cameras (if they use USB). /media generally holds any type of drive except the hard drive of your system. As soon as your removable medium has been inserted or connected to the system and has been mounted, you can access it from here.

/mnt

This directory provides a mount point for a temporarily mounted file system. root may mount file systems here.

/opt

Reserved for the installation of additional software. Optional software and larger add-on program packages can be found here. KDE3 is located here, whereas KDE4 and GNOME have moved to /usr now.

/root

Home directory for the root user. The personal data of root is located here.

/sbin

As the s indicates, this directory holds utilities for the superuser. /sbin contains the binaries essential for booting, restoring and recovering the system in addition to the binaries in /bin.

/srv

Holds data for services provided by the system, such as FTP and HTTP.

/tmp

This directory is used by programs that require the temporary storage of files.

/usr

/usr has nothing to do with users, but is the acronym for UNIX system resources. The data in /usr is static, read-only data that can be shared among various hosts compliant with the Filesystem Hierarchy Standard (FHS). This directory contains all application programs and establishes a secondary hierarchy in the file system. KDE4 and GNOME are also located here. /usr holds a number of subdirectories, such as /usr/bin, /usr/sbin, /usr/local, and /usr/share/doc.

/usr/bin

Contains generally accessible programs.

/usr/sbin

Contains programs reserved for the system administrator, such as repair functions.

/usr/local

In this directory the system administrator can install local, distribution-independent extensions.

/usr/share/doc

Holds various documentation files and the release notes for your system. In the manual subdirectory find an online version of this manual. If more than one language is installed, this directory may contain versions of the manuals for different languages.

Under packages find the documentation included in the software packages installed on your system. For every package, a subdirectory /usr/share/doc/packages/packagename is created that often holds README files for the package and sometimes examples, configuration files or additional scripts.

If HOWTOs are installed on your system /usr/share/doc also holds the howto subdirectory in which to find additional documentation on many tasks related to the setup and operation of Linux software.

/var

Whereas /usr holds static, read-only data, /var is for data which is written during system operation and thus is variable data, such as log files or spooling data. For an overview of the most important log files you can find under /var/log/, refer to Table 9.1, “Log Files”.

/windows

Only available if you have both Microsoft Windows and Linux installed on your system. Contains the Windows data available on the Windows partition of your system. Whether you can edit the data in this directory depends on the file system your Windows partition uses. If it is FAT32, you can open and edit the files in this directory. For NTFS, openSUSE also includes write access support. However, the driver for the NTFS-3g file system has limited functionality. Learn more in “Accessing Files on Different OS on the Same Computer” (Chapter “Copying and Sharing Files”, ↑Reference).

File Access Permissions

In Linux, objects such as files or folders or processes generally belong to the user who created or initiated them. There are some exceptions to this rule. For more information about the exceptions, refer to “Access Control Lists in Linux” (↑Security Guide). The group which is associated with a file or a folder depends on the primary group the user belongs to when creating the object.

When you create a new file or directory, initial access permissions for this object are set according to a predefined scheme. As an owner of a file or directory, you can change the access permissions for this object. For example, you can protect files holding sensitive data against read access by other users and you can authorize the members of your group or other users to write, read, or execute several of your files where appropriate. As root, you can also change the ownership of files or folders.

Permissions for User, Group and Others

Three permission sets are defined for each file object on a Linux system. These sets include the read, write, and execute permissions for each of three types of users—the owner, the group, and other users. You can view and change the access permissions of a file or folder in the file managers of your desktop or in a shell (see Section “Modifying File Permissions”).

Figure 6.4. File Access Permissions in KDE File Manager

The following example shows the output of an ls -l command in a shell. This command lists the contents of a directory and shows the details for each file and folder in that directory.

Example 6.1. Access Permissions For Files and Folders

-rw-r----- 1 tux users      0 2006-06-23 16:08 checklist.txt
-rw-r--r-- 1 tux users  53279 2006-06-21 13:16 gnome_quick.xml
-rw-rw---- 1 tux users      0 2006-06-23 16:08 index.htm
-rw-r--r-- 1 tux users  70733 2006-06-21 09:35 kde-start.xml
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 kde_quick.xml
drwxr-xr-x 2 tux users     48 2006-06-23 16:09 local
-r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg

As shown in the third column, all objects belong to user tux. They are assigned to the group users which is the primary group the user tux belongs to. To retrieve the access permissions the first column of the list must be examined more closely. Let's have a look at the file kde-start.xml:

Type

User Permissions

Group Permissions

Permissions for Others

-

rw-

r--

r--

The first column of the list consists of one leading character followed by nine characters grouped in three blocks. The leading character indicates the file type of the object: in this case, the hyphen (–) shows that kde-start.xml is a file. If you find the character d instead, this shows that the object is a directory, like local in Example 6.1, “Access Permissions For Files and Folders”.

The next three blocks show the access permissions for the owner, the group and other users (from left to right). Each block follows the same pattern: the first position shows read permissions (r), the next position shows write permissions (w), the last one shows execute permission (x). A lack of either permission is indicated by -. In our example, the owner of kde-start.xml has read and write access to the file but cannot execute it. The users group can read the file but cannot write or execute it. The same holds true for the other users as shown in the third block of characters.

Files and Folders

Access permissions have a slightly different impact depending on the type of object they apply to: file or directory. The following table shows the details:

Table 6.2. Access Permissions For Files And Directories

Access Permission

File

Folder

Read (r)

Users can open and read the file.

Users can view the contents of the directory. Without this permission, users cannot list the contents of this directory with ls -l, for example. However, if they only have execute permission for the directory, they can nevertheless access certain files in this directory if they know of their existence.

Write (w)

Users can change the file: They can add or drop data and can even delete the contents of the file. However, this does not include the permission to remove the file completely from the directory as long as they do not have write permissions for the directory where the file is located.

Users can create, rename or delete files in the directory.

Execute (x)

Users can execute the file. This permission is only relevant for files like programs or shell scripts, not for text files. If the operating system can execute the file directly, users do not need read permission to execute the file. However, if the file must me interpreted like a shell script or a perl program, additional read permission is needed.

Users can change into the directory and execute files there. If they do not have read access to that directory they cannot list the files but can access them nevertheless if they know of their existence.

Note that access to a certain file is always dependent on the correct combination of access permissions for the file itself and the directory it is located in.

Chapter 7. Shell Basics

When working with Linux these days, you can communicate with the system almost without ever requiring a command line interpreter (the shell). After booting your Linux system, you are usually directed to a graphical user interface that guides you through the login process and the following interactions with the operating system. The graphical user interface in Linux (the X Window System or X11) is initially configured during installation. Both KDE and GNOME desktop (and other window managers you can install) use it for interaction with the user.

Nevertheless, it is useful to have some basic knowledge of working with a shell because you might encounter situations where the graphical user interface is not available. For example, if some problem with the X Window System occurs. If you are not familiar with a shell, you might feel a bit uncomfortable at first when entering commands, but the more you get used to it, the more you will realize that the command line is often the quickest and easiest way to perform some daily tasks.

For UNIX or Linux several shells are available which differ slightly in behavior and in the commands they accept. The default shell in openSUSE® is Bash (GNU Bourne-Again Shell).

The following sections will guide you through your first steps with the Bash shell and will show you how to complete some basic tasks via the command line. If you are interested in learning more or rather feel like a shell “power user” already, refer to “Bash and Bash Scripts” (↑Reference).

Starting a Shell

Basically, there are two different ways to start a shell from the graphical user interface which usually shows after you have booted your computer:

you can leave the graphical user interface or

you can start a terminal window within the graphical user interface.

While the first option is always available, you can only make use of the second option when you are already logged in to a desktop such as KDE or GNOME. Whichever way you choose, there is always a way back and you can switch back and forth between the shell and the graphical user interface.

If you want to give it a try, press Ctrl+Alt+F2 to leave the graphical user interface. The graphical user interface disappears and you are taken to a shell which prompts you to log in. Type your username and press Enter. Then type your password and press Enter. The prompt now changes and shows some useful information as in the following example:

tux@linux:~>

Your login.

The hostname of your computer.

Path to the current directory. Directly after login, the current directory usually is your home directory, indicated by the ~ symbol (tilde) .

When you are logged in at a remote computer the information provided by the prompt always shows you which system you are currently working on.

When the cursor is located behind this prompt, you can pass commands directly to your computer system. For example, you can now enter ls -l to list the contents of the current directory in a detailed format. If this is enough for your first encounter with the shell and you want to go back to the graphical user interface, you should log out from your shell session first. To do so, type exit and press Enter. Then press Alt+F7 to switch back to the graphical user interface. You will find your desktop and the applications running on it unchanged.

When you are already logged in to the GNOME or the KDE desktop and want to start a terminal window within the desktop, press Alt+F2 and enter konsole (for KDE) or gnome-terminal (for GNOME). This opens a terminal window on your desktop. As you are already logged in to your desktop, the prompt shows information about your system as described above. You can now enter commands and execute tasks just like in any shell which runs parallel to your desktop. To switch to another application on the desktop just click on the corresponding application window or select it from the taskbar of your panel. To close the terminal window press Alt+F4.

Entering Commands

As soon as the prompt appears on the shell it is ready to receive and execute commands. A command can consist of several elements. The first element is the actual command, followed by parameters or options. You can type a command and edit it by using the following keys: ←, →, Home, End, <— (Backspace), Del, and Space. You can correct typing errors or add options. The command is not executed until you press Enter.

No News Is Good News

The shell is not verbose: in contrast to some graphical user interfaces, it usually does not provide confirmation messages when commands have been executed. Messages only appear in case of problems or errors —or if you explicitly ask for them by executing a command with a certain option.

Also keep this in mind for commands to delete objects. Before entering a command like rm (without any option) for removing a file, you should know if you really want to get rid of the object: it will be deleted irretrievably, without confirmation.

Using Commands without Options

In Section “Permissions for User, Group and Others” you already got to know one of the most basic commands: ls, which used to list the contents of a directory. This command can be used with or without options. Entering the plain ls command shows the contents of the current directory:

tux@knox:~> ls
bin Desktop Documents public_html tux.txt
tux@knox:~>

As you already learned in Section “Key Features” files in Linux may have a file extension or a suffix, such as .txt, but do not need to have one. This makes it difficult to differentiate between files and folders in this output of the ls. By default, the colors in the Bash shell give you a hint: directories are usually shown in blue, files in black.

Using Commands with Options

A better way to get more details about the contents of a directory is using the ls command with a string of options. Options modify the way a command works so that you can get it to carry out specific tasks. Options are separated from the command with a blank and are usually prefixed with a hyphen. The ls -l command shows the contents of the same directory in full detail (long listing format):

tux@knox:~> ls -l
drwxr-xr-x 1 tux users     48 2006-06-23 16:08 bin
drwx---r-- 1 tux users  53279 2006-06-21 13:16 Desktop
drwx------ 1 tux users    280 2006-06-23 16:08 Documents
drwxr-xr-x 1 tux users  70733 2006-06-21 09:35 public_html
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 tux.txt
tux@knox:~>

This output shows the following information about each object:

drwxr-xr-x 1 tux users 48 2006-06-23 16:08 bin

Type of object and access permissions. For further information, refer to Section “Permissions for User, Group and Others”.

Number of hard links to this file.

Owner of the file or directory. For further information, refer to Section “Permissions for User, Group and Others”.

Group assigned to the file or directory. For further information, refer to Section “Permissions for User, Group and Others”.

File size in bytes.

Date and time of the last change.

Name of the object.

Usually, you can combine several options by prefixing only the first option with a hyphen and then write the others consecutively without a blank. For example, if you want to see all files in a directory in long listing format, you can combine the two options -l and -a (show all files) for the ls command. Executing ls -la shows also hidden files in the directory, indicated by a dot in front (for example, .hiddenfile).

The list of contents you get with ls is sorted alphabetically by filenames. But like in a graphical file manager, you can also sort the output of ls -l according to various criteria such as date, file extension or file size:

For date and time, use ls -lt (displays newest first).

For extensions, use ls -lx (displays files with no extension first).

For file size, use ls -lS (displays largest first).

To revert the order of sorting, add -r as an option to your ls command. For example, ls -lr gives you the contents list sorted in reverse alphabetical order, ls -ltr shows the oldest files first. There are lots of other useful options for ls. In the following section you will learn how to investigate them.

Getting Help

Nobody is expected to know all options of all commands by heart. If you remember the command name but are not sure about the options or the syntax of the command, choose one of the following possibilities:

--help option

If you only want to look up the options of a certain command, try entering the command followed by a space and --help. This --help option exists for many commands. For example, ls --help displays all the options for the ls command.

Manual Pages

To learn more about the various commands, you can also use the manual pages. Manual pages also give a short description of what the command does. They can be accessed with man followed by the name of the command, for example, man ls.

The man pages are displayed directly in the shell. To navigate them, move up and down with Page ↑ and Page ↓. Move between the beginning and the end of a document with Home and End. End this viewing mode by pressing Q. Learn more about the man command itself with man man.

Info Pages

Info pages usually provide even more information about commands. To view the info page for a certain command, enter info followed by the name of the command (for example, info ls). You can browse an info page with a viewer directly in the shell and display the different sections, called “nodes.” Use Space to move forward and <— to move backwards. Within a node, you can also browse with Page ↑ and Page ↓ but only Space and <— will take you also to the previous or subsequent node. Like for the man pages, press Q to end the viewing mode.

Note that man pages and info pages do not exist for all commands. Sometimes both are available (usually for key commands), sometimes only a man page or an info page exists, and sometimes neither of them are available.

Bash Shortcut Keys

After having entered several commands, your shell will begin to fill up with all sorts of commands and the corresponding outputs. In the following table, find some useful shortcut keys for navigating and editing in the shell.

Shortcut Key

Function

Ctrl+L

Clears the screen and moves the current line to the top of the page.

Ctrl+C

Aborts the command which is currently being executed.

Shift+Page ↑

Scrolls upwards.

Shift+Page ↓

Scrolls downwards.

Ctrl+U

Deletes from cursor position to start of line.

Ctrl+K

Deletes from cursor position to the end of line.

Ctrl+D

Closes the shell session.

↑, ↓

Browses in the history of executed commands.

Working with Files and Directories

To address a certain file or directory, you must specify the path leading to that directory or file. As you may know from MS DOS or Mac OS already, there are two ways to specify a path:

Absolute Path

Enter the entire path from the root directory to the relevant file or directory.

Relative Path

Enter a path to the relevant file or directory by using the current directory as a starting point. This implies to give the levels you have to move up or down in the file system tree to reach the target directory of file, starting from the current directory.

Paths contain filenames, directories or both, separated by slashes. Absolute paths always start with a slash. Relative paths do not have a slash at the beginning, but can have one or two dots.

When entering commands, you can choose either way to specify a path, depending on your preferences or the amount of typing, both will lead to the same result. To change directories, use the cd command and specify the path to the directory.

Handling Blanks in Filenames or Directory Names

If a filename or the name of a directory contains a space, either escape the space using a back slash (\) in front of the blank or enclose the filename in single quotes. Otherwise Bash interprets a filename like My Documents as the names of two files or directories, My and Documents in this case.

When specifying paths, the following “shortcuts” can save you a lot of typing:

The tilde symbol (~) is a shortcut for home directories. For example, to list the contents of your home directory, use ls ~. To list the contents of another user's home directory, enter ls ~username (or course, this will only work if you have permission to view the contents, see Section “File Access Permissions”). For example, entering ls ~tux would list the contents of the home directory of a user named tux. You can use the tilde symbol as shortcut for home directories also if you are working in a network environment where your home directory may not be called /home but can be mapped to any directory in the file system.

From anywhere in the file system, you can reach your home directory by entering cd ~ or by simply entering cd without any options.

When using relative paths, refer to the current directory with a dot (.). This is mainly useful for commands such as cp or mv by which you can copy or move files and directories.

The next higher level in the tree is represented by two dots (..). In order to switch to the parent directory of your current directory, enter cd .., to go up two levels from the current directory enter cd ../.. etc.

To apply your knowledge, find some examples below. They address basic tasks you may want to execute with files or folders using Bash.

Examples for Working with Files and Directories

Suppose you want to copy a file located somewhere in your home directory to a subdirectory of /tmp that you need to create first.

Procedure 7.1. Creating and Changing Directories

From your home directory create a subdirectory in /tmp:

Enter

mkdir  /tmp/test

mkdir stands for “make directory”. This command creates a new directory named test in the /tmp directory. In this case, you are using an absolute path to create the test directory.

To check what happened, now enter

ls -l /tmp

The new directory test should appear in the list of contents of the /tmp directory.

Switch to the newly created directory with

cd /tmp/test

Procedure 7.2. Creating and Copying Files

Now create a new file in a subdirectory of your home directory and copy it to /tmp/test. Use a relative path for this task.

Overwriting of Existing Files

Before copying, moving or renaming a file, check if your target directory already contains a file with the same name. If yes, consider changing one of the filenames or use cp or mv with options like -i, which will prompt before overwriting an existing file. Otherwise Bash will overwrite the existing file without confirmation.

To list the contents of your home directory, enter

ls -l ~

It should contain a subdirectory called Documents by default. If not, create this subdirectory with the mkdir command you already know:

mkdir ~/Documents

To create a new, empty file named myfile.txt in the Documents directory, enter

touch ~/Documents/myfile.txt

Usually, the touch command updates the modification and access date for an existing file. If you use touch with a filename which does not exist in your target directory, it creates a new file.

Enter

ls -l ~/Documents

The new file should appear in the list of contents.

To copy the newly created file, enter

cp ~/Documents/myfile.txt .

Do not forget the dot at the end.

This command tells Bash to go to your home directory and to copy myfile.txt from the Documents subdirectory to the current directory, /tmp/test, without changing the name of the file.

Check the result by entering

ls -l

The file myfile.txt should appear in the list of contents for /tmp/test.

Procedure 7.3. Renaming and Removing Files or Directories

Now suppose you want to rename myfile.txt into tuxfile.txt. Finally you decide to remove the renamed file and the test subdirectory.

To rename the file, enter

mv myfile.txt tuxfile.txt

To check what happened, enter

ls -l

Instead of myfile.txt, tuxfile.txt should appear in the list of contents.

mv stands for move and is used with two options: the first option specifies the source, the second option specifies the target of the operation. You can use mv either

to rename a file or a directory,

to move a file or directory to a new location or

to do both in one step.

Coming to the conclusion that you do not need the file any longer, you can delete it by entering

rm tuxfile.txt

Bash deletes the file without any confirmation.

Move up one level with cd .. and check with

ls -l test

if the test directory is empty now.

If yes, you can remove the test directory by entering

rmdir test

Becoming Root

As you learned inSection “User Concept”, some tasks in Linux require root permissions, otherwise they cannot be executed.

Using su

In order to temporarily become root in a shell, proceed as follows:

Enter su. You are prompted for the root password.

Enter the password. If you mistyped the root password, the shell displays a message. In this case, you have to re-enter su before retyping the password. If your password is correct, a hash symbol # appears at the end of the prompt, signaling that you are acting as root now.

Execute your task. For example, transfer ownership of a file to a new user which only root is allowed to do:

chown wilber kde_quick.xml

After having completed your tasks as root, switch back to your normal user account. To do so, enter

exit

The hash symbol disappears and you are acting as “normal” user again.

Using sudo

Conversely, you can also use sudo (superuser “do”) to execute some tasks which normally are for roots only. With sudo, administrators can grant certain users root privileges for some commands. Depending on the system configuration, users can then run root commands by entering their normal password only. Due to a timestamp function, users are only granted a “ticket” for a restricted period of time after having entered their password. The ticket usually expires after a few minutes. In openSUSE, sudo requires the root password by default (if not configured otherwise by your system administrator).

For users, sudo is convenient as it prevents you from switching accounts twice (to root and back again). To change the ownership of a file using sudo, only one command is necessary instead of three:

sudo chown wilber kde_quick.xml

After you have entered the password which you are prompted for, the command is executed. If you enter a second root command shortly after that, you are not prompted for the password again, because your ticket is still valid. After a certain amount of time, the ticket automatically expires and the password is required again. This also prevents unauthorized persons from gaining root privileges in case a user forgets to switch back to his normal user account again and leaves a root shell open.

Modifying File Permissions

In Linux, objects such as files or folder or processes generally belong to the user who created or initiated them. The group which is associated with a file or a folder depends on the primary group the user belongs to when creating the object. When you create a new file or directory, initial access permissions for this object are set according to a predefined scheme. For further details refer to Section “File Access Permissions”.

As the owner of a file or directory (and, of course, as root), you can change the access permissions to this object.

To change object attributes like access permissions of a file or folder, use the chmod command followed by the following parameters:

the users for which to change the permissions,

the type of access permission you want to remove, set or add and

the files or folders for which you want to change permissions separated by spaces.

The users for which you can change file access permissions fall into the following categories: the owner of the file (user, u), the group that own the file (group, g) and the other users (others, o). You can add, remove or set one or more of the following permissions: read, write or execute.

As root, you can also change the ownership of a file: with the command chown (change owner) you can transfer ownership to a new user.

Examples for Changing Access Permissions and Ownership

The following example shows the output of an ls -l command in a shell.

Example 7.1. Access Permissions For Files and Folders

-rw-r----- 1 tux users      0 2006-06-23 16:08 checklist.txt
-rw-r--r-- 1 tux users  53279 2006-06-21 13:16 gnome_quick.xml
-rw-rw---- 1 tux users      0 2006-06-23 16:08 index.htm
-rw-r--r-- 1 tux users  70733 2006-06-21 09:35 kde-start.xml
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 kde_quick.xml
drwxr-xr-x 2 tux users     48 2006-06-23 16:09 local
-r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg

In the example above, user tux owns the file kde-start.xml and has read and write access to the file but cannot execute it. The users group can read the file but cannot write or execute it. The same holds true for the other users as shown by the third block of characters.

Procedure 7.4. Changing Access Permissions

Suppose you are tux and want to modify the access permissions to your files:

If you want to grant the users group also write access to kde-start.xml, enter

chmod g+w kde-start.xml

To grant the users group and other users write access to kde-start.xml, enter

chmod go+w kde-start.xml

To remove write access for all users, enter

chmod -w kde-start.xml

If you do not specify any kind of users, the changes apply to all users— the owner of the file, the owning group and the others. Now even the owner tux does not have write access to the file without first reestablishing write permissions.

To prohibit the usersgroup and others to change into the directory local, enter

chmod go-x local

To grant others write permissions for two files, for kde_quick.xml and gnome_quick.xml, enter

chmod o+w  kde_quick.xml gnome_quick.xml

Procedure 7.5. Changing Ownership

Suppose you are tux and want to transfer the ownership of the file kde_quick.xml to an other user, named wilber. In this case, proceed as follows:

Enter the username and password for root.

Enter

chown wilber kde_quick.xml

Check what happened with

ls -l kde_quick.xml

You should get the following output:

-rw-r--r-- 1 wilber users  47896 2006-06-21 09:46 kde_quick.xml

If the ownership is set according to your wishes, switch back to your normal user account.

Useful Features of the Shell

As you probably noticed in the examples above, entering commands in Bash can include a lot of typing. In the following, get to know some features of the Bash that can make your work a lot easier and save a lot of typing.

History

By default, Bash “remembers” commands you have entered. This feature is called history. You can browse through commands that have been entered before, select one you want to repeat and then execute it again. To do so, press ↑ repeatedly until the desired command appears at the prompt. To move forward through the list of previously entered commands, press ↓. For easier repetition of a certain command from Bash history, just type the first letter of the command you want to repeat and press Page ↑.

You can now edit the selected command (for example, change the name of a file or a path), before you execute the command by pressing Enter. To edit the command line, just move the cursor to the desired position using the arrow keys and start typing.

You can also search for a certain command in the history. Press Ctrl+R to start an incremental search function. showing the following prompt:

 (reverse-i-search)`':

Just type one or several letters from the command you are searching for. Each character you enter narrows down the search. The corresponding search result is shown on the right side of the colon whereas your input appears on the left of the colon. To accept a search result, press Esc. The prompt now changes to its normal appearance and shows the command you chose. You can now edit the command or directly execute it by pressing Enter.

Completion

Completing a filename or directory name to its full length after typing its first letters is another helpful feature of Bash. To do so, type the first letters then press →| (Tabulator). If the filename or path can be uniquely identified, it is completed at once and the cursor moves to the end of the filename. You can then enter the next option of the command, if necessary. If the filename or path cannot be uniquely identified (because there are several filenames starting with the same letters), the filename or path is only completed up to the point where it becomes ambiguous again. You can then obtain a list of them by pressing →| a second time. After this, you can enter the next letters of the file or path then try completion again by pressing →|. When completing filenames and paths with the help of →|, you can simultaneously check whether the file or path you want to enter really exists (and you can be sure of getting the spelling right).

Wild Cards

You can replace one or more characters in a filename with a wild card for pathname expansion. Wild cards are characters that can stand for other characters. There are three different types of these in Bash:

Wild Card

Function

?

Matches exactly one arbitrary character

*

Matches any number of characters

[set]

Matches one of the characters from the group specified inside the square brackets, which is represented here by the string set.

Examples For Using History, Completion and Wildcards

The following examples illustrate how to make use of these convenient features of Bash.

Procedure 7.6. Using History and Completion

If you already did the example Section “Examples for Working with Files and Directories” your shell buffer should be filled with commands which you can retrieve using the history function.

Press ↑ repeatedly until cd ~ appears.

Press Enter to execute the command and to switch to your home directory.

By default, your home directory contains two subdirectories starting with the same letter, Documents and Desktop.

Enter cd D and press →|.

Nothing happens since Bash cannot identify to which one of the subdirectories you want to change.

Press →| again to see the list of possible choices:

tux@knox:~> cd D Desktop/   Documents/ tux@knox:~> cd D

The prompt still shows your initial input. Type the next character of the subdirectory you want to go to and press →| again.

Bash now completes the path.

You can now execute the command with Enter.

Procedure 7.7. Using Wildcards

Now suppose that your home directory contains a number of files with various file extensions. It also holds several versions of one file which you saved under different filenames myfile1.txt, myfile2.txt etc. You want to search for certain files according to their properties.

First, create some test files in your home directory:

Use the touch command to create several (empty) files with different file extensions, for example .pdf, .xml and .jpg.

You can do this consecutively (do not forget to use the Bash history function) or with only one touch command: simply add several filenames separated by a space.

Create at least two files that have the same file extension, for example .html.

To create several “versions” of one file, enter

touch myfile{1..5}.txt

This command creates five consecutively numbered files:

myfile1.txt,…,myfile5.txt

List the contents of your home directory. It should look similar to this:

-rw-r--r-- 1 tux users   0 2006-07-14 13:34 foo.xml
-rw-r--r-- 1 tux users   0 2006-07-14 13:47 home.html
-rw-r--r-- 1 tux users   0 2006-07-14 13:47 index.html
-rw-r--r-- 1 tux users   0 2006-07-14 13:47 toc.html
-rw-r--r-- 1 tux users   0 2006-07-14 13:34 manual.pdf
-rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile1.txt
-rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile2.txt
-rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile3.txt
-rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile4.txt
-rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile5.txt
-rw-r--r-- 1 tux users   0 2006-07-14 13:32 tux.png

With the help of wild cards, select certain subsets of the files according to various criteria:

To list all files with the .html extension, enter

 ls -l *.html

To list all “versions” of myfile.txt, enter

ls -l myfile?.txt

Note that you can only use the ? wild card here because the numbering of the files is single-digit. As soon as you have a file named myfile10.txt you must to use the * wild card to view all versions of myfile.txt (or add another question mark, so your string looks like myfile??.txt).

To remove, for example, version 1-3 and version 5 of myfile.txt, enter

rm myfile[1-3,5].txt

Check the result with

ls -l

Of all myfile.txt versions only myfile4.txt should be left.

You can also combine several wild cards in one command. In the example above, rm myfile[1-3,5].* would lead to the same result as rm myfile[1-3,5].txt because there are only files with the extension .txt available.

Using Wildcards in rm Commands

Wildcards in a rm command can be very useful but also dangerous: you might delete more files from your directory than intended. To see which files would be affected by the rm, run your wildcard string with ls instead of rm first.

Editing Texts

In order to edit files from the command line, you will need to know the vi editor. vi is a default editor which can be found on nearly every UNIX/Linux system. It can run several operating modes in which the keys you press have different functions. This does not make it very easy for beginners, but you should know at least the most basic operations with vi. There may be situations where no other editor than vi is available.

Basically, vi makes use of three operating modes:

command mode

In this mode, vi accepts certain key combinations as commands. Simple tasks such as searching words or deleting a line can be executed.

insert mode

In this mode, you can write normal text.

extended mode

In this mode, also known as colon mode (as you have to enter a colon to switch to this mode), vi can execute also more complex tasks such as searching and replacing text.

In the following (very simple) example, you will learn how to open and edit a file with vi, how to save your changes and quit vi.

Example: Editing with vi

Display of Keys

In the following, find several commands that you can enter in vi by just pressing keys. These appear in uppercase as on a keyboard. If you need to enter a key in uppercase, this is stated explicitly by showing a key combination including the Shift key.

To create and open a new file with vi, enter

vi textfile.txt

By default, vi opens in command mode in which you cannot enter text.

Press I to switch to insert mode. The bottom line changes and indicates that you now can insert text.

Write some sentences. If you want to insert a new line, first press Esc to switch back to command mode. Press O to insert a new line and to switch to insert mode again.

In the insert mode, you can edit the text with the arrow keys and with Del.

To leave vi, press Esc to switch to command mode again. Then press : which takes you to the extended mode. The bottom line now shows a colon.

To leave vi and save your changes, type wq (w for write; q for quit) and press Enter. If you want to save the file under a different name, type w filename and press Enter.

To leave vi without saving, type q! instead and press Enter.

Searching for Files or Contents

Bash offers you several commands to search for files and to search for the contents of files:

locate

This utility is only available if you have installed the findutils-locate package. With this command you can find out in which directory a specified file is located. If desired, use wild cards to specify filenames. The program is very quick, because it uses a database specifically created for the purpose (rather than searching through the entire file system). This very fact, however, also results in a major drawback: locate is unable to find any files created after the latest update of its database. The database can be generated by root running updatedb.

find

With find, search for a file in a given directory. The first argument specifies the directory in which to start the search. The option -name must be followed by a search string, which may also include wild cards. Unlike locate, which uses a database, find scans the actual directory.

grep

The grep command finds a specific search string in the specified text files. If the search string is found, the command displays the line in which searchstring was found, along with the filename. If desired, use wild cards to specify filenames.

Examples for Searching

The KDE and GNOME desktops store user-specific application data in hidden directories, for example .kde and .gnome.

To locate these directories on your computer, enter

locate .kde

if you have installed KDE desktop or

locate .gnome

if you have installed GNOME desktop.

You will see that locate displays all file names in the database that contain the string .kde or .gnome anywhere. To learn how to modify this behavior refer to the man page of locate.

To search your home directory for all occurrences of filenames that contain the file extension .txt, use

find ~ -name '*.txt' -print

To search a directory (in this case, your home directory) for all occurrences of files which contain, for example, the word music, enter

grep music ~/*

Note that grep is case-sensitive— unless you use it with the -i option. With the command above you will not find any files containing Music.

If you want to use a search string which consists of more than one word, enclose the string in double quotation marks, for example:

grep "music is great" ~/*

Viewing Text Files

When searching for the contents of a file with grep, the output gives you the line in which the searchstring was found along with the filename. Often this contextual information is still not enough information to decide whether you want to open and edit this file. Bash offers you several commands to have a quick look at the contents of a text file directly in the shell, without opening an editor.

head

With head you can view the first lines of a text file. If you do not specify the command any further, head shows the first 10 lines of a text file.

tail

The tail command is the counterpart of head. If you use tail without any further options it displays the last 10 lines of a text file. This can be very useful to view log files of your system, where the most recent messages or log entries are usually found at the end of the file.

less

With less, display the whole contents of a text file. To move up and down half a page use Page ↑ and Page ↓. Use Space to scroll down one page. Home takes you to the beginning, and End to the end of the document. To end the viewing mode, press Q.

more

Instead of less, you can also use the older program more. It has basically the same function—however, it is less convenient because it does not allow you to scroll backwards. Use Space to move forward. When you reach the end of the document, the viewer closes automatically.

cat

The cat command displays the contents of a file, printing the entire contents to the screen without interruption. As cat does not allow you to scroll it is not very useful as viewer but it is rather often used in combination with other commands.

Redirection and Pipes

Sometimes it would be useful if you could write the output of a command to a file for further editing or if you could combine several commands, using the output of one command as the input for the next one. The shell offers this function by means of redirection or pipes.

Normally, the standard output in the shell is your screen (or an open shell window) and the standard input is the keyboard. With the help of certain symbols you can redirect the input or the output to another object, such as a file or another command.

Redirection

With > you can forward the output of a command to a file (output redirection), with < you can use a file as input for a command (input redirection).

Pipe

By means of a pipe symbol | you can also redirect the output: with a pipe, you can combine several commands, using the output of one command as input for the next command. In contrast to the other redirection symbols > and <, the use of the pipe is not constrained to files.

Examples for Redirection and Pipe

To write the output of a command like ls to a file, enter

ls -l > filelist.txt

This creates a file named filelist.txt that contains the list of contents of your current directory as generated by the ls command.

However, if a file named filelist.txt already exists, this command overwrites the existing file. To prevent this, use >> instead of >. Entering

ls -l >> filelist.txt

simply appends the output of the ls command to an already existing file named filelist.txt. If the file does not exist, it is created.

Redirections also works the other way round. Instead of using the standard input from the keyboard for a command, you can use a file as input:

sort < filelist.txt

This will force the sort command to get its input from the contents of filelist.txt. The result is shown on the screen. Of course, you can also write the result into another file, using a combination of redirections:

sort  < filelist.txt > sorted_filelist.txt

If a command generates a lengthy output, like ls -l may do, it may be useful to pipe the output to a viewer like less to be able to scroll through the pages. To do so, enter

ls -l | less

The list of contents of the current directory is shown in less.

The pipe is also often used in combination with the grep command in order to search for a certain string in the output of another command. For example, if you want to view a list of files in a directory which are owned by the user tux, enter

ls -l | grep tux

Starting Programs and Handling Processes

As you have seen in Section “Editing Texts”, programs can be started from the shell. Applications with a graphical user interface need the X Window System and can only be started from a terminal window within a graphical user interface. For example, if you want to open a file named vacation.pdf in your home directory from a terminal window in KDE or GNOME, simply run xpdf ~/vacation.pdf (or evince ~/vacation.pdf) to start a PDF viewer displaying your file.

When looking at the terminal window again you will realize that the command line is blocked as long as the PDF viewer is open, meaning that your prompt is not available. To change this, press Ctrl+Z to suspend the process and enter bg to send the process to the background. Now you can still have a look at vacation.pdf while your prompt is available for further commands. An easier way to achieve this is by sending a process to the background directly when starting it. To do so, add an ampersand at the end of the command:

okular ~/vacation.pdf &

If you have started several background processes (also named jobs) from the same shell, the jobs command gives you an overview of the jobs (including the job number and their status):

tux@linux:~> jobs
[1]   Running        okular book.opensuse.startup-xep.pdf &
[2]-  Running        okular book.opensuse.reference-xep.pdf &
[3]+  Stopped        man jobs

To bring a job to the foreground again, enter fg job number.

Whereas job only shows the background processes started from a specific shell, the ps command (run without options) shows a list of all your processes—those you started. Find an example output below:

tux@linux:~> ps
PID TTY          TIME CMD
15500 pts/1    00:00:00 bash
28214 pts/1    00:00:00 xpdf
30187 pts/1    00:00:00 kate
30280 pts/1    00:00:00 ps

In case a program cannot be terminated in the normal way, use the kill command to stop the process (or processes) belonging to that program. To do so, specify the process ID (PID) shown by the output of ps. For example, to shut down the Kate editor in the example above, enter

kill 30187

This sends a TERM signal that instructs the program to shut itself down.

Conversely, if the program or process you want to terminate is a background job and is shown by the jobs command, you can also use the kill command in combination with the job number to terminate this process:

kill % job number

If kill does not help—as is sometimes the case for “runaway” programs—try

kill -9 PID

This sends a KILL signal instead of a TERM signal, bringing the specified process to an end in most cases.

This section is intended to introduce the most basic set of commands for handling jobs and processes. Find an overview for system administrators in “Processes” (Chapter “System Monitoring Utilities”, ↑Reference).

Important Linux Commands

This section gives insight into the most important commands. There are many more commands than listed in this chapter. Along with the individual commands, parameters are listed and, where appropriate, a typical sample application is introduced. To learn more about the various commands, use the manual pages, accessed with man followed by the name of the command, for example, man ls.

Man pages are displayed directly in the shell. To navigate them, move up and down with Page ↑ and Page ↓. Move between the beginning and the end of a document with Home and End. End this viewing mode by pressing Q. Learn more about the man command itself with man man.

In the following overview, the individual command elements are written in different typefaces. The actual command and its mandatory options are always printed as command option. Specifications or parameters that are not required are placed in [square brackets].

Adjust the settings to your needs. It makes no sense to write ls file if no file named file actually exists. You can usually combine several parameters, for example, by writing ls -la instead of ls -l -a.

File Commands

The following section lists the most important commands for file management. It covers everything from general file administration to the manipulation of file system ACLs.

File Administration

ls [options] [files]

If you run ls without any additional parameters, the program lists the contents of the current directory in short form.

-l

Detailed list

-a

Displays hidden files

cp [options] source target

Copies source to target.

-i

Waits for confirmation, if necessary, before an existing target is overwritten

-r

Copies recursively (includes subdirectories)

mv [options] source target

Copies source to target then deletes the original source.

-b

Creates a backup copy of the source before moving

-i

Waits for confirmation, if necessary, before an existing targetfile is overwritten

rm [options] files

Removes the specified files from the file system. Directories are not removed by rm unless the option -r is used.

-r

Deletes any existing subdirectories

-i

Waits for confirmation before deleting each file

ln [options] source target

Creates an internal link from source to target. Normally, such a link points directly to source on the same file system. However, if ln is executed with the -s option, it creates a symbolic link that only points to the directory in which source is located, enabling linking across file systems.

-s

Creates a symbolic link

cd [options][directory]

Changes the current directory. cd without any parameters changes to the user's home directory.

mkdir [options] directory

Creates a new directory.

rmdir [options] directory

Deletes the specified directory if it is already empty.

chown [options] username[:[group]]files

Transfers ownership of a file to the user with the specified username.

-R

Changes files and directories in all subdirectories

chgrp [options] groupnamefiles

Transfers the group ownership of a given file to the group with the specified group name. The file owner can change group ownership only if a member of both the current and the new group.

chmod [options] mode files

Changes the access permissions.

The mode parameter has three parts: group, access, and access type. group accepts the following characters:

u

User

g

Group

o

Others

For access, grant access with + and deny it with -.

The access type is controlled by the following options:

r

Read

w

Write

x

Execute—executing files or changing to the directory

s

Setuid bit—the application or program is started as if it were started by the owner of the file

As an alternative, a numeric code can be used. The four digits of this code are composed of the sum of the values 4, 2, and 1—the decimal result of a binary mask. The first digit sets the set user ID (SUID) (4), the set group ID (2), and the sticky (1) bits. The second digit defines the permissions of the owner of the file. The third digit defines the permissions of the group members and the last digit sets the permissions for all other users. The read permission is set with 4, the write permission with 2, and the permission for executing a file is set with 1. The owner of a file would usually receive a 6 or a 7 for executable files.

gzip [parameters]files

This program compresses the contents of files using complex mathematical algorithms. Files compressed in this way are given the extension .gz and need to be uncompressed before they can be used. To compress several files or even entire directories, use the tar command.

-d

Decompresses the packed gzip files so they return to their original size and can be processed normally (like the command gunzip)

tar options archive files

tar puts one or more files into an archive. Compression is optional. tar is a quite complex command with a number of options available. The most frequently used options are:

-f

Writes the output to a file and not to the screen as is usually the case

-c

Creates a new tar archive

-r

Adds files to an existing archive

-t

Outputs the contents of an archive

-u

Adds files, but only if they are newer than the files already contained in the archive

-x

Unpacks files from an archive (extraction)

-z

Packs the resulting archive with gzip

-j

Compresses the resulting archive with bzip2

-v

Lists files processed

The archive files created by tar end with .tar. If the tar archive was also compressed using gzip, the ending is .tgz or .tar.gz. If it was compressed using bzip2, the ending is .tar.bz2.

locate patterns

This command is only available if you have installed the findutils-locate package. The locate command can find in which directory a specified file is located. If desired, use wild cards to specify filenames. The program is very fast, because it uses a database specifically created for the purpose (rather than searching through the entire file system). This very fact, however, also results in a major drawback: locate is unable to find any files created after the latest update of its database. The database can be generated by root with updatedb.

updatedb [options]

This command performs an update of the database used by locate. To include files in all existing directories, run the program as root. It also makes sense to place it in the background by appending an ampersand (&), so you can immediately continue working on the same command line (updatedb &). This command usually runs as a daily cron job (see cron.daily).

find [options]

With find, search for a file in a given directory. The first argument specifies the directory in which to start the search. The option -name must be followed by a search string, which may also include wild cards. Unlike locate, which uses a database, find scans the actual directory.

Commands to Access File Contents

file [options] [files]

With file, detect the contents of the specified files.

-z

Tries to look inside compressed files

cat [options]files

The cat command displays the contents of a file, printing the entire contents to the screen without interruption.

-n

Numbers the output on the left margin

less [options]files

This command can be used to browse the contents of the specified file. Scroll half a screen page up or down with PgUp and PgDn or a full screen page down with Space. Jump to the beginning or end of a file using Home and End. Press Q to exit the program.

grep [options] searchstringfiles

The grep command finds a specific search string in the specified files. If the search string is found, the command displays the line in which searchstring was found along with the filename.

-i

Ignores case

-H

Only displays the names of the relevant files, but not the text lines

-n

Additionally displays the numbers of the lines in which it found a hit

-l

Only lists the files in which searchstring does not occur

diff [options]file1file2

The diff command compares the contents of any two files. The output produced by the program lists all lines that do not match. This is frequently used by programmers who need only to send their program alterations and not the entire source code.

-q

Only reports whether the two files differ

-u

Produces a “unified” diff, which makes the output more readable

File Systems

mount [options] [device]mountpoint

This command can be used to mount any data media, such as hard disks, CD-ROM drives, and other drives, to a directory of the Linux file system.

-r

Mount read-only

-t filesystem

Specify the file system, commonly ext2 for Linux hard disks, msdos for MS-DOS media, vfat for the Windows file system, and iso9660 for CDs

For hard disks not defined in the file /etc/fstab, the device type must also be specified. In this case, only root can mount it. If the file system needs to also be mounted by other users, enter the option user in the appropriate line in the /etc/fstab file (separated by commas) and save this change. Further information is available in the mount(1) man page.

umount [options]mountpoint

This command unmounts a mounted drive from the file system. To prevent data loss, run this command before taking a removable data medium from its drive. Normally, only root is allowed to run the commands mount and umount. To enable other users to run these commands, edit the /etc/fstab file to specify the option user for the relevant drive.

System Commands

The following section lists a few of the most important commands needed for retrieving system information and controlling processes and the network.

System Information

df [options][directory]

The df (disk free) command, when used without any options, displays information about the total disk space, the disk space currently in use, and the free space on all the mounted drives. If a directory is specified, the information is limited to the drive on which that directory is located.

-h

Shows the number of occupied blocks in gigabytes, megabytes, or kilobytes—in human-readable format

-T

Type of file system (ext2, nfs, etc.)

du [options][path]

This command, when executed without any parameters, shows the total disk space occupied by files and subdirectories in the current directory.

-a

Displays the size of each individual file

-h

Output in human-readable form

-s

Displays only the calculated total size

free [options]

The command free displays information about RAM and swap space usage, showing the total and the used amount in both categories. See “The free Command” (Chapter “Special System Features”, ↑Reference) for more information.

-b

Output in bytes

-k

Output in kilobytes

-m

Output in megabytes

date [options]

This simple program displays the current system time. If run as root, it can also be used to change the system time. Details about the program are available in the date(1) man page.

Processes

top [options]

top provides a quick overview of the currently running processes. Press H to access a page that briefly explains the main options for customizing the program.

ps [options] [process ID]

If run without any options, this command displays a table of all your own programs or processes—those you started. The options for this command are not preceded by hyphen.

aux

Displays a detailed list of all processes, independent of the owner

kill [options] process ID

Unfortunately, sometimes a program cannot be terminated in the normal way. In most cases, you should still be able to stop such a runaway program by executing the kill command, specifying the respective process ID (see top and ps). kill sends a TERM signal that instructs the program to shut itself down. If this does not help, the following parameter can be used:

-9

Sends a KILL signal instead of a TERM signal, bringing the specified process to an end in almost all cases

killall [options] processname

This command is similar to kill, but uses the process name (instead of the process ID) as an argument, killing all processes with that name.

Network

ping [options] hostname or IP address

The ping command is the standard tool for testing the basic functionality of TCP/IP networks. It sends a small data packet to the destination host, requesting an immediate reply. If this works, ping displays a message to that effect, which indicates that the network link is basically functioning.

-cnumber

Determines the total number of packages to send and ends after they have been dispatched (by default, there is no limitation set)

-f

flood ping: sends as many data packages as possible; a popular means, reserved for root, to test networks

-ivalue

Specifies the interval between two data packages in seconds (default: one second)

host [options] hostname [server]

The domain name system resolves domain names to IP addresses. With this tool, send queries to name servers (DNS servers).

ssh [options] [user@]hostname [command]

SSH is actually an Internet protocol that enables you to work on remote hosts across a network. SSH is also the name of a Linux program that uses this protocol to enable operations on remote computers.

Miscellaneous

passwd [options] [username]

Users may change their own passwords at any time using this command. The administrator root can use the command to change the password of any user on the system.

su [options] [username]

The su command makes it possible to log in under a different username from a running session. Specify a username and the corresponding password. The password is not required from root, because root is authorized to assume the identity of any user. When using the command without specifying a username, you are prompted for the root password and change to the superuser (root). Use su - to start a login shell for a different user.

halt [options]

To avoid loss of data, you should always use this program to shut down your system.

reboot [options]

Does the same as halt except the system performs an immediate reboot.

clear

This command cleans up the visible area of the console. It has no options.

For More Information

There are many more commands than listed in this chapter. For information about other commands or more detailed information, the O'Reilly publication Linux in a Nutshell is recommended.

Part III. Help and Troubleshooting

Chapter 8. Help and Documentation

Abstract

openSUSE® comes with various sources of information and documentation, many of which are already integrated in your installed system:

Desktop Help Centers

The help centers of both the KDE desktop (KDE help center) and the GNOME desktop (Yelp) provide central access to the most important documentation resources on your system, in searchable form. These resources include online help for installed applications, man pages, info pages, and the Novell/SUSE manuals delivered with your product. Learn more about your desktop's help center in Section “Using the KDE Help Center” and Section “Using GNOME Yelp”.

Separate Help Packages for Some Applications

When installing new software with YaST, the software documentation is installed automatically in most cases, and usually appears in the help center of your desktop. However, some applications, such as GIMP, may have different online help packages that can be installed separately with YaST and do not integrate into the help centers.

Documentation in /usr/share/doc

This traditional help directory holds various documentation files and the release notes for your system. Find more detailed information in “Documentation Directory” (Chapter “Help and Documentation”, ↑Reference).

Man Pages and Info Pages for Shell Commands

When working with the shell, you do not need to know the options of the commands by heart. Traditionally, the shell provides integrated help by means of man pages and info pages. Read more in “Man Pages” (Chapter “Help and Documentation”, ↑Reference) and “Info Pages” (Chapter “Help and Documentation”, ↑Reference).

Using the KDE Help Center

From the KDE desktop, you can access the KDE help center in various ways: If you need information from within an application, simply click the application's Help button or press F1 to open the application's documentation in the help center. If you start the help center from the main menu, or from the command line with khelpcenter, you are taken to the main window of the help center from which you can browse the help topics.

Figure 8.1. Main Window of the KDE Help Center

The menu and the toolbar provide options for printing contents from the help center, searching the currently displayed page, and navigating and customizing the help center. The display field in the right part of the window always shows the currently selected contents, such as online manuals, search results, or Web pages.

The navigation area in the left part of the window contains several tabs:

Contents

Presents a tree view of all available information sources. The help center addresses various target groups, such as users, administrators, and developers. Click the book icons to open and browse the individual categories. Under the heading Administration, for example, you can also browse man (manual) and info (information) pages associated with command line programs. The help center also provides access to some online databases that cover special hardware and software issues for your product. All these sources can be searched conveniently once a search index has been generated.

The contents of your help center depends on which software packages are currently installed and which languages are selected as your system languages.

Glossary

Provides a quick reference where you can look up the definitions of words that might be unfamiliar to you.

Search Options

Holds options for the full text search of the help center. You can combine several search criteria.

Procedure 8.1. Searching the Help Center

To use the full text search KDE help center offers, generate a search index and set the search parameters. If the search index has not yet been generated, the system automatically prompts you to do so when you click the Search tab.

To search for a term, click into the text field and enter the search string.

To combine your search strings with operands, click Method and select the operand to use.

Choose an option from Max. Results to limit the number of hits to display.

To restrict your search to certain types of documentation, choose an option from Scope selection. With Default, a predefined selection of documents is searched. All includes all types of documents in the search. Custom lets you define which documents to include in your search. Just activate the documents you want in the list.

When you have set the options according to your wishes, click Search. The search results are then displayed as a list of links in the display field and can be navigated with mouse clicks.

Procedure 8.2. Generating a New Search Index

To create a new search index, select Settings+Build Search Index from the menu. A window opens, showing a list of the documentation currently available in the help center.

Select the documents to integrate in the search index and click Build Index. After the index has been generated, you can use the full text search.

Using GNOME Yelp

On the GNOME desktop, to start Yelp directly from an application, either click the Help button or press F1. Both options take you directly to the application's documentation in the help center. However, you can also start Yelp from the main menu, or from the command line with yelp and then browse through the main window of the help center.

Figure 8.2. Main Window of Yelp

The menu and the toolbar provide options for navigating and customizing the help center, for searching and for printing contents from Yelp. To view a table of contents, click Help Topics. The help topics are grouped into categories presented as links. Click one of the links to open a list of topics for that category. To search for an item, just enter the search string into the search field at the top of the window.

Browsing Man and Info Pages From Your Desktop

With the KDE or GNOME desktop, you can also access (or print) man pages and info pages:

KDE

In Konqueror, to view the man page for ls, type man:/ls in the location bar. If there are different categories for a command, Konqueror displays them as links. To display the info page for grep, for example, type info:/grep.

In the KDE help center, check out Administration in the table of contents to browse man pages and info pages.

GNOME

Run yelp man:ls or yelp info:ls to display the man or info page.

Figure 8.3. Viewing a Man Page With Konqueror

Additional Help Resources

In addition to the online versions of the Novell/SUSE manuals installed under /usr/share/doc, you can also access the product-specific manuals and documentation on the Web. For an overview of all documentation available for your product check out your product-specific documentation Web page at http://www.novell.com/documentation/.

If you are searching for additional product-related information, you can also refer to the following Web sites:

openSUSE Wiki English and http://www.opensuse.org

SUSE Support Database

Novell Technical Support Knowledgebase

Product Support Community Resources

KDE Documentation Web site

Documentation Web site for KDE applications

GNOME Documentation Web site

You might also want to try general-purpose search engines. For example, you might try the search terms Linux CD-RW help or OpenOffice file conversion problem if you were having trouble with the CD burning or with OpenOffice.org file conversion. Google™ also has a Linux-specific search engine at http://www.google.com/linux that you might find useful.

For More Information

Apart from the product-specific help resources, there is a broad range of information available for Linux topics.

Online Resources for openSUSE

The openSUSE community are helpful people. If you have a specific question you can write to several mailing lists, communicate with Internet Relay Chat (IRC), or browse through Web Forums. Find more information at http://en.opensuse.org/Communicate.

The Linux Documentation Project

The Linux Documentation Project (TLDP) is run by a team of volunteers who write Linux-related documentation (see http://www.tldp.org). The set of documents contains tutorials for beginners, but is mainly focused on experienced users and professional system administrators. TLDP publishes HOWTOs, FAQs, and guides (handbooks) under a free license.

HOWTOs

HOWTOs are usually a short, informal, step-by-step guides to accomplishing specific tasks. HOWTOs can be found in the package howto and are installed under /usr/share/doc/howto

Frequently Asked Questions

FAQs (frequently asked questions) are a series of questions and answers. They originate from Usenet newsgroups where the purpose was to reduce continuous reposting of the same basic questions.

Guides

Manuals and guides for various topics or programs can be found at http://www.tldp.org/guides.html. They range from Bash Guide for Beginners to Linux Filesystem Hierarchy to Linux Administrator's Security Guide . Generally, guides are more detailed and exhaustive than HOWTOs or FAQs. They are usually written by experts for experts. Some of these books are old but still valid and ship with openSUSE. Search and install these books and guides with YaST.

Usenet

Created in 1979 before the rise of the Internet, Usenet is one of the oldest computer networks and still in active use. The format and transmission of Usenet articles is very similar to e-mail, but is developed for a many-to-many communication.

Usenet is organized into seven topical categories: comp.* for computer-related discussions, misc.* for miscellaneous topics, news.* for newsgroup-related matters, rec.* for recreation and entertainment, sci.* for science-related discussions, soc.* for social discussions, and talk.* for various controversial topics. The top levels are split in subgroups. For instance, comp.os.linux.hardware is a newsgroup for Linux-specific hardware issues.

Before you can post an article, have your client connect to a news server and subscribe to a specific newsgroup. News clients include Knode or Evolution. Each news server communicates to other news servers and exchanges articles with them. Not all newsgroups may be available on your news server.

Interesting newsgroups for Linux users are comp.os.linux.apps, comp.os.linux.questions, and comp.os.linux.hardware. If you cannot find a specific newsgroup, go to http://www.linux.org/docs/usenetlinux.html. Follow the general Usenet rules available online at http://www.faqs.org/faqs/usenet/posting-rules/part1/.

Wikipedia: The Free Online Encyclopedia

Wikipedia is “a multilingual encyclopedia designed to be read and edited by anyone” (see http://en.wikipedia.org). The content of Wikipedia is created by its users and is published under a dual free license (GFDL and CC-BY-SA). However, as Wikipedia can be edited by any visitor, it should be used only as a starting point or general guide. There is much incorrect or incomplete information in it.

Standards and Specifications

There are various sources that provide information about standards or specifications.

http://www.linux-foundation.org/en/LSB

The Linux Foundation is an independent nonprofit organization that promotes the distribution of free and open source software. The organization endeavors to achieve this by defining distribution-independent standards. The maintenance of several standards, such as the important LSB (Linux Standard Base), is supervised by this organization.

http://www.w3.org

The World Wide Web Consortium (W3C) is one of the best-known standards organizations. It was founded in October 1994 by Tim Berners-Lee and concentrates on standardizing Web technologies. W3C promotes the dissemination of open, license-free, and manufacturer-independent specifications, such as HTML, XHTML, and XML. These Web standards are developed in a four-stage process in working groups and are presented to the public as W3C recommendations (REC).

http://www.oasis-open.org

OASIS (Organization for the Advancement of Structured Information Standards) is an international consortium specializing in the development of standards for Web security, e-business, business transactions, logistics, and interoperability between various markets.

http://www.ietf.org

The Internet Engineering Task Force (IETF) is an internationally active cooperative of researchers, network designers, suppliers, and users. It concentrates on the development of Internet architecture and the smooth operation of the Internet by means of protocols.

Every IETF standard is published as an RFC (Request for Comments) and is available free-of-charge. There are six types of RFC: proposed standards, draft standards, Internet standards, experimental protocols, information documents, and historic standards. Only the first three (proposed, draft, and full) are IETF standards in the narrower sense (see http://www.ietf.org/rfc/rfc1796.txt).

http://www.ieee.org

The Institute of Electrical and Electronics Engineers (IEEE) is an organization that draws up standards in the areas of information technology, telecommunication, medicine and health care, transport, and others. IEEE standards are subject to a fee.

http://www.iso.org

The ISO Committee (International Organization for Standards) is the world's largest developer of standards and maintains a network of national standardization institutes in over 140 countries. ISO standards are subject to a fee.

http://www.din.de , http://www.din.com

The Deutsches Institut für Normung (DIN) is a registered technical and scientific association. It was founded in 1917. According to DIN, the organization is “the institution responsible for standards in Germany and represents German interests in worldwide and European standards organizations.”

The association brings together manufacturers, consumers, trade professionals, service companies, scientists and others who have an interest in the establishment of standards. The standards are subject to a fee and can be ordered using the DIN home page.

Support for openSUSE

Useful support information for openSUSE is available in a number of sources.

Free installation support for retail box customer

Free community support http://en.opensuse.org/Communicate

If you encounter problems with the installation or use of openSUSE that you are unable to solve, our experienced support staff can offer practical assistance with the free installation support for registered releases. Nearly all common customer problems can be eliminated quickly and competently. You can use the extensive support offered through the community, as well.

Free Installation Support

Our free installation support is provided for a period of 90 days following the activation of your registration code http://www.open-slx.com/register or following the release of the next version. If you cannot find an answer to your question in any of the available information sources, we will gladly provide assistance for the following issues:

Installation on a typical home user system or laptop equipped with a single processor, at least 512 MB RAM, and 3 GB of free hard disk space.

Resizing of one Windows partition that occupies the entire hard disk.

Dual-boot installation with Windows, limited to Linux Support.

Installation of a local ATAPI CD or DVD drive.

Installation from a remote CD/DVD drive

Installation on the first or second hard disk in an IDE-only system (/dev/sda or /dev/sdb) or supported S-ATA system, excluding RAID.

Integration of a standard keyboard and standard mouse.

Configuration of the graphical user interface (without the hardware acceleration feature of the graphics card).

Installation of the boot manager in the MBR of the first hard disk without modifying the BIOS mapping.

Setup of Internet access with a supported PCI ISDN card or external serial modem (not USB). Conversely, setup of DSL based on PPPoE with a supported NIC.

Basic configuration of a supported WLAN adapter.

Basic configuration of an ALSA-supported PCI sound card.

Basic configuration of a locally-attached compatible printer with YaST.

Basic configuration of an IDE CD writer for use with k3b (CD burning application) without changing the jumper setting.

Configuration of a supported PCI ethernet card for LAN access with either DHCP (client) or static IP. This does not include the configuration of the LAN or any other computers or network components. It also does not cover the configuration of the computer as a router. Fault analysis is limited to checking for proper loading of the kernel module and the correct local network settings.

Configuration of an e-mail client (Evolution and KMail) for collecting mail from a POP3 account. Fault analysis is limited to checking for proper settings in the e-mail client.

Support for the package selection KDE Desktop or GNOME Desktop.

Upgrade from the previous version of the product.

Kernel updates (only official Novell update RPMs).

Installation of bug fixes and security updates from the official update server using online update or the manual method.

For a detailed listing of the subjects covered by the free installation support, check http://support.open-slx.com/products/suselinux/support_overview.html.

In case you are not sure if your support is covered, please do not hesitate to give us a call. We are happy to assist.

Contact Information for Free Installation Support

Reach our support staff under the following links and phone numbers. Our installation support is offered through call back. After your problem description our staff either tries to call you back in the next 2 hours or arrange a time for a call back. Please register your product at http://www.open-slx.com/register prior to your support request.

http://support.open-slx.com/eService

United States and Canada: +1-404-5854-269

Germany, Austria, Switzerland: Phone: +49 (0)911-8946-0303

UK: +44-2030-025-943

All other countries (English only): please see http://support.open-slx.com/products/opensuse/contact.html

For the most recent contact information, refer to http://support.open-slx.com/products/opensuse/contact.html.

Important Notes

Free installation support is offered to customers with a valid and activated registration code. You can activate your registration code at http://www.open-slx.com/register.

The registration code is not transferable to another person.

The free support covers the initial installation on one computer. Refer to our Web site for further information http://support.open-slx.com/products/suselinux/support_overview.html.

Contact Recommendations

We recommend using http://support.open-slx.com/eService to open a service request and to provide us with the relevant information like problem description and log files. It helps us to avoid misspelled commands, links, or directory names, which often cause frustrating problems and are particularly common during phone conversations. You will receive a reply soon, providing a practical solution.

Preparing a Support Request

We endeavor to help you as quickly and precisely as possible. The effort and time needed is considerably reduced if the question is formulated clearly. Please have answers to the following questions ready before contacting us:

Which program and version are you using? During which process does the problem occur?

What exactly is the problem? Try to describe the error as precisely as possible, using phrases with words such as when (for example, “When X is pressed, this error appears”).

What hardware do you use (graphics card, monitor, printer, ISDN card, etc.)? You can get this information from the YaST Hardware Information module.

Detailed documentation can be found in manuals, online help, and the Support Database. This comprehensive documentation of openSUSE gives guidance to solve a variety of problems. The SUSE Help Center on your desktop provides additional information about installed packages, the vital HOWTOs, and info pages.

You can access the latest Support Database articles online at http://www.open-slx.com/usersupport or access the community Support Database at http://en..open-slx.org/SDB. The Support Database, one of the most frequently used databases in the Linux world, offers our customers a wealth of analysis and solution approaches. You can retrieve tested solutions using the keyword search, history function, or version-dependent search.

Chapter 9. Common Problems and Their Solutions

This chapter offers a range of common problems that can arise with an intention of covering as many of the various types of potential problems as possible. That way, even if your precise situation is not listed here, there might be one similar enough to offer hints as to the solution.

Finding and Gathering Information

Linux logs things in a fair amount of detail. There are several places to look when you have problems with your system, most of which are standard to Linux systems in general and some of which are relevant to openSUSE systems. Most log files can also be viewed with YaST (Miscellaneous+Start-Up Log).

YaST offers the possibility to collect all system information needed by the support team. Use Miscellaneous+Support Query. Select the problem category. When all information is gathered, attach it to your support request.

The following is a list of the most commonly checked log files and what they typically contain.

Table 9.1. Log Files

Log File

Description

~/.xsession-errors

Messages from the desktop applications currently running. The ~ is the home directory of the current user.

/var/log/apparmor/

Log files from AppArmor, see “Confining Privileges with Novell AppArmor” (↑Security Guide) for detailed information.

/var/log/audit/audit.log

Log file from Audit to track any access to files, directories, or resources of your system and trace system calls.

/var/log/boot.msg

Messages from the kernel during the boot process.

/var/log/mail.*

Messages from the mail system.

/var/log/messages

Ongoing messages from the kernel and system log daemon when running.

/var/log/NetworkManager

Log file from NetworkManager to collect problems with network connectivity

/var/log/samba/

Directory containing Samba server and client log messages.

/var/log/SaX.log

Hardware messages from the SaX display and KVM system.

/var/log/warn

All messages from the kernel and system log daemon assigned WARNING level or higher.

/var/log/wtmp

Binary file containing user login records for the current machine session. View it with last.

/var/log/Xorg.*.log

Various start-up and runtime logs from the X Window system. It is useful for debugging failed X start-ups.

/var/log/YaST2/

Directory containing YaST's actions and their results.

/var/log/zypper.log

Log file of zypper.

Apart from log files, your machine also supplies you with information about the running system. See Table 9.2: System Information With the /proc File System

Table 9.2. System Information With the /proc File System

File

Description

/proc/cpuinfo

This displays processor information, including its type, make, model, and performance.

/proc/dma

This shows which DMA channels are currently being used.

/proc/interrupts

This shows which interrupts are in use and how many of each have been in use.

/proc/iomem

This displays the status of I/O (input/output) memory.

/proc/ioports

This shows which I/O ports are in use at the moment.

/proc/meminfo

This displays memory status.

/proc/modules

This displays the individual modules.

/proc/mounts

This displays devices currently mounted.

/proc/partitions

This shows the partitioning of all hard disks.

/proc/version

This displays the current version of Linux.

Apart from the /proc file system, the Linux kernel exports information with the sysfs module, an in-memory filesystem. This module represents kernel objects, their attributes and relationships. More about sysfs in the context of udev can be found in “Dynamic Kernel Device Management with udev” (↑Reference). Table 9.3 contains an overview of the most common directories under /sys.

Table 9.3. System Information With the /sys File System

File

Description

/sys/block

Contains subdirectories for each block device discovered from the system. Generally, these are mostly disk type devices.

/sys/bus

Contains subdirectories for each physical bus type

/sys/class

Contains subdirectories grouped together as a functional type of a device (like graphics, net, printer, etc.)

/sys/device

Contains the global device hierarchy.

Linux comes with a number of tools for system analysis and monitoring. See “System Monitoring Utilities” (↑Reference) for a selection of the most important ones used in system diagnostics.

Each scenario included in the following begins with a header describing the problem followed by a paragraph or two offering suggested solutions, available references for more detailed solutions, and cross-references to other scenarios that might be related.

Installation Problems

Installation problems are situations when a machine fails to install. It may fail entirely or it may not be able to start the graphical installer. This section highlights some of the typical problems you might run into and offers possible solutions or workarounds for these kinds of situations.

Checking Media

If you encounter any problems using the openSUSE installation media, check the integrity of your installation media with Software+Media Check. Media problems are more likely to occur with media you burn yourself. To check an openSUSE medium, insert it into the drive and click Start for YaST to check the checksum of the medium. This may take several minutes. If errors are detected, do not use this medium for installation.

Hardware Information

Display detected hardware and technical data using Hardware+Hardware Information. Click any node of the tree for more information about a device. This module is especially useful, for example, when submitting a support request for which you need information about your hardware.

Save the hardware information displayed to a file by clicking Save to File. Select the desired directory and filename then click Save to create the file.

No Bootable DVD Drive Available

If your computer does not contain a bootable DVD-ROM drive or if the one you have is not supported by Linux, there are several options for installing your machine without a need for a built-in DVD drive:

Booting from a Floppy Disk

Create a boot floppy and boot from floppy disk instead of DVD.

Using an External Boot Device

If it is supported by the machine's BIOS and the installation kernel, boot for installation from external DVD drives.

Network Boot via PXE

If a machine lacks a DVD drive, but provides a working ethernet connection, perform a completely network-based installation. See “Remote Installation via VNC—PXE Boot and Wake on LAN” (Chapter “Remote Installation”, ↑Reference) and “Remote Installation via SSH—PXE Boot and Wake on LAN” (Chapter “Remote Installation”, ↑Reference) for details.

Booting from a Floppy Disk (SYSLINUX)

On some older computers, there is no bootable DVD drive available, but a floppy disk drive. To install on such a system, create boot disks and boot your system with them.

The boot disks include the loader SYSLINUX and the program linuxrc. SYSLINUX enables the selection of a kernel during the boot procedure and the specification of any parameters needed for the hardware used. The program linuxrc supports the loading of kernel modules for your hardware and subsequently starts the installation.

When booting from a boot disk, the boot procedure is initiated by the boot loader SYSLINUX (package syslinux). When the system is booted, SYSLINUX runs a minimum hardware detection that mainly consists of the following steps:

The program checks if the BIOS provides VESA 2.0–compliant framebuffer support and boots the kernel accordingly.

The monitor data (DDC info) is read.

The first block of the first hard disk (MBR) is read to map BIOS IDs to Linux device names during the boot loader configuration. The program attempts to read the block by means of the the lba32 functions of the BIOS to determine if the BIOS supports these functions.

If you keep Shift pressed when SYSLINUX starts, all these steps are skipped. For troubleshooting purposes, insert the line

verbose 1

in syslinux.cfg for the boot loader to display which action is currently being performed.

If the machine does not boot from the floppy disk, you may need to change the boot sequence in the BIOS to A,C,CDROM.

External Boot Devices

Most DVD drives are supported. If the system does not have one or a floppy disk, it is still possible that an external DVD drive, connected with USB, FireWire, or SCSI, can be used to boot the system. This depends largely on the interaction of the BIOS and the hardware used. Sometimes a BIOS update may help if you encounter problems.

Booting from Installation Media Fails

One reason for a machine not to boot for installation is an incorrect boot sequence in BIOS. The BIOS boot sequence must have DVD drive set as the first entry for booting. Otherwise the machine would try to boot from another medium, typically the hard disk. Guidance for changing the BIOS boot sequence can be found the documentation provided with your motherboard or in the following paragraphs.

The BIOS is the software that enables the very basic functions of a computer. Motherboard vendors provide a BIOS specifically made for their hardware. Normally, the BIOS setup can only be accessed at a specific time—when the machine is booting. During this initialization phase, the machine performs a number of diagnostic hardware tests. One of them is a memory check, indicated by a memory counter. When the counter appears, look for a line, usually below the counter or somewhere at the bottom, mentioning the key to press to access the BIOS setup. Usually the key to press is Del, F1, or Esc. Press this key until the BIOS setup screen appears.

Procedure 9.1. Changing the BIOS Boot Sequence

Enter the BIOS using the proper key as announced by the boot routines and wait for the BIOS screen to appear.

To change the boot sequence in an AWARD BIOS, look for the BIOS FEATURES SETUP entry. Other manufacturers may have a different name for this, such as ADVANCED CMOS SETUP. When you have found the entry, select it and confirm with Enter.

In the screen that opens, look for a subentry called BOOT SEQUENCE. The boot sequence is often set to something like C,A or A,C. In the former case, the machine first searches the hard disk (C) then the floppy drive (A) to find a bootable medium. Change the settings by pressing PgUp or PgDown until the sequence is A,CDROM,C.

Leave the BIOS setup screen by pressing Esc. To save the changes, select SAVE & EXIT SETUP or press F10. To confirm that your settings should be saved, press Y.

Procedure 9.2. Changing the Boot Sequence in a SCSI BIOS (Adaptec Host Adapter)

Open the setup by pressing Ctrl+A.

Select Disk Utilities, which displays the connected hardware components.

Make note of the SCSI ID of your DVD drive.

Exit the menu with Esc.

Open Configure Adapter Settings. Under Additional Options, select Boot Device Options and press Enter.

Enter the ID of the DVD drive and press Enter again.

Press Esc twice to return to the start screen of the SCSI BIOS.

Exit this screen and confirm with Yes to boot the computer.

Regardless of what language and keyboard layout your final installation will be using, most BIOS configurations use the US keyboard layout as depicted in the following figure:

Figure 9.1. US Keyboard Layout

Fails to Boot

Some hardware types, mainly fairly old or very recent ones, fail to install. In many cases, this might happen because support for this type of hardware is missing from the installation kernel or due to certain functionality included in this kernel, such as ACPI, that still cause problems on some hardware.

If your system fails to install using the standard Installation mode from the first installation boot screen, try the following:

With the DVD still in the drive, reboot the machine with Ctrl-Alt-Del or using the hardware reset button.

When the boot screen appears, use the arrow keys of your keyboard to navigate to Installation–ACPI Disabled and press Enter to launch the boot and installation process. This option disables the support for ACPI power management techniques.

Proceed with the installation as described in Chapter 1, Installation with YaST.

If this fails, proceed as above, but choose Installation--Safe Settings instead. This option disables ACPI and DMA support. Most hardware should boot with this option.

If both of these options fail, use the boot options prompt to pass any additional parameters needed to support this type of hardware to the installation kernel. For more information about the parameters available as boot options, refer to the kernel documentation located in /usr/src/linux/Documentation/kernel-parameters.txt.

Obtaining Kernel Documentation

Install the kernel-source package to view the kernel documentation.

There are various other ACPI-related kernel parameters that can be entered at the boot prompt prior to booting for installation:

acpi=off

This parameter disables the complete ACPI subsystem on your computer. This may be useful if your computer cannot handle ACPI at all or if you think ACPI in your computer causes trouble.

acpi=force

Always enable ACPI even if your computer has an old BIOS dated before the year 2000. This parameter also enables ACPI if it is set in addition to acpi=off.

acpi=noirq

Do not use ACPI for IRQ routing.

acpi=ht

Run only enough ACPI to enable hyper-threading.

acpi=strict

Be less tolerant of platforms that are not strictly ACPI specification compliant.

pci=noacpi

Disable PCI IRQ routing of the new ACPI system.

pnpacpi=off

This option is for serial or parallel problems when your BIOS setup contains wrong interrupts or ports.

notsc

Disable the time stamp counter. This option can be used to work around timing problems on your systems. It is a new feature, if you see regressions on your machine, especially time related or even total hangs, this option is worth a try.

nohz=off

Disable the nohz feature. If your machine hangs, this option might help. Generally, you do not need it.

Once you have determined the right parameter combination, YaST automatically writes them to the boot loader configuration to make sure that the system boots properly next time.

If unexplainable errors occur when the kernel is loaded or during the installation, select Memory Test in the boot menu to check the memory. If Memory Test returns an error, it is usually a hardware error.

Fails to Launch Graphical Installer

After you insert the medium into your drive and reboot your machine, the installation screen comes up, but after you select Installation, the graphical installer does not start.

There are several ways to deal with this situation:

Try to select another screen resolution for the installation dialogs.

Select Text Mode for installation.

Do a remote installation via VNC using the graphical installer.

Procedure 9.3. Change Screen Resolution for Installation

Boot for installation.

Press F3 to open a menu from which to select a lower resolution for installation purposes.

Select Installation and proceed with the installation as described in Chapter 1, Installation with YaST.

Procedure 9.4. Installation in Text Mode

Boot for installation.

Press F3 and select Text Mode.

Select Installation and proceed with the installation as described in Chapter 1, Installation with YaST.

Procedure 9.5. VNC Installation

Boot for installation.

Enter the following text at the boot options prompt:

vnc=1 vncpassword=some_password

Replace some_password with the password to use for installation.

Select Installation then press Enter to start the installation.

Instead of starting right into the graphical installation routine, the system continues to run in text mode then halts, displaying a message containing the IP address and port number at which the installer can be reached via a browser interface or a VNC viewer application.

If using a browser to access the installer, launch the browser and enter the address information provided by the installation routines on the future openSUSE machine and hit Enter:

http://ip_address_of_machine:5801

A dialog opens in the browser window prompting you for the VNC password. Enter it and proceed with the installation as described in Chapter 1, Installation with YaST.

Important

Installation via VNC works with any browser under any operating system, provided Java support is enabled.

If you use any kind of VNC viewer on your preferred operating system, enter the IP address and password when prompted to do so. A window opens, displaying the installation dialogs. Proceed with the installation as usual.

Only Minimalistic Boot Screen Started

You inserted the medium into the drive, the BIOS routines are finished, but the system does not start with the graphical boot screen. Instead it launches a very minimalistic text-based interface. This might happen on any machine not providing sufficient graphics memory for rendering a graphical boot screen.

Although the text boot screen looks minimalistic, it provides nearly the same functionality as the graphical one:

Boot Options

Unlike the graphical interface, the different boot options cannot be selected using the cursor keys of your keyboard. The boot menu of the text mode boot screen offers some keywords to enter at the boot prompt. These keywords map to the options offered in the graphical version. Enter your choice and hit Enter to launch the boot process.

Custom Boot Options

After selecting a boot option, enter the appropriate keyword at the boot prompt or enter some custom boot options as described in Section “Fails to Boot”. To launch the installation process, press Enter.

Screen Resolutions

Use the F keys to determine the screen resolution for installation. If you need to boot in text mode, choose F3.

Boot Problems

Boot problems are situations when your system does not boot properly (does not boot to the expected runlevel and login screen).

Fails to Load the GRUB Boot Loader

If the hardware is functioning properly, it is possible that the boot loader has become corrupted and Linux cannot start on the machine. In this case, it is necessary to reinstall the boot loader. To reinstall the boot loader, proceed as follows:

Insert the installation media into the drive.

Reboot the machine.

Select Installation from the boot menu.

Select a language.

Accept the license agreement.

In the Installation Mode screen, select Other and set the installation mode to Repair Installed System.

Once in the YaST System Repair module, select Expert Tools then select Install New Boot Loader.

Restore the original settings and reinstall the boot loader.

Leave YaST System Repair and reboot the system.

Other reasons for the machine not booting may be BIOS-related:

BIOS Settings

Check your BIOS for references to your hard drive. GRUB might simply not be started if the hard drive itself cannot be found with the current BIOS settings.

BIOS Boot Order

Check whether your system's boot order includes the hard disk. If the hard disk option was not enabled, your system might install properly, but fail to boot when access to the hard disk is required.

No Graphical Login

If the machine comes up, but does not boot into the graphical login manager, anticipate problems either with the choice of the default runlevel or the configuration of the X Window System. To check the runlevel configuration, log in as the root user and check whether the machine is configured to boot into runlevel 5 (graphical desktop). A quick way to check this is to examine the contents of /etc/inittab, as follows:

nld-machine:~ # grep "id:" /etc/inittab
id:5:initdefault:
nld-machine:~ #

The returned line indicates that the machine's default runlevel (initdefault) is set to 5 and that it should boot to the graphical desktop. If the runlevel is set to any other number, use the YaST Runlevel Editor module to set it to 5.

Important

Do not edit the runlevel configuration manually. Otherwise SuSEconfig (run by YaST) will overwrite these changes on its next run. If you need to make manual changes here, disable future SuSEconfig changes by setting CHECK_INITTAB in /etc/sysconfig/suseconfig to no.

If the runlevel is set to 5, you might have corruption problems with your desktop or X Windows software. Examine the log files at /var/log/Xorg.*.log for detailed messages from the X server as it attempted to start. If the desktop fails during start, it might log error messages to /var/log/messages. If these error messages hint at a configuration problem in the X server, try to fix these issues. If the graphical system still does not come up, consider reinstalling the graphical desktop.

One quick test: the startx command should force the X Window System to start with the configured defaults if the user is currently logged in on the console. If that does not work, it should log errors to the console.

Login Problems

Login problems are those where your machine does, in fact, boot to the expected welcome screen or login prompt, but refuses to accept the username and password or accepts them but then does not behave properly (fails to start the graphic desktop, produces errors, drops to a command line, etc.).

Valid Username and Password Combinations Fail

This usually occurs when the system is configured to use network authentication or directory services and, for some reason, is unable to retrieve results from its configured servers. The root user, as the only local user, is the only user that can still log in to these machines. The following are some common reasons why a machine might appear functional but be unable to process logins correctly:

The network is not working. For further directions on this, turn to Section “Network Problems”.

DNS is not working at the moment (which prevents GNOME or KDE from working and the system from making validated requests to secure servers). One indication that this is the case is that the machine takes an extremely long time to respond to any action. Find more information about this topic in Section “Network Problems”.

If the system is configured to use Kerberos, the system's local time might have drifted past the accepted variance with the Kerberos server time (this is typically 300 seconds). If NTP (network time protocol) is not working properly or local NTP servers are not working, Kerberos authentication ceases to function because it depends on common clock synchronization across the network.

The system's authentication configuration is misconfigured. Check the PAM configuration files involved for any typographical errors or misordering of directives. For additional background information about PAM and the syntax of the configuration files involved, refer to “Authentication with PAM” (↑Security Guide).

The home partition is encrypted. Find more information about this topic in Section “Login to Encrypted Home Partition Fails”.

In all cases that do not involve external network problems, the solution is to reboot the system into single-user mode and repair the configuration before booting again into operating mode and attempting to log in again. To boot into single-user mode:

Reboot the system. The boot screen appears, offering a prompt.

Enter 1 at the boot prompt to make the system boot into single-user mode.

Enter the username and password for root.

Make all the necessary changes.

Boot into the full multiuser and network mode by entering telinit 5 at the command line.

Valid Username and Password Not Accepted

This is by far the most common problem users encounter, because there are many reasons this can occur. Depending on whether you use local user management and authentication or network authentication, login failures occur for different reasons.

Local user management can fail for the following reasons:

The user might have entered the wrong password.

The user's home directory containing the desktop configuration files is corrupted or write protected.

There might be problems with the X Window System authenticating this particular user, especially if the user's home directory has been used with another Linux distribution prior to installing the current one.

To locate the reason for a local login failure, proceed as follows:

Check whether the user remembered his password correctly before you start debugging the whole authentication mechanism. If the user might not remember his password correctly, use the YaST User Management module to change the user's password. Pay attention to the Caps Lock key and unlock it, if necessary.

Log in as root and check /var/log/messages for error messages of the login process and of PAM.

Try to log in from a console (using Ctrl+Alt+F1). If this is successful, the blame cannot be put on PAM, because it is possible to authenticate this user on this machine. Try to locate any problems with the X Window System or the desktop (GNOME or KDE). For more information, refer to Section “Login Successful but GNOME Desktop Fails” and Section “Login Successful but KDE Desktop Fails”.

If the user's home directory has been used with another Linux distribution, remove the Xauthority file in the user's home. Use a console login via Ctrl+Alt+F1 and run rm .Xauthority as this user. This should eliminate X authentication problems for this user. Try a graphical login again.

If graphical login still fails, do a console login with Ctrl+Alt+F1. Try to start an X session on another display—the first one (:0) is already in use:

startx -- :1

This should bring up a graphical screen and your desktop. If it does not, check the log files of the X Window System (/var/log/Xorg.displaynumber.log) or the log file for your desktop applications (.xsession-errors in the user's home directory) for any irregularities.

If the desktop could not start because of corrupt configuration files, proceed with Section “Login Successful but GNOME Desktop Fails” or Section “Login Successful but KDE Desktop Fails”.

The following are some common reasons why network authentication for a particular user might fail on a specific machine:

The user might have entered the wrong password.

The username exists in the machine's local authentication files and is also provided by a network authentication system, causing conflicts.

The home directory exists but is corrupt or unavailable. Perhaps it is write protected or is on a server that is inaccessible at the moment.

The user does not have permission to log in to that particular host in the authentication system.

The machine has changed hostnames, for whatever reason, and the user does not have permission to log in to that host.

The machine cannot reach the authentication server or directory server that contains that user's information.

There might be problems with the X Window System authenticating this particular user, especially if the user's home has been used with another Linux distribution prior to installing the current one.

To locate the cause of the login failures with network authentication, proceed as follows:

Check whether the user remembered his password correctly before you start debugging the whole authentication mechanism.

Determine the directory server the machine relies on for authentication and make sure that it is up and running and properly communicating with the other machines.

Determine that the user's username and password work on other machines to make sure that his authentication data exists and is properly distributed.

See if another user can log in to the misbehaving machine. If another user can log in without difficulty or if root can log in, log in and examine the /var/log/messages file. Locate the time stamps that correspond to the login attempts and determine if PAM has produced any error messages.

Try to log in from a console (using Ctrl+Alt+F1). If this is successful, the blame cannot be put on PAM or the directory server on which the user's home is hosted, because it is possible to authenticate this user on this machine. Try to locate any problems with the X Window System or the desktop (GNOME or KDE). For more information, refer to Section “Login Successful but GNOME Desktop Fails” and Section “Login Successful but KDE Desktop Fails”.

If the user's home directory has been used with another Linux distribution, remove the Xauthority file in the user's home. Use a console login via Ctrl+Alt+F1 and run rm .Xauthority as this user. This should eliminate X authentication problems for this user. Try a graphical login again.

If graphical login still fails, do a console login with Ctrl+Alt+F1. Try to start an X session on another display—the first one (:0) is already in use:

startx -- :1

This should bring up a graphical screen and your desktop. If it does not, check the log files of the X Window System (/var/log/Xorg.displaynumber.log) or the log file for your desktop applications (.xsession-errors in the user's home directory) for any irregularities.

If the desktop could not start because of corrupt configuration files, proceed with Section “Login Successful but GNOME Desktop Fails” or Section “Login Successful but KDE Desktop Fails”.

Login to Encrypted Home Partition Fails

It is recommended to use an encrypted home partition for laptops. If you cannot log in to your laptop, the reason is usually simple: your partition could not be unlocked.

During boot time you have to enter the passphrase to unlock your encrypted partition. If you do not enter it, the boot process continues, leaving the partition locked.

To unlock your encrypted partition, proceed as follows:

Switch to the text console with Ctrl+Alt+F1.

Become root.

Restart the unlocking process again with:

/etc/init.d/boot.crypto restart

Enter your passphrase to unlock your encrypted partition.

Exit the text console and switch back to the login screen with Alt+F7.

Log in as usual.

Login Successful but GNOME Desktop Fails

If this is true for a particular user, it is likely that the user's GNOME configuration files have become corrupted. Some symptoms might include the keyboard failing to work, the screen geometry becoming distorted, or even the screen coming up as a bare gray field. The important distinction is that if another user logs in, the machine works normally. If this is the case, it is likely that the problem can be fixed relatively quickly by simply moving the user's GNOME configuration directory to a new location, which causes GNOME to initialize a new one. Although the user is forced to reconfigure GNOME, no data is lost.

Switch to a text console by pressing Ctrl+Alt+F1.

Log in with your user name.

Move the user's GNOME configuration directories to a temporary location:

mv .gconf  .gconf-ORIG-RECOVER
mv .gnome2 .gnome2-ORIG-RECOVER

Log out.

Log in again, but do not run any applications.

Recover your individual application configuration data (including the Evolution e-mail client data) by copying the ~/.gconf-ORIG-RECOVER/apps/ directory back into the new ~/.gconf directory as follows:

cp -a .gconf-ORIG-RECOVER/apps .gconf/

If this causes the login problems, attempt to recover only the critical application data and reconfigure the remainder of the applications.

Login Successful but KDE Desktop Fails

There are several reasons why a KDE desktop would not allow users to login. Corrupted cache data can cause login problems as well as corrupt KDE desktop configuration files.

Cache data is used at desktop start-up to increase performance. If this data is corrupted, start-up is slowed down or fails entirely. Removing them forces the desktop start-up routines to start from scratch. This takes more time than a normal start-up, but data is intact after this and the user can login.

To remove the cache files of the KDE desktop, issue the following command as root:

rm -rf /tmp/kde-user /tmp/ksocket-user

Replace user with the actual username. Removing these two directories just removes the corrupted cache files. No real data is harmed using this procedure.

Corrupted desktop configuration files can always be replaced with the initial configuration files. If you want to recover the user's adjustments, carefully copy them back from their temporary location after the configuration has been restored, using the default configuration values.

To replace a corrupted desktop configuration with the initial configuration values, proceed as follows:

Switch to a text console by pressing Ctrl+Alt+F1.

Log in with your username.

Move the KDE configuration directory and the .skel files to a temporary location:

For KDE3 use these commands:

mv .kde  .kde-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVER

For KDE4 use these commands:

mv .kde4  .kde4-ORIG-RECOVER
mv .skel .skel-ORIG-RECOVER

Log out.

Log in again.

After the desktop has started successfully, copy the user's own configurations back into place:

cp -a KDEDIR/share .kde/share

Replace KDEDIR with the directory from Step 3.

Important

If the user's own adjustments caused the login to fail and continue to do so, repeat the procedure as described above, but do not copy the .kde/share directory.

X Window System Problems

By default, the X Window System does not need a configuration file anymore. It is autodetected during startup. Only in case of problems should you proceed and setup and edit configuration files.

Faulty X Configurations can Damage Your Hardware

Be very careful when configuring your X Window System. Never start the X Window System until the configuration is finished. A misconfigured system can cause irreparable damage to your hardware (this applies especially to fixed-frequency monitors).

The creators of this book and openSUSE cannot be held responsible for any resulting damage. This information has been carefully researched, but this does not guarantee that all methods presented here are correct and cannot damage your hardware.

The command sax2 creates the /etc/X11/xorg.conf file. This is the primary configuration file of the X Window System. Find all the settings here concerning your graphics card, mouse and monitor.

Using X -configure

Use X -configure to configure your X setup if previous tries with openSUSE's SaX2 have failed. If your setup involves proprietary binary-only drivers, X -configure cannot work.

The following sections describe the structure of the configuration file /etc/X11/xorg.conf. It consists of several sections, each one dealing with a certain aspect of the configuration. Each section starts with the keyword Section <designation> and ends with EndSection. The following convention applies to all sections:

Section "designation"
  entry 1
  entry 2
  entry n
EndSection

The section types available are listed in Table 9.4, “Sections in /etc/X11/xorg.conf”.

Table 9.4. Sections in /etc/X11/xorg.conf

Type

Meaning

Files

The paths used for fonts and the RGB color table.

ServerFlags

General switches for the server behavior.

Module

A list of modules the server should load

InputDevice

Input devices like keyboards and special input devices (touchpads, joysticks, etc.) are configured in this section. Important parameters in this section are Driver and the options defining the Protocol and Device. You normally have one InputDevice section per device attached to the computer.

This section is only considered when the option Option "AutoAddDevices" "off" is being used in ServerFlags. SaX2 only inserts a comment.

Monitor

The monitor used. Important elements of this section are the Identifier, which is referred to later in the Screen definition, the refresh rate VertRefresh and the synchronization frequency limits (HorizSync and VertRefresh). Settings are given in MHz, kHz and Hz. Normally, the server refuses any modeline that does not correspond with the specification of the monitor. This prevents too high frequencies from being sent to the monitor by accident.

However, the Monitor section is handled differently, if you use RandR 1.2 capable drivers, for example intel, radeon, radeonhd, nouveau, or nv. Do not refer the Monitor inside the Screen section. Instead use the Device section like this:

Option "monitor-OUTPUT" "MONITORNAME"

The placeholder OUTPUT depends on the corresponding driver (and sometimes on the version.) Get a list with the command xrandr (your X has to be started.)

Modes

The modeline parameters for the specific screen resolutions. These parameters can be calculated by SaX2 on the basis of the values given by the user and normally do not need to be changed. Intervene manually at this point if, for example, you want to connect a fixed frequency monitor. Find details of the meaning of individual number values in the HOWTO files in /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO (available in the howtoenh package). To calculate VESA modes manually, you can use the tool cvt. For example, to calculate a modeline for a 1680x1050@60Hz monitor, use the command cvt 1680 1050 60.

Device

A specific graphics card. It is referenced by its descriptive name. The options available in this section strongly depend on the driver used. For example, if you use the intel driver, find more information about the available options in the manual page man 4 intel.

Screen

Combines a Monitor and a Device to form all the necessary settings for X.Org. In the Display subsection, specify the size of the virtual screen (Virtual), the ViewPort and the Modes used with this screen.

For RandR 1.2, the Virtual option does not define the size of the virtual desktop anymore. Instead, it definies the maximal framebuffer size. This is important, if you need a second monitor and want to configure a bigger desktop size.

Note that some drivers demand that all of the used configurations must be present in the Display section at some place. For example, if you use a laptop and want to use an external monitor that is bigger than the internal LCD, it might be necessary to add a bigger resolution than supported by the internal LCD at the end of the Modes line.

If you use RandR 1.2 capable drivers (intel, radeon, radeonhd, nouveau, nv), refer to the Monitor section for more information.

ServerLayout

The layout of a single or multihead configuration. This section binds the input devices InputDevice and the display devices Screen.

DRI

Provides information for the Direct Rendering Infrastructure (DRI).

Monitor, Device and Screen are explained in more detail. Further information about the other sections can be found in the manual pages of X.Org and xorg.conf.

There can be several different Monitor and Device sections in xorg.conf. Even multiple Screen sections are possible. The ServerLayout section determines which of these sections is used.

Screen Section

The screen section combines a monitor with a device section and determines the resolution and color depth to use. A screen section might resemble Example 9.1, “Screen Section of the File /etc/X11/xorg.conf”.

Example 9.1. Screen Section of the File /etc/X11/xorg.conf

Section "Screen"
  DefaultDepth  16
  SubSection "Display"
    Depth       16
    Modes       "1152x864" "1024x768" "800x600"
    Virtual     1152x864
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  EndSubSection
  SubSection "Display"
    Depth       32
    Modes "640x480"
  EndSubSection
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  EndSubSection
  Device        "Device[0]"
  Identifier    "Screen[0]"
  Monitor       "Monitor[0]"
EndSection

Section determines the section type, in this case Screen.

DefaultDepth determines the color depth to use by default unless another color depth is explicitly specified.

For each color depth, different Display subsections are specified.

Depth determines the color depth to be used with this set of Display settings. Possible values are 8, 15, 16, 24 and 32, though not all of these might be supported by all X server modules or resolutions.

The Modes section comprises a list of possible screen resolutions. The list is checked by the X server from left to right. For each resolution, the X server searches for a suitable Modeline in the Modes section. The Modeline depends on the capability of both the monitor and the graphics card. The Monitor settings determine the resulting Modeline.

The last line of the Display subsection with Depth 16 refers to the size of the virtual screen. The maximum possible size of a virtual screen depends on the amount of memory installed on the graphics card and the desired color depth, not on the maximum resolution of the monitor. If you omit this line, the virtual resolution is just the physical resolution. Because modern graphics cards have a large amount of video memory, you can create very large virtual desktops. However, you may no longer be able to use 3D functionality if you fill most of the video memory with a virtual desktop. If, for example, the card has 16 MB of video RAM, the virtual screen can take up to 4096x4096 pixels in size at 8-bit color depth. Especially for accelerated cards, however, it is not recommended to use all your memory for the virtual screen, because the card's memory is also used for several font and graphics caches.

The Identifier line (here Screen[0]) gives this section a defined name with which it can be uniquely referenced in the following ServerLayout section. The lines Device and Monitor specify the graphics card and the monitor that belong to this definition. These are just links to the Device and Monitor sections with their corresponding names or identifiers. These sections are discussed in detail below.

Use this only, when using non RandR 1.2 capable drivers. See the Monitor section in Table 9.4 for more details.

Device Section

A device section describes a specific graphics card. You can have as many device entries in xorg.conf as you like, provided their names are differentiated using the keyword Identifier. If you have more than one graphics card installed, the sections are simply numbered in order. The first one is called Device[0], the second one Device[1], and so on. The following file shows an excerpt from the Device section of a computer with a Matrox Millennium PCI graphics card (as configured by SaX2):

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

The BusID refers to the PCI or AGP slot in which the graphics card is installed. The X server only needs a BusID if multiple graphic cards are active in the system (including any on-board chips.) The BusID matches the ID displayed by the command lspci. The X server needs details in decimal form, but lspci displays these in hexadecimal form. The value of BusID is automatically detected by SaX2.

The value of Driver is automatically set by SaX2 and specifies which driver to use for your graphics card. If the card is a Matrox Millennium, the driver module is called mga. The X server then searches through the ModulePath defined in the Files section in the drivers subdirectory. In a standard installation, this is the /usr/lib/xorg/modules/drivers directory or the /usr/lib64/xorg/modules/drivers directory for 64-Bit operating systems directory. _drv.so is added to the name, so, in the case of the mga driver, the driver file mga_drv.so is loaded.

For RandR 1.2 compatible drivers, use the Device section to reference to a Monitor section.

The behavior of the X server or of the driver can also be influenced through additional options. An example of this is the option sw_cursor, which is set in the device section. This deactivates the hardware mouse cursor and depicts the mouse cursor using software. Depending on the driver module, there are various options available (which can be found in the description files of the driver modules in the directory /usr/share/doc/package_name ). Generally valid options can also be found in the manual pages (man xorg.conf, man 4 <driver module>, and man 4 chips).

If the graphics card has multiple video connectors, it is possible to configure the different devices of this single card as one single view. Use SaX2 to set up your graphics interface this way.

Monitor and Modes Section

RandR 1.2 Capable Drivers

If you use an intel, radeon, radeonhd, nouveau, or nv driver, you can not reference the Monitor section from the Screen section anymore. Find more information in Table 9.4, “Sections in /etc/X11/xorg.conf”.

Like the Device sections, the Monitor and Modes sections describe one monitor each. The configuration file /etc/X11/xorg.conf can contain as many Monitor sections as desired. Each Monitor section may reference a Modes section with the line UseModes if available. If no Modes section is available for the Monitor section, the X server calculates appropriate values from the general synchronization values. The server layout section specifies which Monitor section is relevant.

Monitor definitions should only be set by experienced users. The modelines are an important part of the Monitor sections. Modelines set horizontal and vertical timings for the respective resolution. The monitor properties, especially the allowed frequencies, are stored in the Monitor section. Standard VESA modes can be generated with the utility cvt. For more information read the manual page of cvt man cvt.

Warning

Unless you have in-depth knowledge of monitor and graphics card functions, do not change the modelines, because this could severely damage your monitor.

Those who try to develop their own monitor descriptions should be very familiar with the documentation in /usr/share/X11/doc. Install the package xorg-x11-doc to find PDFs and HTML pages.

Manual specification of modelines is rarely required today. If you are using a modern multisync monitor, the allowed frequencies and optimal resolutions can, as a rule, be read directly from the monitor by the X server via DDC, as described in the SaX2 configuration section. If this is not possible for some reason, use one of the VESA modes included in the X server. This will work with most graphics card and monitor combinations.

Network Problems

Many problems of your system may be network-related, even though they do not seem to be at first. For example, the reason for a system not allowing users to log in might be a network problem of some kind. This section introduces a simple check list you can apply to identify the cause of any network problem encountered.

Procedure 9.6. How to Identify Network Problems

When checking the network connection of your machine, proceed as follows:

If using an ethernet connection, check the hardware first. Make sure that your network cable is properly plugged into your computer and router (or hub, etc.). The control lights next to your ethernet connector, if available, should both be active.

If the connection fails, check whether your network cable works with another machine. If it does, your network card causes the failure. If hubs or switches are included in your network setup, they may be faulty, as well.

If using a wireless connection, check whether the wireless link can be established by other machines. If this is not the case, contact the wireless network's administrator.

Once you have checked your basic network connectivity, try to find out which service is not responding. Gather the address information of all network servers needed in your setup. Either look them up in the appropriate YaST module or ask your system administrator. The following list gives some of the typical network servers involved in a setup together with the symptoms of an outage.

DNS (Name Service)

A broken or malfunctioning name service affects the network's functionality in many ways. If the local machine relies on any network servers for authentication and these servers cannot be found due to name resolution issues, users would not even be able to log in. Machines in the network managed by a broken name server would not be able to “see” each other and communicate.

NTP (Time Service)

A malfunctioning or completely broken NTP service could affect Kerberos authentication and X server functionality.

NFS (File Service)

If any application needed data stored in an NFS mounted directory, it would not be able to start or function properly if this service was down or misconfigured. In a worst case scenario, a user's personal desktop configuration would not come up if his home directory containing the .gconf or .kde subdirectories could not be found due to a faulty NFS server.

Samba (File Service)

If any application needed data stored in a directory on a faulty Samba server, it would not be able to start or function properly.

NIS (User Management)

If your openSUSE system relied on a faulty NIS server to provide the user data, users would not be able to log in to this machine.

LDAP (User Management)

If your openSUSE system relied on a faulty LDAP server to provide the user data, users would not be able to log in to this machine.

Kerberos (Authentication)

Authentication would not work and login to any machine would fail.

CUPS (Network Printing)

Users would not be able to print.

Check whether the network servers are running and whether your network setup allows you to establish a connection:

Important

The debugging procedure described below only applies to a simple network server/client setup that does not involve any internal routing. It assumes both server and client are members of the same subnet without the need for additional routing.

Use ping hostname (replace hostname with the hostname of the server) to check whether each one of them is up and responding to the network. If this command is successful, it tells you that the host you were looking for is up and running and that the name service for your network is configured correctly.

If ping fails with destination host unreachable, either your system or the desired server is not properly configured or down. Check whether your system is reachable by running ping your_hostname from another machine. If you can reach your machine from another machine, it is the server that is not running at all or not configured correctly.

If ping fails with unknown host, the name service is not configured correctly or the hostname used was incorrect. Use ping -n ipaddress to try to connect to this host without name service. If this is successful, check the spelling of the hostname and for a misconfigured name service in your network. For further checks on this matter, refer to Step 4.b. If ping still fails, either your network card is not configured correctly or your network hardware is faulty.

Use host hostname to check whether the hostname of the server you are trying to connect to is properly translated into an IP address and vice versa. If this command returns the IP address of this host, the name service is up and running. If the host command fails, check all network configuration files relating to name and address resolution on your host:

/etc/resolv.conf

This file is used to keep track of the name server and domain you are currently using. It can be modified manually or automatically adjusted by YaST or DHCP. Automatic adjustment is preferable. However, make sure that this file has the following structure and all network addresses and domain names are correct:

search fully_qualified_domain_name
nameserver ipaddress_of_nameserver

This file can contain more than one name server address, but at least one of them must be correct to provide name resolution to your host. If needed, adjust this file using the YaST DNS and Hostname module.

If your network connection is handled via DHCP, enable DHCP to change hostname and name service information by selecting Change Hostname via DHCP and Update Name Servers and Search List via DHCP in the YaST DNS and Hostname module.

/etc/nsswitch.conf

This file tells Linux where to look for name service information. It should look like this:

 ...
hosts: files dns
networks: files dns
...

The dns entry is vital. It tells Linux to use an external name server. Normally, these entries are automatically made by YaST, but it would be prudent to check.

If all the relevant entries on the host are correct, let your system administrator check the DNS server configuration for the correct zone information. For detailed information about DNS, refer to “The Domain Name System” (↑Reference). If you have made sure that the DNS configuration of your host and the DNS server are correct, proceed with checking the configuration of your network and network device.

If your system cannot establish a connection to a network server and you have excluded name service problems from the list of possible culprits, check the configuration of your network card.

Use the command ifconfig network_device (executed as root) to check whether this device was properly configured. Make sure that both inet address and Mask are configured correctly. An error in the IP address or a missing bit in your network mask would render your network configuration unusable. If necessary, perform this check on the server as well.

If the name service and network hardware are properly configured and running, but some external network connections still get long time-outs or fail entirely, use traceroute fully_qualified_domain_name (executed as root) to track the network route these requests are taking. This command lists any gateway (hop) that a request from your machine passes on its way to its destination. It lists the response time of each hop and whether this hop is reachable at all. Use a combination of traceroute and ping to track down the culprit and let the administrators know.

Once you have identified the cause of your network trouble, you can resolve it yourself (if the problem is located on your machine) or let the system administrators of your network know about your findings so they can reconfigure the services or repair the necessary systems.

NetworkManager Problems

If you have a problem with network connectivity, narrow it down as described in Procedure 9.6, “How to Identify Network Problems”. If NetworkManager seems to be the culprit, proceed as follows to get logs providing hints on why NetworkManager fails:

Open a shell and log in as root.

Restart the NetworkManager:

rcnetwork restart -o nm

Open a web page, for example, http://www.opensuse.org as normal user to see, if you can connect.

Collect any information about the state of NetworkManager in /var/log/NetworkManager.

For more information about NetworkManager, refer to Chapter 5, Using NetworkManager.

Data Problems

Data problems are when the machine might or might not boot properly but, in either case, it is clear that there is data corruption on the system and that the system needs to be recovered. These situations call for a backup of your critical data, enabling you to recover the system state from before your system failed. openSUSE offers dedicated YaST modules for system backup and restoration as well as a rescue system that can be used to recover a corrupted system from the outside.

Managing Partition Images

Sometimes you need to perform a backup from an entire partition or even hard disk. Linux comes with the dd tool which can create a exact copy of your disc. Combined with gzip you save some space.

Procedure 9.7. Backing and Restoring up Harddiscs

Start a Shell as user root.

Select your source device. Typically this is something like /dev/sda (labeled as SOURCE).

Decide where you want to store your image (labeled as BACKUP_PATH). It must be different from your source device. In other words: if you make a backup from /dev/sda, your image file need not to be stored under /dev/sda.

Run the commands to create an compressed image file:

dd if=/dev/SOURCE | gzip > /BACKUP_PATH/image.gz

Restore the hard disk with the following commands:

gzip -dc /BACKUP_PATH/image.gz | dd of=/dev/SOURCE

If you only need a partition to backup, replace the SOURCE placeholder with your respective partition. In this case, your image file can lie on the same hard disk, but on a different partition.

Backing Up Critical Data

System backups can be easily managed using the YaST System Backup module:

As root, start YaST and select System+System Backup.

Create a backup profile holding all details needed for the backup, filename of the archive file, scope, and type of the backup:

Select Profile Management+Add.

Enter a name for the archive.

Enter the path to the location of the backup if you want to keep a local backup. For your backup to be archived on a network server (via NFS), enter the IP address or name of the server and the directory that should hold your archive.

Determine the archive type and click Next.

Determine the backup options to use, such as whether files not belonging to any package should be backed up and whether a list of files should be displayed prior to creating the archive. Also determine whether changed files should be identified using the time-consuming MD5 mechanism.

Use Expert to enter a dialog for the backup of entire hard disk areas. Currently, this option only applies to the Ext2 file system.

Finally, set the search constraints to exclude certain system areas from the backup area that do not need to be backed up, such as lock files or cache files. Add, edit, or delete items until your needs are met and leave with OK.

Once you have finished the profile settings, you can start the backup right away with Create Backup or configure automatic backup. It is also possible to create other profiles tailored for various other purposes.

To configure automatic backup for a given profile, proceed as follows:

Select Automatic Backup from the Profile Management menu.

Select Start Backup Automatically.

Determine the backup frequency. Choose daily, weekly, or monthly.

Determine the backup start time. These settings depend on the backup frequency selected.

Decide whether to keep old backups and how many should be kept. To receive an automatically generated status message of the backup process, check Send Summary Mail to User root.

Click OK to apply your settings and have the first backup start at the time specified.

Restoring a System Backup

Use the YaST System Restoration module to restore the system configuration from a backup. Restore the entire backup or select specific components that were corrupted and need to be reset to their old state.

Start YaST+System+System Restoration.

Enter the location of the backup file. This could be a local file, a network mounted file, or a file on a removable device, such as a floppy or a DVD. Then click Next.

The following dialog displays a summary of the archive properties, such as the filename, date of creation, type of backup, and optional comments.

Review the archived content by clicking Archive Content. Clicking OK returns you to the Archive Properties dialog.

Expert Options opens a dialog in which to fine-tune the restore process. Return to the Archive Properties dialog by clicking OK.

Click Next to open the view of packages to restore. Press Accept to restore all files in the archive or use the various Select All, Deselect All, and Select Files buttons to fine-tune your selection. Only use the Restore RPM Database option if the RPM database is corrupted or deleted and this file is included in the backup.

After you click Accept, the backup is restored. Click Finish to leave the module after the restore process is completed.

Recovering a Corrupted System

There are several reasons why a system could fail to come up and run properly. A corrupted file system following a system crash, corrupted configuration files, or a corrupted boot loader configuration are the most common ones.

openSUSE offers two different methods to resolve these situations. You can either use the YaST System Repair functionality or boot the rescue system. The following sections cover both types of system repair.

Using YaST System Repair

Keyboard and Language Settings

If you change the language settings after booting, your keyboard is adapted as well.

Before launching the YaST System Repair module, determine in which mode to run it to best fit your needs. Depending on the severity and cause of your system failure (and your expertise), there are three different modes to choose from:

Automatic Repair

If your system failed due to an unknown cause and you basically do not know which part of the system is to blame for the failure, use Automatic Repair. An extensive automated check will be performed on all components of your installed system. For a detailed description of this procedure, refer to Section “Automatic Repair”.

Customized Repair

If your system failed and you already know which component is to blame, you can cut the lengthy system check with Automatic Repair short by limiting the scope of the system analysis to those components. For example, if the system messages prior to the failure seem to indicate an error with the package database, you can limit the analysis and repair procedure to checking and restoring this aspect of your system. For a detailed description of this procedure, refer to Section “Customized Repair”.

Expert Tools

If you already have a clear idea of what component failed and how this should be fixed, you can skip the analysis runs and directly apply the tools necessary for the repair of the relevant component. For details, refer to Section “Expert Tools”.

Choose one of the repair modes as described above and proceed with the system repair as outlined in the following sections.

Automatic Repair

To start the automatic repair mode of YaST System Repair, proceed as follows:

Insert the installation medium of openSUSE into your DVD drive.

Reboot the system.

On the boot screen, select Repair Installed System.

Confirm the license agreement and click Next.

Select Automatic Repair.

YaST now launches an extensive analysis of the installed system. The progress of the procedure is displayed at the bottom of the screen with two progress bars. The upper bar shows the progress of the currently running test. The lower bar shows the overall progress of the analysis. The log window in the top section tracks the currently running test and its result. See Figure 9.2, “Automatic Repair Mode”.

Figure 9.2. Automatic Repair Mode

The following main test runs are performed with every run. They contain, in turn, a number of individual subtests:

Check Partition Tables

Checks the validity and coherence of the partition tables of all detected hard disks.

Check Swap Areas

The swap partitions of the installed system are detected, tested, and offered for activation, where applicable. This offer should be accepted for the sake of a higher system repair speed.

Check File Systems

All detected file systems are subjected to a file system–specific check.

Check fstab Entries

The entries in the file are checked for completeness and consistency. All valid partitions are mounted.

Check Package Database

This checks whether all packages necessary for the operation of a minimal installation are present. While it is optionally possible to also analyze the base packages, this takes a long time because of their vast number.

Check Boot Loader Configuration

The boot loader configuration of the installed system (GRUB or LILO) is checked for completeness and coherence. Boot and root devices are examined and the availability of the initrd modules is checked.

Whenever an error is encountered, the procedure stops and a dialog opens outlining the details and possible solutions.

Read the screen messages carefully before accepting the proposed fix. If you decide to decline a proposed solution, your system remains unchanged.

After the repair process has been terminated successfully, click OK and Finish and remove the installation media. The system automatically reboots.

Customized Repair

To launch the Customized Repair mode and selectively check certain components of your installed system, proceed as follows:

Insert the installation medium of openSUSE into your DVD drive.

Reboot the system.

At the boot screen, select Repair Installed System.

Confirm the license agreement and click Next.

Select Customized Repair.

Choosing Customized Repair shows a list of test runs that are all marked for execution at first. The total range of tests matches that of automatic repair. If you already know where no damage is present, unmark the corresponding tests. Clicking Next starts a narrower test procedure that probably has a significantly shorter running time.

Not all test groups can be applied individually. The analysis of the fstab entries is always bound to an examination of the file systems, including existing swap partitions. YaST automatically resolves such dependencies by selecting the smallest number of necessary test runs.

Whenever an error is encountered, the procedure stops and a dialog opens outlining the details and possible solutions.

Read the screen messages carefully before accepting the proposed fix. If you decide to decline a proposed solution, your system remains unchanged.

After the repair process has been terminated successfully, click OK and Finish and remove the installation media. The system automatically reboots.

Expert Tools

If you are knowledgeable with openSUSE and already have a very clear idea of what needs to be repaired in your system, directly apply the tools, skipping the system analysis.

To make use of the Expert Tools feature of the YaST System Repair module, proceed as follows:

Insert the installation medium of openSUSE into your DVD drive.

Reboot the system.

At the boot screen, select Repair Installed System.

Confirm the license agreement and click Next.

Select Expert Tools and choose a repair option.

After the repair process has been terminated successfully, click OK and Finish and remove the installation media. The system automatically reboots.

The Expert Tools provides the following options to repair your faulty system:

Install New Boot Loader

This starts the YaST boot loader configuration module. Find details in “Configuring the Boot Loader with YaST” (Chapter “The Boot Loader GRUB”, ↑Reference).

Boot Installed System

Try to boot an already-installed Linux system.

Start Partitioning Tool

This starts the expert partitioning tool in YaST.

Repair File System

This checks the file systems of your installed system. You are first offered a selection of all detected partitions and can then choose the ones to check.

Recover Lost Partitions

It is possible to attempt to reconstruct damaged partition tables. A list of detected hard disks is presented first for selection. Clicking OK starts the examination. This can take a while depending on the speed of your computer and the size and speed of the hard disk.

Reconstructing a Partition Table

The reconstruction of a partition table is tricky. YaST attempts to recognize lost partitions by analyzing the data sectors of the hard disk. The lost partitions are added to the rebuilt partition table when recognized. This is, however, not successful in all imaginable cases.

Save System Settings to Floppy

This option saves important system files to a floppy disk. If one of these files becomes damaged, it can be restored from disk.

Verify Installed Software

This checks the consistency of the package database and the availability of the most important packages. Any damaged installed packages can be reinstalled with this tool.

Using the Rescue System

openSUSE contains a rescue system. The rescue system is a small Linux system that can be loaded into a RAM disk and mounted as root file system, allowing you to access your Linux partitions from the outside. Using the rescue system, you can recover or modify any important aspect of your system:

Manipulate any type of configuration file.

Check the file system for defects and start automatic repair processes.

Access the installed system in a “change root” environment.

Check, modify, and reinstall the boot loader configuration.

Resize partitions using the parted command. Find more information about this tool at the GNU Parted website http://www.gnu.org/software/parted/parted.html.

The rescue system can be loaded from various sources and locations. The simplest option is to boot the rescue system from the original installation medium:

Insert the installation medium into your DVD drive.

Reboot the system.

At the boot screen, press F4 and choose DVD-ROM. Then choose Rescue System from the main menu.

Enter root at the Rescue: prompt. A password is not required.

If your hardware setup does not include a DVD drive, you can boot the rescue system from a network source (including the openSUSE FTP server). The following example applies to a remote boot scenario—if using another boot medium, such as a DVD, modify the info file accordingly and boot as you would for a normal installation.

Enter the configuration of your PXE boot setup and add the lines install=protocol://instsource and rescue=1. If you need to start the repair system, use repair=1 instead. As with a normal installation, protocol stands for any of the supported network protocols (NFS, HTTP, FTP, etc.) and instsource for the path to your network installation source.

Boot the system using “Wake on LAN”, as described in “Wake on LAN” (Chapter “Remote Installation”, ↑Reference).

Enter root at the Rescue: prompt. A password is not required.

Once you have entered the rescue system, you can make use of the virtual consoles that can be reached with Alt+F1 to Alt+F6.

A shell and many other useful utilities, such as the mount program, are available in the /bin directory. The sbin directory contains important file and network utilities for reviewing and repairing the file system. This directory also contains the most important binaries for system maintenance, such as fdisk, mkfs, mkswap, mount, mount, init, and shutdown, and ifconfig, ip, route, and netstat for maintaining the network. The directory /usr/bin contains the vi editor, find, less, and ssh.

To see the system messages, either use the command dmesg or view the file /var/log/messages.

Checking and Manipulating Configuration Files

As an example for a configuration that might be fixed using the rescue system, imagine you have a broken configuration file that prevents the system from booting properly. You can fix this using the rescue system.

To manipulate a configuration file, proceed as follows:

Start the rescue system using one of the methods described above.

To mount a root file system located under /dev/sda6 to the rescue system, use the following command:

mount /dev/sda6 /mnt

All directories of the system are now located under /mnt

Change the directory to the mounted root file system:

cd /mnt

Open the problematic configuration file in the vi editor. Adjust and save the configuration.

Unmount the root file system from the rescue system:

umount /mnt

Reboot the machine.

Repairing and Checking File Systems

Generally, file systems cannot be repaired on a running system. If you encounter serious problems, you may not even be able to mount your root file system and the system boot may end with a “kernel panic”. In this case, the only way is to repair the system from the outside. It is strongly recommended to use the YaST System Repair for this task (see Section “Using YaST System Repair” for details). However, if you need to do a manual file system check or repair, boot the rescue system. It contains the utilities to check and repair the ext2, ext3, ext4, reiserfs, xfs, dosfs, and vfat file systems.

Accessing the Installed System

If you need to access the installed system from the rescue system to, you need to do this in a change root environment. For example, to modify the boot loader configuration, or to execute a hardware configuration utility.

To set up a change root environment based on the installed system, proceed as follows:

First mount the root partition from the installed system and the device file system (change the device name to your current settings):

mount /dev/sda6 /mnt
mount --bind /dev /mnt/dev

Now you can “change root” into the new environment:

chroot /mnt

Then mount /proc and /sys:

mount /proc
mount /sys

Finally, mount the remaining partitions from the installed system:

mount -a

Now you have access to the installed system. Before rebooting the system, unmount the partitions with umount -a and leave the “change root” environment with exit.

Limitations

Although you have full access to the files and applications of the installed system, there are some limitations. The kernel that is running is the one that was booted with the rescue system, not with the change root environment. It only supports essential hardware and it is not possible to add kernel modules from the installed system unless the kernel versions are exactly the same (which is unlikely). So you cannot access a sound card, for example. It is also not possible to start a graphical user interface.

Also note that you leave the “change root” environment when you switch the console with Alt+F1 to Alt+F6.

Modifying and Reinstalling the Boot Loader

Sometimes a system cannot boot because the boot loader configuration is corrupted. The start-up routines cannot, for example, translate physical drives to the actual locations in the Linux file system without a working boot loader.

To check the boot loader configuration and reinstall the boot loader, proceed as follows:

Perform the necessary steps to access the installed system as described in Section “Accessing the Installed System”.

Check whether the following files are correctly configured according to the GRUB configuration principles outlined in “The Boot Loader GRUB” (↑Reference).

/etc/grub.conf

/boot/grub/device.map

/boot/grub/menu.lst

Apply fixes to the device mapping (device.map) or the location of the root partition and configuration files, if necessary.

Reinstall the boot loader using the following command sequence:

grub --batch < /etc/grub.conf

Unmount the partitions, log out from the “change root” environment, and reboot the system:

umount -a
exit
reboot

Appendix A. GNU Licenses

This appendix contains the GNU General Public License and the GNU Free Documentation License.

GNU General Public License

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0.  This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”.

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1.  You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2.  You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a).  You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b).  You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c).  If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3.  You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a).  Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b).  Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c).  Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4.  You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5.  You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6.  Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7.  If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8.  If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9.  The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10.  If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11.  BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12.  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

one line to give the program’s name and an idea of what it does. Copyright (C) yyyy name of author

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2
   of the License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

   Gnomovision version 69, Copyright (C) year name of author
   Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
   type `show w’. This is free software, and you are welcome
   to redistribute it under certain conditions; type `show c’
   for details.

The hypothetical commands `show w’ and `show c’ should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w’ and `show c’; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names:

   Yoyodyne, Inc., hereby disclaims all copyright
   interest in the program `Gnomovision’
   (which makes passes at compilers) written
   by James Hacker.

   signature of Ty Coon, 1 April 1989
   Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

GNU Free Documentation License

Version 1.2, November 2002

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful document “free” in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

A.  Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.

B.  List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.

C.  State on the Title page the name of the publisher of the Modified Version, as the publisher.

D.  Preserve all the copyright notices of the Document.

E.  Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

F.  Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.

G.  Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.

H.  Include an unaltered copy of this License.

I.  Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.

J.  Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

K.  For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.

L.  Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.

M.  Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.

N.  Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.

O.  Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements”.

COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

   Copyright (c) YEAR YOUR NAME.
   Permission is granted to copy, distribute and/or modify this document
   under the terms of the GNU Free Documentation License, Version 1.2
   only as published by the Free Software Foundation;
   with the Invariant Section being this copyright notice and license.
   A copy of the license is included in the section entitled “GNU
   Free Documentation License”.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with...Texts.” line with this:

   with the Invariant Sections being LIST THEIR TITLES, with the
   Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.

Index

A

access permissions

directory, Files and Folders

file, Files and Folders

file system, File Access Permissions

AutoYaST

cloning system, Installation Completed

B

Bash

commands, Entering Commands

completion, Useful Features of the Shell

features, Useful Features of the Shell

history, Useful Features of the Shell

jobs, Starting Programs and Handling Processes

pipes, Redirection and Pipes

processes, Starting Programs and Handling Processes

redirection, Redirection and Pipes

searching, Searching for Files or Contents

shortcut keys, Bash Shortcut Keys

wild cards, Useful Features of the Shell

boot screen, The Boot Screen

booting

DVDs, from, Booting from Installation Media Fails

floppy disks, from, Booting from a Floppy Disk (SYSLINUX)

C

cards

graphics, Device Section

sound, Setting Up Sound Cards

case-sensitivity

directory name, Key Features

file name, Key Features

cat, Viewing Text Files, Commands to Access File Contents

cd, File Administration

chgrp, File Administration

chmod, File Administration

chown, File Administration

clear, Miscellaneous

commands, Viewing Text Files, Important Linux Commands, Miscellaneous

bg, Starting Programs and Handling Processes

cat, Commands to Access File Contents

cd, File Administration

chgrp, File Administration

chmod, Modifying File Permissions, File Administration

chown, Modifying File Permissions, File Administration

clear, Miscellaneous

cp, File Administration

date, System Information

df, System Information

diff, Commands to Access File Contents

du, System Information

fg, Starting Programs and Handling Processes

file, Commands to Access File Contents

find, Searching for Files or Contents, File Administration

free, System Information

grep, Searching for Files or Contents, Commands to Access File Contents

gzip, File Administration

halt, Miscellaneous

help, Getting Help

host, Network

info, Getting Help

jobs, Starting Programs and Handling Processes

kill, Starting Programs and Handling Processes, Processes

killall, Processes

less, Commands to Access File Contents

ln, File Administration

locate, Searching for Files or Contents, File Administration

ls, File Administration

man, Getting Help, Important Linux Commands

mkdir, File Administration

mount, File Systems

mv, File Administration

passwd, Miscellaneous

ping, Network

ps, Starting Programs and Handling Processes, Processes

reboot, Miscellaneous

rm, File Administration

rmdir, File Administration

ssh, Network

su, Miscellaneous

tar, File Administration

top, Processes

umount, File Systems

updatedb, File Administration

Completion

Bash, Useful Features of the Shell

configuration files

asound.conf, Setting Up Sound Cards

fstab, File Systems

modprobe.d/sound, Setting Up Sound Cards

xorg.conf, X Window System Problems

Device, Device Section

Monitor, Monitor and Modes Section

Screen, Screen Section

configuring

printing, Setting Up a Printer, Sharing Printers Over the Network

local printers, Configuring Local Printers

network printing, Configuring Printing via the Network with YaST

sharing printers, Sharing Printers Over the Network

scanner, Setting Up a Scanner

HP All-In-One, Configuring an HP All-In-One Device

network, Sharing a Scanner over the Network, Scanning over the Network

sound cards, Setting Up Sound Cards

cp, File Administration

D

date, System Information

device

mount, Key Features

df, System Information

diff, Commands to Access File Contents

directories

/, The Directory Structure

/bin, The Directory Structure

/boot, The Directory Structure

/dev, The Directory Structure

/etc, The Directory Structure

/home, The Directory Structure

/lib, The Directory Structure

/media, The Directory Structure

/mnt, The Directory Structure

/opt, The Directory Structure

/root, The Directory Structure

/sbin, The Directory Structure

/srv, The Directory Structure

/tmp, The Directory Structure

/usr, The Directory Structure

/var, The Directory Structure

/windows, The Directory Structure

changing, File Administration

creating, File Administration

deleting, File Administration

paths, Working with Files and Directories

structure, The Directory Structure

directory

access permissions, Files and Folders

documentation (see help)

drive

mount, Key Features

drives

mounting, File Systems

unmounting, File Systems

du, System Information

DVDs

booting from, Booting from Installation Media Fails

checking, Checking Media

E

editor

vi, Editing Texts

encrypting

home partition problem, Login to Encrypted Home Partition Fails

F

file , Commands to Access File Contents

access permissions, Files and Folders

file system, The Linux File System

access permissions, File Access Permissions

devices, Key Features

directories, Key Features

mount, Key Features

partitions, Key Features

paths, Key Features

permissions, Key Features

unmount, Key Features

file systems

NTFS, Resizing a Windows Partition

repairing, Repairing and Checking File Systems

files

archiving, File Administration

comparing, Commands to Access File Contents

compressing, File Administration

copying, File Administration

deleting, File Administration

editing, Editing Texts

moving, File Administration

paths, Working with Files and Directories

searching, Searching for Files or Contents

searching contents, Commands to Access File Contents

searching for, File Administration

viewing, Viewing Text Files, Commands to Access File Contents

find, File Administration

firmware test, The Boot Screen

free, System Information

G

graphics

cards

drivers, Device Section

grep, Commands to Access File Contents

groups

concept, Groups

gzip, File Administration

H

halt, Miscellaneous

hardware

information, Hardware Information

head, Viewing Text Files

help, Help and Documentation

help center, Help and Documentation

info pages, Getting Help

KDE help center, Using the KDE Help Center

Linux documentation project (TLDP), The Linux Documentation Project

man pages, Getting Help, Important Linux Commands

Novell/SUSE manuals, Available Documentation

online documentation

Novell/SUSE manuals, Additional Help Resources

options, Getting Help

specifications, Standards and Specifications

standards, Standards and Specifications

TLDP

FAQs, Frequently Asked Questions

guides, Guides

Usenet, Usenet

Wikipedia, Wikipedia: The Free Online Encyclopedia

X, Monitor and Modes Section

Yelp, Using GNOME Yelp

History

Bash, Useful Features of the Shell

host, Network

I

info pages, Getting Help

installation, Installation with YaST, Graphical Login

add-on, Add-On Products

automatic configuration, Automatic System Configuration

boot screen, The Boot Screen

clock, Clock and Time Zone

desktop selection, Desktop Selection

domain name, Hostname and Domain Name

hardware configuration, Hardware Configuration

hostname, Hostname and Domain Name

internet connection, Test Internet Connection

keyboard, Welcome

language, Welcome

manual configuration, Manual System Configuration

media, Choosing the Installation Media

media check, The Boot Screen

method, Choosing the Installation Method

mode, Installation Mode

network, Network Setup

other, Installing from a Network Source without SLP

SLP, Installing from a Network Server Using SLP

network configuration, Network Configuration

online update, Online Update

partitioning, Suggested Partitioning

resizing Windows, Resizing a Windows Partition

performing, Performing the Installation

release notes, Performing the Installation, Release Notes

root password, Password for the System Administrator root

settings, Installation Settings

software updates, Online Update

summary, Installation Settings

system start-up, System Start-Up for Installation

system type, Desktop Selection

time zone, Clock and Time Zone

user, Create New User, New Local User

expert settings, Expert Settings

windows, Installing with the openSUSE 11.2 Installer from Windows

workflow, The Installation Workflow

installing

YaST, with, Installation with YaST, Graphical Login

internet

cable modem, Checklist Cable Modem

cable modem checklist, Checklist Cable Modem

configuring, Accessing the Internet

direct connection, Direct Internet Connection

dsl, Checklist DSL

dsl checklist, Checklist DSL

isdn, Checklist ISDN

isdn checklist, Checklist ISDN

modem, Checklist Modem

modem checklist, Checklist Modem

network checklist, Checklist Network

network connection, Internet Connection Via Network

Internet

connecting to, Using NetworkManager

J

jobs

shell, Starting Programs and Handling Processes

K

kill, Processes

killall, Processes

L

less, Viewing Text Files, Commands to Access File Contents

license agreement, Welcome

Linux

basic concepts, Basic Concepts

case-sensitivity, Key Features

file extensions, Key Features

file system, The Linux File System

hidden files, Key Features

multiuser system, User Concept

ln, File Administration

locate, File Administration

ls, Starting a Shell, Using Commands without Options, File Administration

options, Using Commands with Options

M

man pages, Getting Help, Important Linux Commands

memory test, The Boot Screen

mkdir, File Administration

more, Viewing Text Files

mount, File Systems

device, Key Features

drive, Key Features

partition, Key Features

removable media, Key Features

mv, File Administration

N

NetworkManager, Using NetworkManager

configuring, Configuring Network Connections

enabling, Enabling NetworkManager

GNOME NetworkManager applet, Using GNOME NetworkManager Applet

KNetworkManager, Using KNetworkManager

security, NetworkManager and Security

troubleshooting, Troubleshooting

VPN, NetworkManager and VPN

Novell/SUSE manuals, Available Documentation

O

options

--help, Getting Help

P

partition

mount, Key Features

partitions

creating, Suggested Partitioning

resizing Windows, Resizing a Windows Partition

passwd, Miscellaneous

passwords

changing, Miscellaneous

paths, Working with Files and Directories

absolute, Working with Files and Directories

relative, Working with Files and Directories

permissions

changing, Modifying File Permissions, File Administration

execute, Permissions for User, Group and Others

read, Permissions for User, Group and Others

write, Permissions for User, Group and Others

ping, Network

pipes

shell, Redirection and Pipes

printing

configuration with YaST, Setting Up a Printer, Sharing Printers Over the Network

local printers, Configuring Local Printers

network printing, Configuring Printing via the Network with YaST

sharing printers, Sharing Printers Over the Network

processes, Processes

killing, Processes

overview, Processes

shell, Starting Programs and Handling Processes

ps, Processes

R

reboot, Miscellaneous

recovering partitions, Expert Tools

recovering systems, Recovering a Corrupted System

redirection

shell, Redirection and Pipes

removable media

mount, Key Features

repairing systems, Using YaST System Repair

rescue system, Using the Rescue System

starting from medium, Using the Rescue System

starting from network source, Using the Rescue System

rm, File Administration

rmdir, File Administration

S

scanning

configuring, Setting Up a Scanner

HP All-In-One, Configuring an HP All-In-One Device

network, Sharing a Scanner over the Network, Scanning over the Network

security

users, Distinct User Roles

shell

basics, Shell Basics

jobs, Starting Programs and Handling Processes

pipes, Redirection and Pipes

processes, Starting Programs and Handling Processes

prompt, Starting a Shell

redirection, Redirection and Pipes

root, Becoming Root

starting, Starting a Shell

shells

commands, Important Linux Commands, Miscellaneous

sound

configuring in YaST, Setting Up Sound Cards

fonts, Setting Up Sound Cards

MIDI, Setting Up Sound Cards

ssh, Network

su, Miscellaneous

support query, Finding and Gathering Information

system

rebooting, Miscellaneous

rescuing, Using the Rescue System

shutdown, Miscellaneous

T

tail, Viewing Text Files

tar, File Administration

TLDP, The Linux Documentation Project

HOWTOs, HOWTOs

top, Processes

U

umount, File Systems

updatedb, File Administration

US Keyboard Layout, Booting from Installation Media Fails

users

concept, User Concept

groups, Groups

roles, Distinct User Roles

root, Distinct User Roles

superuser, Distinct User Roles

system administrator, Distinct User Roles

V

vi, Editing Texts

VPN, NetworkManager and VPN

W

Wild Cards

Bash, Useful Features of the Shell

wild cards, File Administration

X

X

configuring, X Window System Problems, Monitor and Modes Section

drivers, Device Section

help, Monitor and Modes Section

SaX2, X Window System Problems

virtual screen, Screen Section

xorg.conf, X Window System Problems

X.Org, X Window System Problems

xorg.conf

color depth, Screen Section

Depth, Screen Section

Device, Screen Section

Display, Screen Section

Files, X Window System Problems

InputDevice, X Window System Problems

Modeline, Screen Section

modelines, X Window System Problems

Modes, X Window System Problems, Screen Section

modules, X Window System Problems

Monitor, X Window System Problems, Screen Section

ServerFlags, X Window System Problems

Y

YaST

add-on, Add-On Products

clock, Clock and Time Zone

desktop selection, Desktop Selection

domain name, Hostname and Domain Name

hardware

information, Hardware Information

hostname, Hostname and Domain Name

installation mode, Installation Mode

installation settings, Installation Settings

installation summary, Installation Settings

installing with, Installation with YaST, Graphical Login

keyboard, Welcome

language, Welcome

media check, The Boot Screen, Checking Media

network configuration, Network Configuration

online update, Online Update

partitioning, Suggested Partitioning

printer configuration, Setting Up a Printer, Sharing Printers Over the Network

local printers, Configuring Local Printers

network printing, Configuring Printing via the Network with YaST

sharing printers, Sharing Printers Over the Network

repairing systems, Using YaST System Repair

rescue system, The Boot Screen

root password, Password for the System Administrator root

scanner, Setting Up a Scanner

HP All-In-One, Configuring an HP All-In-One Device

network, Sharing a Scanner over the Network, Scanning over the Network

software updates, Online Update

sound cards, Setting Up Sound Cards

starting, System Start-Up for Installation

support query, Finding and Gathering Information

system start-up, System Start-Up for Installation

system type, Desktop Selection

time zone, Clock and Time Zone