Novell is now a part of Micro Focus

Basics: The Terminology and Tools for Installing SUSE Software

Novell Cool Solutions: Feature
By Stomfi

Digg This - Slashdot This

Posted: 7 Sep 2005
 

AH wrote: What are the differences between updates, patches and packages. When do we use Red Carpet/rug? When do we use YAST2 or YOU to install them?

Answer: For SUSE

The best way of answering this question is to quote from the excellent SUSE documentation, with a few of my own comments.

Packages are a way of encapsulating all the necessary programs, libraries, configurations and documentation needed to run a version of a program. They are usually in compressed form to save space or network traffic. A package manager is often used to install, delete, or upgrade packages, and to maintain a database regarding details about the installed packages.

Important updates and improvements of packages installed by the package manager can be updated by modifying the existing package code with a small patch, instead of downloading and replacing the whole package. The man page for the patch command line utility states:

Patch takes a patch file containing a difference listing produced by the diff program and applies those differences to one or more original files, producing patched versions. Normally the patched versions are put in place of the originals.

To put it verbosely, the patch creator uses the diff program to compare the new package with the old, which produces a file containing the edit commands necessary to convert the old into the new. This means a patch is a way of applying updates to existing packages.

The SUSE package manager is included in YaST2

This is a quote from the online documentation:

YaST2 is used to configure the system. It can configure common hardware (sound cards, printers, keyboards, mice), network connections (network cards, ISDN cards, modems, DSL connections), network clients and services (NFS, NIS), as well as a general system options (language, partitioning, software, bootloader).

Use YaST2 alone to launch the YaST2 Control Center from which you can select a particular configuration module or use the YaST2 <module> to launch the module directly.

For example:

yast2 -i, --install <package>
Install an RPM package. The package can be a single short package name (e.g. gvim) which will be installed with dependency checking, or the full path to an rpm package (e.g /tmp/gvim.rpm) which will be installed without dependency checking.

This is what the SUSE Linux Administration Guide has to say about it.

In Linux, software is available in the form of packages. Normally, a package contains everything needed for a program: the program itself, the configuration files, and documentation. A package containing the source files for the program is normally available as well. The sources are not needed for running the program, but you may want to install the sources to compile a custom version of the program.

Some packages depend on other packages. This means that the software of the package only works properly if another package is also installed. Furthermore, the installation of some packages is only possible if certain other packages are installed, perhaps because the installation routine needs specific tools. Accordingly, such packages must be installed in the correct sequence. There are some packages with identical or similar functionalities. If these packages use the same system resource, they should not be installed concurrently (package conflict). Dependencies and conflicts can occur between two or more packages and are sometimes very complex. The fact that a specific package version may be required for smooth interaction can make things even more complicated.

All these factors must be taken into consideration when installing, uninstalling, and updating software. YaST provides an extremely efficient tool for this purpose: the software installation module, usually referred to as the package manager. When the package manager starts, it examines the system and displays installed packages. If you select additional packages for installation, the package manager automatically checks the dependencies and selects any other needed packages (resolution of dependencies). If you select conflicting packages, the package manager indicates this and submits suggestions for solving the problem (resolution of conflicts). If a package needed by other installed packages is marked for deletion, the package manager issues an alert with detailed information and alternative solutions.

Apart from these purely technical aspects, the package manager provides a well-structured overview of the range of packages in SUSE Linux. The packages are arranged by subjects and the display of these groups is restricted by means of suitable filters.

Chapter 2 has this to say about YOU:

The YaST Online Update (YOU) enables the installation of important updates and improvements. These patches are available for download on the SUSE FTP server and various mirror servers.

You can run YOU as an applet (daemon), which will check to see if updates are available while you are on line.

To summarise this far:

  • a package contains everything needed for a program
  • a patch is a way of applying updates to existing packages
  • an update contains important security and performance improvements

Red Carpet

Red Carpet is a product with the same functionalities as those found in YaST2 package management. Whereas YaST2 is distributed with SUSE distributions, Red Carpet is made by Ximian, another Novell company, and is distributed with the Novell Desktop Linux product amongst others. There is an Open Carpet package which can be used with other distributions. Red Carpet can be used to support multiple distributions. This means that your NLD and SUSE 9.3 machines can be updated in exactly the same way.

When to use YaST2, YOU or Red Carpet

It depends on which distributions you are using in your network, as to which product to use. If you have all SUSE, then YaST2 is the one, but if you have a mix, including non Novell distros, Red Carpet would be a better choice.

Both YaST and Red Carpet can be run as a daemon, constantly checking for updates while you are on line, which is a very good idea so you can immediately patch security holes, and increase functionality and performance of your systems. You can run this service completely automated if you have the bandwidth and download limit, or you can manually select updates, when and if you need them.

This Newbie answer has covered:

What is a package
What is an update
What is a patch
What is the difference between YaST2, YOU, and Red Carpet
When do you use them


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© Micro Focus