2.2. Softwareänderungen von Version zu Version

In den folgenden Abschnitten wird aufgelistet, welche Details sich von Version zu Version geändert haben. In dieser Übersicht erscheint beispielsweise, ob grundlegende Einstellungen neu vorgenommen oder ob Konfigurationsdateien an andere Stellen verschoben wurden oder ob bekannte Programme erkennbar modifiziert wurden. Es werden die Dinge genannt, die den Benutzer bzw. den Administrator bei der täglichen Arbeit unmittelbar berühren. Die Liste ist keineswegs erschöpfend und vollständig.

Probleme und Besonderheiten der jeweiligen Version werden bei Bekanntwerden auf dem WWW-Server veröffentlicht; vgl. die unten angegebenen Links. Wichtige Updates einzelner Pakete sind über http://www.suse.de/de/support/download/updates/ zugänglich.

2.2.1. Von 7.3 auf 8.0

Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs80.html.

  • Bootdisketten werden nur noch in Form von Diskettenimages (bisher Verzeichnis disks, jetzt boot) mitgeliefert. Eine Bootdiskette benötigen Sie nur, wenn Sie nicht von CD booten können; je nach Hardware oder Installationsvorhaben sind zusätzlich Disketten von den Images modules1, modules2 etc. zu erstellen; zum Vorgehen vgl. 1.4. “Tipps und Tricks” bzw. 1.4.2. “Bootdiskette unter einem unix-artigen System erstellen”.

  • YaST2 ersetzt nunmehr vollständig YaST1, auch im Text- bzw. Konsolenmodus. Wenn im Text von YaST die Rede ist, ist immer die neue Version gemeint.

  • Einige BIOSse benötigen den Kernelparameter realmode-power-off; dieser hieß bis Kernelversion 2.4.12 real-mode-poweroff.

  • Die START-Variablen der rc.config zum Starten von Diensten sind nicht mehr erforderlich. Alle Dienste werden gestartet, wenn die entspechenden Links in den Runlevel-Verzeichnissen vorhanden sind; die Links werden mit insserv angelegt.

  • Systemdienste werden über Variablen-Einträge in den Dateien in /etc/sysconfig konfiguriert; beim Update werden die Einstellungen aus den Dateien in /etc/rc.config.d übernommen.

  • /etc/init.d/boot in mehrere Skripte aufgeteilt und, wenn sinnvoll, in andere Pakete verschoben (vgl. kbd, isapnp, lvm usw.) ; vgl. 13.4. “Die Init-Skripten”.

  • Im Bereich Netzwerk wurde eine Reihe von Änderungen vorgenommen ; vgl. dazu Abschnitt 14.4. “Die Einbindung ins Netzwerk”.

  • Zur Verwaltung der Protokoll-Dateien logfiles wird das logrotate verwendet; /etc/logfiles ist nicht mehr erforderlich ; vgl. Abschnitt 12.2.3. “Protokoll-Dateien – das Paket logrotate”.

  • Das Login für root per telnet oder rlogin kann durch Einstellungen in den Dateien in /etc/pam.d erlaubt werden; das Setzen von ROOT_LOGIN_REMOTE auf yes wird wegen Sicherheitsaspekten nicht mehr zugelassen.

  • PASSWD_USE_CRACKLIB kann mit YaST aktiviert werden.

  • Wenn NIS-Dateien für autofs über NIS verteilt werden sollen, ist das NIS-Client-Modul von YaST zur Konfiguration zu verwenden; aktivieren Sie dort Automounter starten. Dadurch ist die Variable USE_NIS_FOR_AUTOFS obsolet.

  • locate zum schnellen Finden von Dateien gehört nicht mehr zum Standardumfang der installierten Software. Bei Bedarf bitte nachinstallieren (find-locate) – dann wird auch wie früher automatisch ca. 15 Minuten nach dem Einschalten der updatedb-Prozess gestartet!

  • Für pine ist Maus-Support aktiviert. Das bedeutet, dass man Pine in einem xterm (o. Ä.) auch mit der Maus bedienen kann, wenn man auf die Menüpunkte klickt. Das bedeutet allerdings auch weiterhin, dass Cut & Paste nur bei gedrückter Shift-Taste funktioniert, wenn der Mouse-Support aktiv ist. Bei einer Neuinstallation ist dies deaktiviert. Beim Update ist jedoch nicht auszuschließen, dass diese Funktion aktiv ist (wenn eine älter ~/.pinerc vorhanden ist). In diesem Fall kann man in der Pine-Konfiguration die Option enable-mouse-in-xterm deaktivieren und alles ist wieder gut.

