2.3. Software

2.3.1. Change Installation Source

The installation source is the medium containing the software to install. YaST can administer a number of different installation sources. It enables their selection for installation or update purposes. For example, add the SUSE Software Development Kit CDs as an installation source.

When this module starts, it displays a list of all previously registered sources. Following a normal installation from CD, only the installation CD is listed. Click Add to include additional sources in this list. You can add removable media, such as CDs, and network servers, such as NFS and FTP. Even directories on the local hard disk can be selected as the installation medium. See the detailed YaST help text.

During the installation or update, YaST can take multiple installation sources into consideration. All registered sources have an activation status in the first column of the list. Click Activate or Deactivate to activate or deactivate individual installation sources. During the installation of software packages or updates, YaST selects the suitable installation source from the range of activated installation sources. When you exit the module with Close, the current settings are saved and applied to the configuration modules Install and Remove Software and System Update.

Figure 2.2. Change Installation Source

Change Installation Source

2.3.2. YaST Online Update

The YaST Online Update (YOU) enables the installation of important updates and improvements. The current patches for your SUSE product are available from the SUSE Maintenance Web service. With Installation Source select one of the various servers. When you select a server, its URL is copied to the input field, where it can be edited. Specify local URLs in the form file:/my/path or /my/path. Expand the existing list with additional servers using New Server. Click Edit Server to modify the settings of the currently selected server.

[Important]Availability of a Local Update Server

If a dedicated YOU Server was installed in the local intranet using the YOU Server module (see Section 4.2. “Managing Software Updates with the YOU Server”), the YOU clients can be configured to poll this server instead of an external one. The configuration of the clients is described in Section 4.2.2. “Configuring the Clients”.

When the module starts, Manual Selection of Patches is active, enabling determination of whether individual patches should be fetched. To apply all available update packages, deactivate this option. However, depending on the bandwidth of the connection and the amount of data to transmit, this can result in long download times.

If you activate Download All Patches Again, all available patches, installable packages, and descriptions are downloaded from the server. If this is not activated (default), only retrieve patches not yet installed on your system.

Additionally, there is a possibility to update your system automatically. Click Configure Fully Automatic Update to configure a process that automatically looks for updates and applies them on a regular basis. This procedure is fully automated and does not require any interaction. This only works if a connection to the update server, such as an Internet connection, exists at the time of the update.

To perform the update, click Next. For a manual update, this loads a list of all available patches and starts the package manager, described in Section 2.3.4. “Installing and Removing Software”. In the package manager, the filter for YOU patches is activated, enabling selection of updates to install. Patches recommended for installation are preselected. Normally, accept this suggestion.

After making your selection, click Accept in the package manager. All selected updates are then downloaded from the server and installed on your machine. Depending on the connection speed and hardware performance, this may take some time. Any errors are displayed in a window. If necessary, skip the respective package. Prior to installation, some patches may open a window displaying details, allowing you to confirm the installation or skip the package.

While the updates are downloaded and installed, track actions in the log window. Following the successful installation of all patches, exit YOU with Finish. If you do not need the update files after the installation, delete them with Remove Source Packages after Update. Finally, SuSEconfig is executed to adjust the system configuration as needed.

Figure 2.3. YaST Online Update

YaST Online Update

In addition to operation from the YaST interface, the YaST Online Update can also be run from the command line. The desired actions are, in this case, passed as command line parameters: online_update [parameters]. The available parameters are displayed in the following list along with their purpose.

-u URL

Base URL of the directory tree from which the patches should be fetched.

-g

Download the patches without installing them.

-i

Install already fetched patches without downloading anything.

-k

Check for existing new patches.

-c

Show current configuration without further action.

-p product

Product for which patches should be fetched.

-v version

Product version for which patches should be fetched.

-a architecture

Base architecture for which patches should be fetched.

-d

Dry run” cycle. Fetch patches and simulate installation for test purposes. The system remains unchanged.

-n

No signature checking of the fetched files.

-s

Display list of available patches.

-V

Verbose mode. Print progress messages.

-D

Debug mode for experts and for troubleshooting.

2.3.3. Patch CD Update

Patches are installed from CD instead of from an FTP server. The advantage lies in a much faster update with CD. Once the Patch CD is inserted, all patches featured on the CD are scanned and displayed in the dialog. The desired packages can then be selected for installation from the list of patches. The module issues an error message if no patch CD is present. Insert the patch CD then restart the module.

2.3.4. Installing and Removing Software

