4.2. Software Changes from Version to Version

The individual aspects changed from version to version are outlined in the following in detail. This summary indicates, for example, whether basic settings have been completely reconfigured, whether configuration files have been moved to other places, or whether common applications have been significantly changed. Significant modifications that affect the daily use of the system at either the user level or the administrator level are mentioned here.

Problems and special issues of the respective versions are published online as they are identified. See the links listed below. Important updates of individual packages can be accessed at http://www.suse.de/en/support/download/.

4.2.1. From 8.0 to 8.1

Problems and Special Issues:


  • Changes in the user and group names: To comply with UnitedLinux, some entries in /etc/passwd and /etc/group have been adjusted accordingly.

    • Changed users: ftp is now in group ftp (not in daemon).

    • Renamed groups: www (was wwwadmin), games (was game).

    • New groups: ftp (with GID 50), floppy (with GID 19), cdrom (with GID 20), console (with GID 21), utmp (with GID 22).

  • Changes related to FHS (see A.4. “Standards and Specifications”):

    • An example environment for httpd (Apache) is created at /srv/www (formerly /usr/local/httpd).

    • An example environment for FTP is created at /srv/ftp (formerly /usr/local/ftp). ftpdir is required for this purpose.

  • To ease access to the desired software, the single packages are not stored in a few bulky series any more, but rather in accessible RPM groups. This also means the CDs no longer contain cryptic directories under suse, but only few directories named after architectures, for example, ppc, i586, or noarch.

  • The installation status of the following programs has changed for a new installation:

    • The boot loader GRUB, which offers more possibilities than LILO, is installed by default. However, LILO is retained if the system is updated.

    • The mailer postfix instead of sendmail.

    • The modern mailing list application mailman is installed instead of majordomo.

    • Select harden_suse manually if needed and read the enclosed documentation.

  • Split packages: rpm to rpm and rpm-devel, popt to popt and popt-devel, libz to zlib and zlib-devel.

    yast2-trans-* is now split by languages: yast2-trans-cs (Czech), yast2-trans-de (German), yast2-trans-es (Spanish), etc. Not all languages are installed to save hard disk space. Install the required packages for the YaST language support as needed.

  • Renamed packages: bzip to bzip2.

  • Packages no longer supplied: openldap, use openldap2; su1, use sudo.

4.2.2. From 8.1 to 8.2