2.2.2. Von 8.0 auf 8.1

Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs81.html.

  • Änderungen bei Benutzer- und Gruppennamen des Systems: Um Übereinstimmung mit UnitedLinux zu erreichen, wurden einige Einträge in /etc/passwd bzw. /etc/group angepasst.

    • Geänderte Benutzer: ftp nun in Gruppe ftp (nicht mehr in daemon).

    • Umbenannte Gruppen: www (war wwwadmin); games (war game).

    • Neue Gruppen: ftp (mit GID 50); floppy (mit GID 19); cdrom (mit GID 20); console (mit GID 21); utmp (mit GID 22).

  • Änderungen im Zusammenhang mit dem FHS (vgl. Abschnitt 12.1.2. “Filesystem Hierarchy Standard (FHS)”):

    • Eine Beispiel-Umgebung für HTTPD (Apache) wird unter /srv/www angelegt (war /usr/local/httpd).

    • Eine Beispiel-Umgebung für FTP wird unter /srv/ftp angelegt (war /usr/local/ftp). Hierzu ist das Paket ftpdir benötigt.

  • Um einen gezielten Zugriff auf gesuchte Software zu ermöglichen, sind die einzelnen Pakete nicht mehr in wenigen unübersichtlichen Serien untergebracht, sondern in eingängigen RPM-Gruppen. Das hat zur Konsequenz, dass es auf den CDs keinen kryptischen Verzeichnisse unter suse mehr gibt, sondern nur noch wenige nach Architekturen benannte Verzeichnisse wie zum Beispiel ppc, i586 oder noarch.

  • Bei einer Neuinstallation werden nunmehr die folgenden Programme eingerichtet bzw. nicht mehr automatisch installiert:

    • Der Bootloader GRUB, der entschieden mehr Möglichkeiten als LILO bietet. LILO bleibt jedoch erhalten, wenn ein Update des Systems durchgeführt wird.

    • Der Mailer postfix anstelle von sendmail.

    • Anstelle von majordomo wird die moderne Mailinglistensoftware mailman installiert.

    • harden_suse bitte von Hand bei Bedarf auswählen und die aktuelle Dokumentation dazu lesen!

  • Aufgeteilte Pakete: rpm in rpm und rpm-devel; popt in popt und popt-devel; libz in zlib und zlib-devel.

    yast2-trans-* nun nach Sprachen aufgeteilt: yast2-trans-cs (tschechisch), yast2-trans-de (deutsch), yast2-trans-es (spanisch) etc.; bei der Installation werden nicht mehr alle Sprachen installiert, um Plattenplatz zu sparen. Bei Bedarf die notwendigen Pakete für die YaST-Sprachunterstützung bitte nachinstallieren!

  • Umbenannte Pakete: bzip in bzip2.

  • Nicht mehr mitgelieferte Pakete: openldap, bitte nun openldap2 verwenden; su1, bitte nun auf sudo umsteigen.

2.2.3. Von 8.1 auf 8.2

Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs82.html.

  • 3D-Support für nVidia-basierte Grafikkarten (Änderungen): Die RPM-NVIDIA_GLX/NVIDIA_kernel (einschließlich das switch2nvidia_glx-Skript) sind nicht mehr enthalten. Bitte laden Sie sich den nVidia-Installer für Linux IA32 von der nVidia-Webseite (http://www.nvidia.com) herunter, installieren den Treiber mit diesem, und verwenden dann SaX2 bzw. YaST, um 3D-Support zu aktivieren.

  • Bei einer Neuinstallation wird der xinetd anstelle des inetd installiert und mit sicheren Vorgaben konfiguriert; vgl. das Verzeichnis /etc/xinetd.d). Bei einem Systemupdate bleibt jedoch der inetd erhalten.

  • PostgreSQL liegt nun in Version 7.3 vor. Beim Umstieg von einer Version 7.2.x ist ein dump/restore mit pg_dump erforderlich. Wenn Ihre Applikation die Systemkataloge abfragt, dann sind weitere Anpassungen notwendig, da mit Version 7.3 Schemas eingeführt wurden. Zusätzliche Informationen finden Sie unter: http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3

  • Die Version 4 von stunnel unterstützt keine Optionen an der Kommandozeile mehr. Es wird jedoch das Skript /usr/sbin/stunnel3_wrapper mitgeliefert, das in der Lage ist, die Kommandozeilenoptionen in eine für stunnel geeignete Konfigurationsdatei zu konvertieren und diese beim Aufruf zu verwenden (anstelle von OPTIONS setzen Sie bitte Ihre Optionen ein):

    /usr/sbin/stunnel3_wrapper stunnel OPTIONS
         

    Die erzeugte Konfigurationsdatei wird auch auf die Standardausgabe ausgegeben, sodass Sie diese Angaben leicht verwenden können, um eine permanente Konfigurationsdatei für die Zukunft zu erzeugen.

  • openjade (openjade) ist nun die DSSSL-Engine, die anstelle von jade (jade_dsl) zum Einsatz kommt, wenn db2x.sh (docbook-toys) aufgerufen wird. Aus Gründen der Kompatibilität stehen die einzelnen Programme auch ohne das Präfix o zur Verfügung.

    Falls eigene Anwendungen von dem Verzeichnis jade_dsl und den dort bislang installierten Dateien abhängig sind, müssen entweder die eigenen Anwendungen auf das neue Verzeichnis /usr/share/sgml/openjade angepasst oder es kann als root ein Link angelegt werden:

    cd /usr/share/sgml rm jade_dsl ln -s openjade jade_dsl
    

    Um einen Konflikt mit dem rzsz zu vermeiden, heißt das Kommandozeilentool sx weiterhin s2x bzw. sgml2xml oder osx.