This module enables installation, uninstallation, and update of software on your machine. In Linux, software is available in the form of packages. Normally, a package contains everything needed for a program (such as an editor or a compiler). Usually, this includes the actual program, associated configuration files, and documentation. A package containing the source files for the respective program is normally available as well. The sources are not needed for running the program. However, 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 (package dependency). Furthermore, the installation (not only the operation) 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 features a dedicated software installation tool called the package manager, which assists with this. When the package manager is started, 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 unknowingly 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 accidentally 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.

2.3.4.1. The Package Manager

To change the software selection on your system with the package manager, select Install or Remove Software in the YaST Control Center. The dialog window of the package manager is shown in Figure 2.4. “YaST Package Manager”.

Figure 2.4. YaST Package Manager

YaST Package Manager

The window comprises various frames. Modify the frame sizes by clicking and moving the lines separating the areas. The contents of the frames and their uses are described below.

2.3.4.2. The Filter Window

Because selecting the desired package from a list of all available packages is time-consuming and often difficult, the package manager offers various filter methods for arranging the packages in categories and limiting the number of displayed packages. The filter window is located to the left under the menu bar. It controls and displays various filter methods. The filter selection box at the top determines what will be displayed in the lower part of the filter window. Click the filter selection box to select a filter from the list of available filters.

The Selections Filter

At start-up, the Selections filter is active. This filter groups the program packages according to their application purpose, such as multimedia or office applications. The various groups of the Selections filter are listed under the filter selection box. The packages already installed on the system are preselected. Click the status box at the beginning of a line to toggle the status flags of a selection. Select a status directly by right-clicking the selection and using the context menu. The individual package window to the right displays the list of packages included in the current selection, enabling selection and deselection of individual packages.

The Package Groups Filter

The Package Groups filter provides a more technical overview of the range of packages and is suitable for users familiar with the package structure of SUSE LINUX. This filter sorts the program packages by subjects, such as applications, development, and hardware, in a tree structure to the left. The more you expand the branches, the more specific the selection is and the fewer packages are displayed in the individual package window to the right.

The filter additionally provides the possibility to display all packages in alphabetic order. To do this, select zzz All in the top level. As SUSE LINUX contains a large number of packages, it may take some time to display this long list.

The Search Function

The Search function is the easiest way to find a specific package. By specifying various search criteria, restrict the filter so much that often only one package is displayed in the individual package window. Enter a search string and use the check boxes to determine where to search for this string (in the name, in the description, or in the package dependencies). Advanced users can even define special search patterns using wild cards and regular expressions and search the package dependencies in the Provides and Requires fields. For example, software developers who download source packages from the Internet can use this function to determine which package contains a specific library needed for compiling and linking this package.

[Tip]Advanced Search

In addition to the Search filter, all lists of the package manager feature a quick search for the current list content. Simply enter a letter to move the cursor to the first package in the list whose name begins with this letter. The cursor must be in the list (by clicking the list).

Installation Summary

After selecting the packages for installation, update, or deletion, use the filter selection to view the installation summary. It shows what will happen with packages when you click Accept. Use the check boxes to the left to filter the packages to view in the individual package window. For example, to check which packages are already installed, start the package manager and deactivate all check boxes except Keep.

The package status in the individual package window can be changed as usual. However, the respective package may no longer meet the search criteria. To remove such packages from the list, update the list with Update List.

2.3.4.3. The Individual Package Window

As mentioned above, a list of individual packages is displayed to the right in the individual package window. The content of this list is determined by the currently selected filter. If, for example, the Selection filter is selected, the individual package window displays all packages of the current selection.

In the package manager, each package has a status that determines what to do with the package, such as “Install” or “Delete”. This status is shown by means of a symbol in a status box at the beginning of the line. Toggle the status by clicking or select it from the menu that opens when the item is right-clicked. Depending on the current situation, some of the possible status flags may not be available for selection. For example, a package that has not yet been installed cannot be set to “Delete.” View the available status flags with Help+Symbols.

The package manager offers the following package status flags:

Do Not Install

This package is not installed and will not be installed.

Install

This package is not yet installed but will be installed.

Keep

This package is already installed and will not be changed.

Update

This package is already installed and will be replaced by the version on the installation medium.

Delete

This package is already installed and will be deleted.

Taboo — Never Install

