Chapter 5. Updating the System and Package Management

Table of Contents

5.1. Updating SUSE LINUX
5.2. Software Changes from Version to Version
5.3. RPM — the Package Manager

Abstract

SUSE LINUX provides the option of updating an existing system without completely reinstalling it. There are two types of updates: updating individual software packages and updating the entire system. Packages can also be installed by hand using the package manager RPM.

5.1. Updating SUSE LINUX

Software tends to grow from version to version. Therefore, take a look at the available partition space with df before updating. If you suspect you are running short of disk space, secure your data before updating and repartition your system. There is no general rule of thumb regarding how much space each partition should have. Space requirements depend on your particular partitioning profile, the software selected, and the version numbers of SUSE LINUX.

[Important]Important

Read the README file on the CD. This file contains any changes made after this manual went to print.

5.1.1. Preparations

Before updating, copy the old configuration files to a separate medium (streamer, removable hard disk, ZIP drive) to secure the data. This primarily applies to files stored in /etc as well as some of the directories and files in /var and /opt. Furthermore, you may want to write the user data in /home (the HOME directories) to a backup medium. Back up this data as root. Only root has read permission for all local files.

Before starting your update, make note of the root partition. The command df / lists the device name of the root partition. In Example 5.1. “List with df -h”, the root partition to write down is /dev/hda2 (mounted as /).

Example 5.1. List with df -h

Filesystem  Size  Used  Avail Use% Mounted on
/dev/hda1   1.9G  189M  1.7G  10%  /dos
/dev/hda2   8.9G  7.1G  1.4G  84%  /
/dev/hda5   9.5G  8.3G  829M  92%  /home

5.1.2. Possible Problems

5.1.2.1. Checking passwd and group in /etc

Before updating the system, make sure /etc/passwd and /etc/group do not contain any syntax errors. For this purpose, start the verification utilities pwck and grpck as root and eliminate any reported errors.

5.1.2.2. PostgreSQL

Before updating PostgreSQL™ (postgres), dump the databases. See the manual page of pg_dump. This is, of course, only necessary if you actually used PostgreSQL prior to your update.

5.1.2.3. x86: Promise Controller

The hard disk controller manufactured by Promise is currently found on high-end motherboards in numerous computer models, either as a pure IDE controller (for UDMA 100) or as an IDE-RAID controller. As of SUSE LINUX 8.0, these controllers are directly supported by the kernel and treated as a standard controller for IDE hard disks. The additional kernel module pdcraid is required for RAID functionality.

For some updates, hard disks on the Promise controller may be detected before disks on the standard IDE controller. If so, the system no longer boots following a kernel update and usually exits with Kernel panic: VFS: unable to mount root fs. In this case, the kernel parameter ide=reverse must be passed when booting to reverse this disk detection process. To apply this parameter permanently when using YaST, enter it in the boot configuration.

[Warning]Warning

Only the controllers activated in the BIOS are detectable. In particular, subsequently activating or deactivating the controllers in the BIOS has a direct effect on the device names. Use caution or risk being unable to boot the system.

Technical Explanation

The controller sequence depends on the motherboard. Each manufacturer wires its supplementary controllers differently. The lspci shows this sequence. If the Promise controller is listed before the standard IDE controller, the kernel parameter ide=reverse is required after updating. With the previous kernel (without direct Promise support), the controller was ignored so the standard IDE controller was detected first. The first disk was then /dev/hda. With the new kernel, the Promise controller is detected immediately and its (up to four) disks are registered as /dev/hda, /dev/hdb, /dev/hdc, and /dev/hdd. The previous /dev/hda disk becomes /dev/hde so is no longer detectable in the boot process.

5.1.3. Updating with YaST

Following the preparation procedure outlined in Section 5.1.1. “Preparations”, you can now update your system:

  1. Boot the system as for the installation. In YaST, choose a language and select Update Existing System. Do not select New Installation.

  2. YaST determines whether there are multiple root partitions. If there is only one, continue with the next step. If there are several, select the right partition and confirm with Next (/dev/hda7 was selected in the example in Section 5.1.1. “Preparations”). YaST reads the old fstab on this partition to analyze and mount the file systems listed there.

  3. Then you have the possibility to make a backup copy of the system files during the update. This option slows down the update process. Use this option if you do not have a recent system backup.

  4. In the following dialog, either choose to update only the software that is already installed or to add new software components to the system (upgrade mode). It is advisable to accept the suggested composition (e.g., Standard System). Adjustments can be made later with YaST.

    Figure 5.1. Updating the Software

    Updating the Software

5.1.4. Manual Update

5.1.4.1. Updating the Base System

As basic system components, such as libraries, must be exchanged when updating a base system, an update cannot be run from within a currently running Linux system. First, set up the update environment. This is normally done using the CD or DVD or with a custom boot disk. If you are carrying out manual modifications during the update or prefer to perform the entire update with YaST in text mode, follow the steps described in Section 3.3. “Text-Based Installation with YaST”. Below is a summary of this procedure.

  1. Immediately after booting the kernel from the boot disk or from the CD or DVD, linuxrc automatically starts.

  2. In linuxrc, specify the language and keyboard settings under Settings and click OK to confirm each setting.

  3. You might need to load the required hardware and software drivers via Kernel Modules. See Section 3.1. “linuxrc” for more details of how to proceed and Section 3.1.3. “Loading Modules” for a description of linuxrc.

  4. Go to Start Installation or System+Start Installation or Update to select the source medium (see Section 3.1.5. “Start Installation or System”).

  5. The installation environment is loaded from linuxrc then YaST starts.

Following the selection of a language and the hardware detection by YaST, select Update Existing System in the YaST opening screen. Next, YaST attempts to determine the root partition and displays the result for selection or confirmation. Select your root partition from the list (example: /dev/hda2). In this way, prompt YaST to read the old fstab from this partition. YaST analyzes and mounts the file systems listed there.

Then you have the possibility to make a backup copy of the system files during the update. In the following dialog, either choose to update only the software already installed or to add important new software components to the system (upgrade mode). It is advisable to accept the suggested composition (e.g., Standard system). Adjustments can be made later with YaST.

In the warning dialog, select Yes to start the installation of the new software from the source medium to the system hard disk. First, the RPM database is checked, then the main system components are updated. YaST automatically creates backups of files modified in the running system since the last installation. In addition, old configuration files are backed up with the endings .rpmorig and .rpmsave. The installation or update procedure is logged in /var/log/YaST2/y2log* and can be viewed later at any time.

5.1.4.2. Updating the Rest of the System

After the base system is updated, you are switched to YaST's update mode. This mode allows you to tailor the rest of the system update to your needs. Complete the procedure as you would a new installation. Among other things, select a new kernel. The available options are presented by YaST.

5.1.4.3. Possible Problems

If certain shell environments no longer behave as expected after the update, check to see if the current dot files in the home directory are still compatible with your system. If not, use the current versions in /etc/skel. For example, cp /etc/skel/.profile ~/.profile.