Problems and Special Issues: http://portal.suse.com/sdb/en/2003/04/bugs82.html

  • 3D support for nVidia-based graphics cards (changes): The RPM NVIDIA_GLX/NVIDIA_kernel (including the script switch2nvidia_glx) is no longer included. Download the nVidia installer for Linux IA32 from the nVidia web site (http://www.nvidia.com), install the driver with this installer, and use SaX2 or YaST to activate 3D support.

  • During a new installation, xinetd is installed instead of inetd and configured with secure values. See the directory /etc/xinetd.d. However, during a system update, inetd is retained.

  • The current PostgreSQL version is 7.3. When switching from version 7.2.x, perform a dump/restore with pg_dump. If your application queries the system catalogs, additional adaptions are necessary, because schemas were introduced in version 7.3. For more information, see http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3.

  • Version 4 of stunnel no longer supports any command-line options. However, the enclosed script /usr/sbin/stunnel3_wrapper can convert the command-line options into a configuration file that is suitable for stunnel and use it when the program is started (replace OPTIONS with your options):

    /usr/sbin/stunnel3_wrapper stunnel OPTIONS

    The generated configuration file will be printed to the default output, enabling the use of these specifications for generating a permanent configuration file.

  • openjade (openjade) is the DSSSL engine currently used instead of jade (jade_dsl) when db2x.sh (docbook-toys) is run. For compatibility reasons, the individual programs are also available without the prefix o.

    If your own applications depend on the directory jade_dsl and the files previously installed there, adapt them to the new directory /usr/share/sgml/openjade or create a link as root with cd /usr/share/sgml rm jade_dsl ln -s openjade jade_dsl.

    To avoid a conflict with rzsz, the command-line tool sx continues to be called s2x, sgml2xml, or osx.

4.2.3. From 8.2 to 9.0

Problems and Special Issues: http://portal.suse.com/sdb/en/2003/07/bugs90.html

  • Version 4 of the RPM package manager is now available. The functionality for building packages has been shifted to the separate program rpmbuild. rpm continues to be used for the installation, updates, and database queries. See 4.3. “RPM — the Package Manager”.

  • The package foomatic-filters is now available for printing. The content was split from cups-drivers, because it can be used for printing even if CUPS is not installed. In this way, YaST supports configurations that are independent of the print system (CUPS, LPRng). The configuration file for this package is /etc/foomatic/filter.conf.

  • The packages foomatic-filters and cups-drivers are now also required for LPRng and lpdfilter.

  • The XML resources of the enclosed software packages can be accessed by means of the entries in /etc/xml/suse-catalog.xml. This file should not be edited with xmlcatalog, because this would result in the deletion of structural comments required for correct updates. /etc/xml/suse-catalog.xml is accessed by means of a nextCatalog statement in /etc/xml/catalog, enabling XML tools like xmllint or xsltproc to find the local resources automatically.

4.2.4. From 9.0 to 9.1

Refer to the article “Known Problems and Special Features in SUSE LINUX 9.1” in the SUSE Support Database at http://portal.suse.com under the keyword special features. These articles are published for every SUSE LINUX version. Upgrading to Kernel 2.6

SUSE LINUX is now based entirely on kernel 2.6. The predecessor version 2.4 can longer be used, because the enclosed applications do not work with kernel 2.4. Note the following details:

  • The loading of modules is now configured by means of the file /etc/modprobe.conf. The file /etc/modules.conf is obsolete. YaST tries to convert the file (also see script /sbin/generate-modprobe.conf).

  • Modules now have the suffix .ko.

  • The module ide-scsi is no longer needed for burning CDs.

  • The prefix snd_ has been removed from the ALSA sound module options.

  • sysfs now complements the /proc file system.

  • Power management (especially ACPI) has been improved and can now be configured by means of a YaST module. Mounting VFAT Partitions

When mounting VFAT partitions, the parameter code= must be changed to codepage=. If you have difficulties mounting a VFAT partition, check if the file /etc/fstab contains the old parameter name. Standby and Suspend with ACPI

The new kernel 2.6 now supports standby and suspend with ACPI. This function is still in an experimental stage and may not be supported by some hardware components. To use this function, you need the powersave package. Information about this package is available in /usr/share/doc/packages/powersave. A graphical front-end is available in the kpowersave package. Input Devices

Regarding the changes in connection with the input devices, refer to the above-mentioned Portal article “Known Problems and Special Features in SUSE LINUX 9.1” in the Support Database at http://portal.suse.com under the keyword special features. Native POSIX Thread Library and glibc 2.3.x

Applications linked against NGPT (Next Generation POSIX Threading) do not work with glibc 2.3.x. All affected applications that are not shipped with SUSE LINUX must be compiled with linuxthreads or with NPTL (Native POSIX Thread Library). NPTL is preferred, because this is the standard for the future.

If NPTL causes difficulties, the older linuxthreads implementation can be used by setting the following environment variable (replace kernel-version with the version number of the respective kernel):


The following version numbers are possible:

2.2.5 (i386, i586):

linuxthreads without floating stacks

2.4.1 (AMD64, i586, i686):

linuxthread with floating stacks

Notes regarding the kernel and linuxthreads with floating stacks: Applications using errno, h_errno, and _res must include the header files (errno.h, netdb.h, and resolv.h) with #include. For C++ programs with multithread support that use thread cancellation, the environment variable LD_ASSUME_KERNEL=2.4.1 must be used to prompt the use of the linuxthreads library. Adaptions for Native POSIX Thread Library

NPTL is included in SUSE LINUX 9.1 as the thread package. NPTL is binary-compatible with the older linuxthreads library. However, areas in which linuxthreads violates the POSIX standard require NPTL adaptions. This includes the following: signal handling, getpid returning the same value in all threads, and thread handlers registered with pthread_atfork not working if vfork is used. Network Interface Configuration

The configuration of the network interface has changed. Formerly, the hardware was initialized following the configuration of a nonexistent interface. Now, the system searches for new hardware and initializes it immediately, enabling the configuration of the new network interface.

New names have been introduced for the configuration files. As the name of a network interface is generated dynamically and the use of hotplug devices is increasing steadily, a name like ethX is no longer suitable for configuration purposes. For this reason, unique designations, like the MAC address or the PCI slot, are now used for naming interface configurations. You can use interface names as soon as they appear. Commands like ifup eth0 or ifdown eth0 are still possible.

The device configurations are located in /etc/sysconfig/hardware. The interfaces provided by these devices are usually located in /etc/sysconfig/network (with different names). See the detailed description in /usr/share/doc/packages/sysconfig/README. Sound Configuration

Following an update, the sound cards must be reconfigured. This can be done with the YaST sound module. As root, enter the command yast2 sound. Top-Level Domain .local as “link-local” Domain

The resolver library treats the top-level domain .local as “link-local” domain and sends multicast DNS queries to the multicast address, port 5353, instead of normal DNS queries. This is an incompatible change. If the domain .local is already used in the name server configuration, use a different domain name. For more information about multicast DNS, see http://www.multicastdns.org. Systemwide UTF-8 Encoding

Currently, the default encoding for the system is UTF-8. Thus, when performing a standard installation, a locale is set with .UTF-8 encoding, such as en_US.UTF-8. For more information, see http://www.suse.de/~mfabian/suse-cjk/locales.html. Converting File Names to UTF-8

Files in previously created file systems do not use UTF-8 encoding for the file names (unless specified otherwise). If these files names contain non-ASCII characters, they will be garbled. To correct this, use the convmv script, which converts the encoding of file names to UTF-8. Shell Tools Compatible with POSIX Standard of 2001

In the default setting, shell tools from the coreutils package (tail, chown, head, sort, etc.) no longer comply with the POSIX standard of 1992 but with the POSIX standard of 2001 (Single UNIX Specification, version 3 == IEEE Std 1003.1-2001 == ISO/IEC 9945:2002). The old behavior can be forced with an environment variable:


The new value is 200112 and is used the default for _POSIX2_VERSION. The SUS standard can be reviewed (free of charge, but registration is required) at http://www.unix.org.

Table 4.1. Comparison POSIX 1992 vs. POSIX 2001

POSIX 1992POSIX 2001
chown tux.userschown tux:users
tail +3tail -n +3
head -1head -n 1
sort +3sort -k +3
nice -10nice -n 10
split -10split -l 10

Third-party software may not yet comply with the new standard. In this case, set the environment variable as described above. /etc/gshadow Obsolete

/etc/gshadow has been abandoned and removed, because this file is superfluous for the following reasons:

  • It is not supported by glibc.

  • There is no official interface for this file. Even the shadow suite does not contain such an interface.

  • Most tools that check the group password do not support the file and ignore it for the said reasons. OpenLDAP

Because the database format has changed, the databases must be regenerated. During the update, the system attempts to perform this conversion automatically. However, there will certainly be cases in which the conversion fails.

The schema check has undergone substantial improvement. Therefore, a number of standard-noncompliant operations that were possible with the former LDAP server are no longer possible.

The syntax of the configuration file has partly changed with a view to ACLs. Following the installation, information regarding the update is available in the file /usr/share/doc/packages/openldap2/README.update. Apache 1.3 Replaced with Apache 2

The Apache web server (version 1.3) has been replaced with Apache 2. Detailed documentation for version 2.0 is available at the web page http://httpd.apache.org/docs-2.0/en/. On a system with an HTTP server installation, an update removes the Apache package and installs Apache 2. Subsequently, the system must be adapted with YaST or manually. The configuration files in /etc/httpd are now located in /etc/apache2.

Either threads or processes can be selected for handling multiple concurrent queries. The process management has been moved to an independent module, the multiprocessing module (MPM). Accordingly, Apache 2 needs either the apache2-prefork package (recommended for stability) or the apache2-worker package. Depending on the MPM, Apache 2 reacts differently to queries. This affects the performance as well as the use of modules. These characteristics are discussed in detail in 23.4. “Threads”.

Apache 2 now supports the next-generation Internet protocol IPv6.

A mechanism has been implemented that enables module programmers to specify the desired loading sequence of the modules, relieving users of this task. The sequence in which modules are executed is often important and used to be determined by means of the loading sequence. For instance, a module that only gives authenticated users access to certain resources must be loaded first to prevent users without access permissions from seeing the pages.

Queries to and responses from Apache can be processed with filters. From Samba~2.x to Samba~3.x

Following the update from Samba~2.x to Samba~3.x, winbind authentication is no longer available. The other authentication methods can still be used. For this reason, the following programs have been removed:


See also http://www.squid-cache.org/Doc/FAQ/FAQ-23.html#ss23.5. OpenSSH Update (Version 3.8p1)

gssapi support has been replaced with gssapi-with-mic to prevent potential MITM attacks. These two versions are not compatible. This means that you cannot authenticate with Kerberos tickets from older distributions, because other authentication methods are used. SSH and Terminal Applications

When establishing a connection from a remote host (especially via SSH, telnet, and RSH) between version 9 (standard configuration with activated UTF-8) and older systems (SUSE LINUX 9.0 and earlier versions in which UTF-8 is not activated by default or not supported), terminal applications may display faulty characters.

This is because OpenSSH does not forward local settings. Therefore, the default system settings that may not match the remote terminal settings are used. This affects YaST in text mode and applications executed from a remote host as a normal user (not root). The applications started by root are only affected if the user changes the standard locales for root (only LC_CTYPE is set by default). libiodbc Discarded

Users of FreeRADIUS must now link against unixODBC, because libiodbc has been discarded. XML Resources in /usr/share/xml

FHS (see A.4. “Standards and Specifications”) now requires XML resources (DTDs, stylesheets, etc.) to be installed in /usr/share/xml. Therefore, some directories are no longer available in /usr/share/sgml. If you encounter problems, modify your scripts and makefiles or use the official catalogs (especially /etc/xml/catalog or /etc/sgml/catalog). Removable Media with subfs

Removable media are now integrated with subfs. Media no longer need to be mounted manually with mount. To mount the medium, simply change to the respective device directory in /media. Media cannot be ejected as long as they are accessed by a program.

4.2.5. From 9.1 to 9.2

Refer to the article “Known Problems and Special Features in SUSE LINUX 9.2” in the SUSE Support Database at http://portal.suse.com under the keyword special features. Activation of the Firewall in the Proposal Dialog during the Installation

To increase the security, the enclosed firewall solution SuSEFirewall2 is activated at the end of the installation in the proposal dialog. This means that all ports are closed initially and can be opened in the proposal dialog if necessary.

If network access is required during the installation or configuration of a service, the respective YaST module opens the needed TCP and UDP ports of all internal and external interfaces. If this is not desired, the user can close the ports in the YaST module or specify other detailed firewall settings.

Table 4.2. Ports Used by Important Services

HTTP serverFirewall is set up according to the “list” statements (TCP only)
Mail (postfix)smtp 25/TCP
Samba servernetbios-ns 137/TCP; netbios-dgm 138/TCP; netbios-ssn 139/TCP; microsoft-ds 445/TCP
DHCP serverbootpc 68/TCP
DNS serverdomain 53/TCP; domain 53/UDP
DNS serverPlus special support for port mapper in SuSEFirewall2
Port mappersunrpc 111/TCP; sunrpc 111/UDP
NFS servernfs 2049/TCP
NFS serverPlus port mapper
NIS serverActivates portmap
TFTPtftp 69/TCP
CUPS (IPP)ipp 631/TCP; ipp 631/UDP Print System Configuration

At the end of the installation (proposal dialog), the ports needed for the print system must be open in the firewall configuration. Port 631/TCP and port 631/UDP are needed for CUPS and should not be closed for normal operation. Port 515/TCP (for the old LPD protocol) and the ports used by Samba must also be open for printing via LPD or SMB. Change to X.Org

The change from XFree86™ to X.Org™ is facilitated by compatibility links that enable access to important files and commands with the old names.

Table 4.3. Commands


Table 4.4. Log Files in /var/log


In the course of the change to X.Org, the packages were renamed from XFree86* to xorg-x11*. Changes in the powersave Package

The configuration files in /etc/sysconfig/powersave have changed:

Table 4.5. Split Configuration Files in /etc/sysconfig/powersave

OldNow split into

/etc/powersave.conf has become obsolete. Existing variables have been moved to the files listed in Table 4.5. “Split Configuration Files in /etc/sysconfig/powersave”. If you changed the “event” variables in /etc/powersave.conf, these must now be adapted in /etc/sysconfig/powersave/events.

The names of sleep states has changed from:

  • suspend (ACPI S4, APM suspend)

  • standby (ACPI S3, APM standby)


  • suspend to disk (ACPI S4, APM suspend)

  • suspend to ram (ACPI S3, APM suspend)

  • standby (ACPI S1, APM standby) OpenOffice.org (OOo)


OOo is now installed in /usr/lib/ooo-1.1 instead of /opt/OpenOffice.org. The default directory for user settings is now ~/.ooo-1.1 instead of ~/OpenOffice.org1.1.


There are some new wrappers for starting the OOo components. The new names are shown Table 4.6. “Wrapper”.

Table 4.6. Wrapper


The wrapper now supports the option --icons-set for switching between KDE and GNOME icons. The following options are no longer supported: --default-configuration, --gui, --java-path, --skip-check, --lang (the language is now determined by means of locales), --messages-in-window, and --quiet.

KDE and GNOME Support:

KDE and GNOME extensions are available in the OpenOffice_org-kde and OpenOffice_org-gnome packages. Sound Mixer kmix

The sound mixer kmix is preset as the default. For high-end hardware, there are other mixers, like QAMix/KAMix, envy24control (only ICE1712), or hdspmixer (only RME Hammerfall).