This package is not installed and will never be installed. It will be treated as if it does not exist on any of the installation media. If a package would automatically be selected to resolve dependencies, this can be prevented by setting the package to “Taboo.” However, this may result in inconsistencies that must be resolved manually (dependency check). Thus, “Taboo” is mainly intended for expert users.

Protected

This package is installed and should not be modified. Third-party packages (packages without SUSE signature) are automatically assigned this status to prevent them from being overwritten by later versions existing on the installation media. This may cause package conflicts that must be resolved manually (for experts).

Automatic Installation

This package has been automatically selected for installation as it is required by another package (resolution of package dependencies).

[Tip]Tip

To deselect such a package, you may need to use the status “Taboo”.

Automatic Update

This package is already installed. However, as another package requires a newer version of this package, the installed version will automatically be updated.

Delete Automatically

This package is already installed, but existing package conflicts require this package be deleted. For example, this may be the case if the current package has been replaced by a different package. However, this does not happen very often.

Automatic Installation (after selection)

This packages has been automatically selected for installation because it is part of a predefined selection, such as “Multimedia” or “Development.

Automatic Update (after selection)

This package is already installed, but a newer version exists on the installation media. This package is part of a predefined selection, such as “Multimedia” or “Development,” selected for update and will automatically be updated.

Delete Automatically (after selection)

This package is already installed, but a predefined selection (such as “Multimedia” or “Development”) requires this package be deleted. This does not happen very often.

Additionally, decide whether to install the sources for a package. This information complements the current package status and cannot be toggled with the mouse or selected directly from the context menu. Instead, a check box at the end of the package line enables selection of the source packages. This option can also be accessed under Package.

Install Source

Also install the source code.

Do Not Install Source

The sources will not be installed.

The font color used for various packages in the individual package window provides additional information. Installed packages for which a newer version is available on the installation media are displayed in blue. Installed packages whose versions numbers are higher than those on the installation media are displayed in red. However, as the version numbering of packages is not always linear, the information may not be perfect, but should be sufficient to indicate problematic packages. If necessary, check the version numbers in the information window.

2.3.4.4. The Information Window

The tabs in the bottom right frame provide various information about the selected package. The description of the selected package is automatically active. Click the other tabs to view technical data (package size, group, etc.), the list of dependencies from other packages, or the version information.

2.3.4.5. The Resource Window

The resource window at the bottom left displays the disk space needed for your current selection of software on all currently mounted file systems. The colored bar graph grows with every selection. As long as it remains green, there is sufficient space. The bar color slowly changes to red as you approach the limit of disk space. If you select too many packages for installation, an alert is displayed.

2.3.4.6. The Menu Bar

The menu bar at the top left of the window provides access to most of the functions described above and a number of other functions that cannot be accessed in any other way. It contains the following four menus:

File

Select File+Export to save a list of all installed packages in a text file. This is recommended if you want to replicate a specific installation scope at a later date or on another system. A file generated in this way can be imported with Import and generates the same package selection as was saved. In both cases, define the location of the file or accept the suggestion.

To exit the package manager without saving changes to the package selection, click Exit — Discard Changes. To save your changes, select Quit — Save Changes. In this case, all changes are applied and the program is terminated.

Package

The items in the Package menu always refer to the package currently displayed in the individual package window. Although all status flags are displayed, you can only select those possible for the current package. Use the check boxes to determine whether to install the sources of the package. All in This List opens a submenu listing all package status flags. However, these do not merely affect the current package, but all packages in this list.

Extras

The Extras menu offers options for handling package dependencies and conflicts. If you have already manually selected packages for installation, click Show Automatic Package Changes to view the list of packages that the package manager automatically selected to resolve dependencies. If there are still unresolved package conflicts, an alert is displayed and solutions suggested.

If you set package conflicts to Ignore, this information is saved permanently in the system. Otherwise, you would have to set the same packages to Ignore each time you start the package manager. To unignore dependencies, click Reset Ignored Dependency Conflicts.

Help

Help+Overview provides a brief explanation of the package manager functionality. A detailed description of the various package flags is available under Symbols. If you prefer to operate programs without using the mouse, click Keys to view a list of shortcuts.

2.3.4.7. Dependency Check

Check Dependencies and Autocheck are located in the information window. If you click Check Dependencies, the package manger checks if the current package selection results in any unresolved package dependencies or conflicts. In the event of unresolved dependencies, the required additional packages are selected automatically. For package conflicts, the package manager opens a dialog that shows the conflict and offers various options for solving the problem.