2.2.4. Von 8.2 auf 9.0

Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs90.html.

  • Die regelmäßigen Wartungsdienste in /etc/cron.daily, /etc/cron.weekly und /etc/cron.monthly werden um 4:00 Uhr ausgeführt, Diese Zeiten gelten nur für Neuinstallationen; nach einem Update ist /etc/crontab gegebenenfalls anzupassen.

  • Der RPM-Paketmanager steht nun in Version 4 zur Verfügung. Die Funktionalität zum Paketebauen ist nunmehr in das eigenständige Programm rpmbuild überführt worden; rpm wird weiterhin zum Installieren, Aktualisieren und zu Datenbankabfragen verwendet; vgl. Abschnitt 2.3. “RPM – Der Paket-Manager der Distribution”.

  • Im Bereich Drucken es gibt das Paket foomatic-filters. Der Inhalt wurde aus dem cups-drivers abgesplittet, da sich gezeigt hat, dass man damit auch dann drucken kann, wenn CUPS nicht installiert ist. So kann man Konfigurationen mit YaST einstellen, die vom Drucksystem (CUPS, LPRng) unabhängig sind. Als Konfigurationsdatei enthält dies Paket die Datei /etc/foomatic/filter.conf.

  • Auch bei dem Einsatz von LPRng/lpdfilter werden nun die Pakete foomatic-filters und cups-drivers benötigt.

  • Die XML-Ressourcen der mitgelieferten Softwarepakete werden über Einträge in /etc/xml/suse-catalog.xml zugänglich gemacht. Diese Datei darf nicht mit xmlcatalog bearbeitet werden werden, weil sonst gliedernde Kommentare verschwinden, die benötigt werden, um ein ordnungsgemäßes Update zu gewährleisten. /etc/xml/suse-catalog.xml wird über ein nextCatalog-Statement in /etc/xml/catalog zugänglich gemacht, sodass XML-Tools wie xmllint oder xsltproc die lokalen Ressourcen automatisch finden können.

2.2.5. Von 9.0 auf 9.1 Von SLES8 auf SLES9

Probleme und Besonderheiten: http://portal.suse.de/sdb/de/2004/02/bugs91.html.

  • SUSE LINUX wurde komplett auf die Kernelversion 2.6 umgestellt; die Vorgängerversion 2.4 sollte nicht mehr verwendet werden, da die mitgelieferten Programme mit Kernel 2.4 möglicherweise nicht funktionieren. Weiterhin sind folgende Einzelheiten zu beachten:

    • Das Laden der Module werden nun über die Datei /etc/modprobe.conf konfiguriert; die Datei /etc/modules.conf ist obsolet. YaST wird die Datei versuchen zu konvertieren (vgl. auch das Skript /sbin/generate-modprobe.conf).

    • Module haben nun das Suffix .ko.

    • Das Modul ide-scsi wird beim Brennen von CDs nicht mehr benötigt.

    • Bei den Optionen der ALSA-Soundmodule ist das Prefix snd_ entfernt worden.

    • sysfs ergänzt nun /proc-Dateisystem.

    • Das Powermanagement (speziell ACPI) wurde verbessert und kann nun über ein YaST-Modul eingestellt werden.

  • Zu den Änderungen bei den Eingabegeräten (Input Devices) vgl. den oben genannten Portalartikel.

  • Programme, die gegen NGPT (Next Generation POSIX Threading) gelinkt sind, laufen nicht mit glibc 2.3.x. Alle davon betroffenen Programme, die nicht mit SUSE LINUX mitgeliefert werden, müssen entweder mit linuxthreads oder NPTL (Native POSIX Thread Library) neu kompiliert werden. Bei der Portierung ist NPTL zu bevorzugen, da das der in die Zukunft weisende Standard ist.

    Bei Schwierigkeiten mit NPTL kann auf die älteren linuxthreads-Implementierung durch das Setzen der folgenden Umgebungsvariablen ausgewichen werden (dabei muss kernel-version durch die Versionsnummer des entsprechenden Kernels ersetzt werden):

    LD_ASSUME_KERNEL=kernel-version
    

    Dabei sind folgende Versionsnummern möglich:

    2.2.5 (i386, s390):

    linuxthreads ohne Floating Stacks

    2.4.1 (AMD64, IPF, s390x, i686):

    linuxthread mit Floating Stacks

    Hinweise zum Kernel und linuxthreads mit Floating Stacks:

    Programme, die errno, h_errno und _res verwenden, müssen die einschlägigen Header-Dateien (errno.h, netdb.h und resolv.h) mit #include einbinden. C++-Programme mit Multithread-Unterstützung, die Thread Cancellation verwenden, müssen mit der Umgebungsvariablen LD_ASSUME_KERNEL=2.4.1 dazu gebracht werden, die Bibliothek linuxthreads zu verwenden.

  • NPTL (Native POSIX Thread Library) ist bei SUSE LINUX 9.1 als Thread-Paket dabei. NPTL wurde binärkompatibel zu der älteren Bibliothek linuxthreads entwickelt. An den Stellen jedoch, an denen linuxthreads gegen den POSIX-Standard verstößt, erfordert NPTL Anpassungen; im Einzelnen sind zu nennen: Signal-Behandlung; getpid liefert in allen Threads denselben Wert zurück; Threads-Handlers, die mit pthread_atfork registriert sind, laufen nicht, wenn vfork verwendet wird.

  • Als Kodierung für das System ist nun UTF-8 voreingestellt. Bei einer Standardinstallation wird also eine Locale mit .UTF-8 als Kodierungsangabe (Encoding) festgelegt (z.B. de_DE.UTF-8).

  • Shell-Tools aus dem coreutils wie tail, chown, head, sort etc. folgen in der Vorgabeeinstellung nun dem POSIX-Standard von 2001 (Single UNIX Specification, version 3 == IEEE Std 1003.1-2001 == ISO/IEC 9945:2002) und nicht mehr dem Standard von 1992. Das alte Verhalten kann man mit einer Umgebungsvariablen erzwingen:

    _POSIX2_VERSION=199209
    

    Der neue Wert ist 200112 und wird als Vorgabe für _POSIX2_VERSION angenommen. Den SUS-Standard kann man hier nachlesen (frei, aber eine Registrierung ist erforderlich):

    http://www.unix.org

    Hier eine kurze Gegenüberstellung:

    Tabelle 2.1. Gegenüberstellung POSIX 1992/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
    [Tip]Tipp

    Software von Drittanbietern folgt möglicherweise noch nicht dem neuen Standard; in einem solchen Fall ist es ratsam, die Umgebungsvariable wie oben beschrieben zu setzen: _POSIX2_VERSION=199209.

  • /etc/gshadow wurde aufgegeben und entfernt, da die Datei überflüssig ist; die Gründe dafür sind:

    • Seitens der glibc gibt es keine Unterstützung.

    • Es gibt keine offizielle Schnittstelle für diese Datei; sogar in der shadow-Suite gibt es keine solche Schnittstelle.

    • Die meisten Tools, die das Gruppenpasswort überprüfen, unterstützen die Datei nicht und ignorieren sie aus den eben genannten beiden Gründen.

  • Mit dem Update von samba~2.x auf samba~3.x steht die winbind-Authentifikation nicht mehr zur Verfügung; die anderen Methoden sind weiterhin möglich. Aus diesem Grund wurden die folgenden Programme entfernt:

    /usr/sbin/wb_auth
    /usr/sbin/wb_ntlmauth
    /usr/sbin/wb_info_group.pl

    Vgl. auch: http://www.squid-cache.org/Doc/FAQ/FAQ-23.html#ss23.5

  • Der FHS (siehe 12.1.2. “Filesystem Hierarchy Standard (FHS)”) sieht nun vor, dass XML-Ressourcen (DTDs, Stylesheets etc.) unter /usr/share/xml installiert werden. Aus diesem Grund sind einige Verzeichnisse nun nicht mehr unter /usr/share/sgml zu finden. Bei Problemen müssen entweder die eigenen Skripte oder Makefiles angepaßt bzw. die offiziellen Kataloge (insbesondere /etc/xml/catalog bzw. /etc/sgml/catalog) verwendet werden.