If you activate Autocheck, any change of a package status triggers an automatic check. This is a useful feature, as the consistency of the package selection is monitored permanently. However, this process consumes resources and can slow down the package manager. For this reason, the autocheck is not activated by default. In either case, a consistency check is performed when you confirm your selection with Accept.

In the following example, sendmail and postfix may not be installed concurrently. Figure 2.5. “Conflict Management of the Package Manager” shows the conflict message prompting you to make a decision. postfix is already installed. Accordingly, you can refrain from installing sendmail, remove postfix, or take the risk and ignore the conflict.

[Warning]Handling Package Conflicts

It is advised to follow the suggestions of YaST when handling package conflicts, because otherwise the stability and functionality of your system could be endangered by the existing conflict.

Figure 2.5. Conflict Management of the Package Manager

Conflict Management of the Package Manager

2.3.5. System Update

This module enables an update of the version installed on your system. During operation, you can only update application software, not the SUSE LINUX base system. To update the base system, boot the computer from an installation medium, such as the CD. When selecting the installation mode in YaST, select Update an Existing System instead of New Installation.

The procedure for updating the system is similar to the new installation. Initially, YaST examines the system, determines a suitable update strategy, and presents the results in a suggestion dialog like that in Figure 2.6. “Suggestion Dialog for Updates”. Click the individual items with the mouse to change any details. Some items, such as Language and Keyboard Layout, are covered in the section explaining the installation procedure (see Section 1.4. “Language Selection”). The following paragraphs only cover update-specific settings.

Figure 2.6. Suggestion Dialog for Updates

Suggestion Dialog for Updates

2.3.5.1. Selected for Update

If several versions of SUSE LINUX are installed on your system, this item enables selection of a partition for the update from the list.

2.3.5.2. Update Options

Here, set the update method for your system. Two options are available. See Figure 2.7. “Update Options”.

Update with Installation of New Software

To update the entire system to the latest software versions, select one of the predefined selections. These selections are the same as those offered during the installation. They make sure new packages that did not exist previously are also installed.

Only Update Installed Packages

This option merely updates packages that already exist on the system. No new features will be installed.

Additionally, you can use Delete Outdated Packages to remove packages that do not exist in the new version. By default, this option is preselected to prevent outdated packages from unnecessarily occupying hard disk space.

Figure 2.7. Update Options

Update Options

2.3.5.3. Packages

Click Packages to start the package manager and select or deselect individual packages for update. Any package conflicts should be resolved with the consistency check. The use of the package manager is covered in detail in Section 2.3.4. “Installing and Removing Software”.

2.3.5.4. Backup

During the update, the configuration files of some packages may be replaced by those of the new version. As you may have modified some of the files in your current system, the package manager normally makes backup copies of the replaced files. With this dialog, determine the scope of these backups.

[Important]Scope of the Backup

This backup does not include the software. It only contains configuration files.

2.3.5.5. Important Information about Updates

The system update is a very complex procedure. For each program package, YaST must check which version is installed on the computer and what needs to be done to replace the old version with the new version correctly. YaST also tries to adopt any personal settings of the installed packages.

In most cases, YaST replaces old versions with new ones without problems. A backup of the the existing system should be performed prior to updating to ensure that existing configurations are not lost during the update. Conflicts can then be resolved manually after the update has completed.

[Important]Updating the System

This manual includes a chapter about updating (see Chapter 5. Updating the System and Package Management). All important changes from previous versions are listed, including alerts for possible update problems (see Section 5.2.1. “ From SLES8 to SLES9”).

2.3.6. SUSE Software Development Kit (SDK) 9

The SUSE Software Development Kit 9 is a comprehensive tool kit that supports application development for SUSE LINUX Enterprise Server 9 and Novell Linux Desktop. In fact, to provide a comprehensive build system, SUSE Software Development Kit 9 includes all the Open Source tools that were used to build the SUSE LINUX Enterprise Server product. It provides you, as a developer, independent software vendor (ISV), or independent hardware vendor (IHV), with all the tools needed to port applications to all of the platforms supported by the Enterprise Server and the Linux Desktop.

SUSE Software Development Kit also contains integrated development environments (IDEs), debuggers, code editors, and other related tools. It supports most major programming languages (including C, C++, Java, and most scripting languages). For your convenience, the SUSE Software Development Kit includes multiple Perl packages that are not included in the Enterprise Server.

For detailed information, refer to http://developer.novell.com/ndk/susesdk.htm. Use the YaST package manager to install the SUSE Software Development Kit 9 software packages.