Teil VII SuSE Linux: Update und Besonderheiten 399 Kapitel 15 Update des Systems und Paketverwaltung 15.1 Update des SuSE Linux SuSE Linux bietet die Möglichkeit, ein bestehendes System zu aktualisieren, ohne eine komplette Neuinstallation vornehmen zu müssen. Dabei muss un- terschieden werden zwischen der Aktualisierung einzelner Pakete und einem kompletten Update des Systems. Es ist ein bekanntes Phänomen, dass Software von Version zu Version wächst". Deshalb empfiehlt es sich vor dem Update mit df nachzuschauen, wie sehr die einzelnen Partitionen bereits ausgelastet sind. Wenn Sie den Eindruck haben, es könnte knapp werden, dann führen Sie bitte unbedingt ein Datenbackup durch und partitionieren Sie neu. Es kann kein genereller Tipp gegeben werden, wie viel Platz jeweils im Einzelnen benötigt wird ­ der Platzbedarf ist abhängig von der Art der bestehenden Partitionierung, von der ausgewählten Software und von dem Wechsel von welcher Version auf das vorliegende SuSE Linux 6.4. Es ist empfehlenswert, auf der CD die Datei LIESMICH (engl. README) bzw. unter DOS/Windows die Datei LIESMICH.DOS (engl. README.DOS) zu lesen; dort notieren wir zusätzliche Änderungen, die nach der Drucklegung des Handbuchs vorgefallen sind! 15.1.1 Vorbereitungen Vor Beginn eines Updates sollten sicherheitshalber die alten Konfigurations- dateien auf ein separates Medium (Streamer, Wechselplatte, Disketten, ZIP- Laufwerk) kopiert werden. In erster Linie handelt es sich um die Dateien in /etc; weiterhin sind Konfigurationsdateien unter /var/lib zu kon- trollieren (z. B. für News oder den XDM). Zudem kann es nichts schaden, die aktuellen Benutzerdaten unter /home (die HOME-Verzeichnisse) auf ein Backup-Medium zu schreiben. Bevor Sie den Update-Vorgang einleiten, notieren Sie sich die Rootpartition; mit dem Kommando erde: # df / 401 15. Update des Systems und Paketverwaltung können Sie den Gerätenamen Ihrer Rootpartition herausfinden; in diesem Fall wäre /dev/sda3 die zu notierende Root-Partition; vgl. Ausgabe 15.1.1. Filesystem 1024-blocks Used Available Capacity Moun- ted on /dev/sda3 4167999 3253471 698856 82% / /dev/sda1 7496 1311 5785 18% /boot Ausgabe 15.1.1: Überblick mit df Denn die Ausgabe zeigt, dass die Partition /dev/sda3 ist unter / in das Dateisystem eingehangen ist ( gemountet" ist). Vor einem PostgreSQL-Update (Paket postgres) empfiehlt es sich in der Regel, die Datenbanken zu dumpen"; vgl. Manual-Page von pg_dump (man pg_dump). Dies ist natürlich nur dann erforderlich, wenn Sie PostgreSQL vor dem Update tatsächlich benutzt haben. Nun müssen Sie noch entscheiden, ob Sie mit dem textorientieren YaST oder mit dem grafischen YaST2 updaten wollen. Die Entscheidung ist einfach: Wenn Sie ein SuSE Linux vor Version 6.0 erneuern möchten ­ in einem solchen Fall ist nehmen Sie YaST und gehen vor wie in Abschnitt 15.1.3 beschrieben. Version 6.0 und später kann mit YaST2 erneuert werden. 15.1.2 Update mit YaST2 Nach den in Abschnitt 15.1.1 auf der vorherigen Seite genannten Vorarbeiten booten Sie zunächst wie im Installationskapitel 2.1 auf Seite 15 beschrieben. Sie können ein Update mit YaST2 nur durchführen, wenn Sie ein SuSE Linux 6.x erneuern wollen. Bei älteren Versionen (z. B. SuSE Linux 5.3) ist YaST1 der richtige Weg; vgl. Abschnitt 15.1.3. Wenn Sie bei Abschnitt 2.1.7 auf Seite 19 angelangt sind, wählen Sie die Option `Update'. 15.1.3 Update mit YaST1 Das Basissystem erneuern Da beim Aktualisieren des Grundsystems die zentralen Bestandteile des Sys- tems (wie z. B. Bibliotheken) ausgetauscht werden müssen, kann diese Auf- gabe nicht im normalen Betrieb, d. h. aus dem bereits laufenden Linuxsystem heraus, erledigt werden. Sie müssen also die Update-Umgebung starten ­ im Normalfall mit der mit- gelieferten Diskette ( Bootdisk") oder durch Eingabe von manual am Boot- prompt des Kernels, wie in Abschnitt 2.2.1 auf Seite 28 ausführlich beschrie- ben. Im wesentlichen sind die folgenden Schritte notwendig: 402 15.1. Update des SuSE Linux 1. Direkt im Anschluss an das Booten des Kernels von der Bootdisk" oder der Update-CD wird automatisch linuxrc gestartet. 2. Im linuxrc sind im Hauptmenü unter dem Menüpunkt `Einstellung- en' Sprache, Bildschirm und Tastatur festzulegen und mit `Ok' zu be- stätigen. 3. Über den Menüpunkt `Kernel-Module' müssen ggf. die notwendi- gen Hardware-Treiber geladen werden (zum genauen Vorgehen vgl. die linuxrc-Beschreibung auf Seite 424). 4. Es kann über die Menüpunkte `Installation / System star- ten' und `Installation starten' zur Auswahl des Quellmedi- ums übergegangen werden (vgl. auf Seite 426). 5. Von linuxrc wird die Installationsumgebung geladen und ­ wie ausge- wählt ­ wird YaST gestartet. Im Eingangsmenü von YaST wählen Sie bitte den Punkt `Bestehendes Linux-System updaten'; YaST versucht nun, die Root-Partition her- auszufinden und bietet das Ergebnis zur Auswahl bzw. Bestätigung an; in der angezeigten Liste geben Sie Ihre Root-Partition an, wie oben notiert (Bei- spiel: /dev/sda3). So beauftragen Sie YaST, die alte" fstab einzulesen, die sich auf dieser Partition befindet; YaST mountet die dort eingetragenen Dateisysteme. Nun bitte `Weiter' wählen. Nach der Rückkehr in das Hauptmenü mit Esc ist der Punkt `System updaten' an der Reihe (vgl. Abschnitt 3.2 auf Seite 81). Ihr bisheriges System wird von YaST analysiert und es wird das Ergebnis der Analyse angezeigt. Anschließend werden die zentralen Bestandteile Ihres Systems aktualisiert, wobei YaST automatisch Sicherungen von Dateien anlegt, die seit der letz- ten Installation von Ihnen verändert wurden; weiterhin werden alte Konfi- gurationsdateien ggf. mit der Endung .rpmorig bzw. .rpmsave gesi- chert (vgl. Abschnitt 15.3.1 auf Seite 411); der Vorgang der Installation bzw. des Updates wird in /var/adm/inst-log/installation-* proto- kolliert und ist jederzeit nachlesbar. Update des restlichen Systems Ist das Basissystem aktualisiert, gelangen Sie in einen speziellen Update-Mo- dus von YaST. Dort können Sie nach Ihren Wünschen den Rest des Systems updaten. YaST baut zwei Listen auf, in denen Ihnen diejenigen Pakete angeboten wer- den, von denen YaST selbständig erkennen kann, dass ein Update sinnvoll und möglich ist, weil sich z. B. ein abhängiges Paket geändert hat oder das neue Paket eine höhere Versionsnummer hat. In der zweiten Liste werden Ih- nen die Pakete angezeigt, in denen das nicht so ohne weiteres möglich ist ­ etwa weil das alte Paket noch ohne Versionsinformation gespeichert war. In diesen beiden Listen können Sie wahlfrei Pakete zum Update an- und ab- wählen. Wenn Sie das Update starten, werden die selektierten Pakete durch die jeweils neue Version ersetzt, wobei wiederum alle Dateien gesichert wer- den, die sich seit der letzten Installation verändert haben. 403 15. Update des Systems und Paketverwaltung Nachdem diese Aufgabe erledigt ist, müssen Sie den Vorgang wie eine Erst- installation abschließen. Unter anderem sollten Sie einen neuen Kernel aus- wählen; YaST wird diese Option anbieten. Wenn Sie es gewohnt sind, mit loadlin zu booten, müssen Sie den neu- en Kernel und eventuell Ihr initrd natürlich auch in das loadlin- Verzeichnis Ihrer DOS-Partition kopieren! Wenn Sie nicht möchten, dass nach dem Update, wenn das System in seinen normalen Betriebsmodus geht (zum Standard-Runlevel vgl. Abschnitt 17.2 auf Seite 440) und als erstes automatisch YaST noch einmal gestartet wird, um die durchs Update vorbereiteten Maßnahmen abzuschließen, dann geben Sie am Bootprompt ein: NO_AUTO_SETUP=true Sinn macht NO_AUTO_SETUP=true dann, wenn wider Erwarten bei die- sem (erneuten) Hochlauf des Systems Probleme auftreten. Derartige Proble- me können vorkommen, wenn Sie essentielle Teile des Linux-Systems über eine PCMCIA-SCSI-Karte einbinden. Um gleichwohl die vorbereitete Kon- figurationsarbeit durchzuführen, können folgende Schritte gegangen werden: 1. Beim Booten als Option folgenden Parameter angeben: NO_AUTO_SETUP=true 2. Als `root' einloggen und einmal yast -nomenu starten, um even- tuelle Konfigurationen durchführen zu lassen. 3. Als `root' das Skript /lib/YaST/bootsetup.conf starten und durchlaufen lassen. Danach ist es genauso, als ob es normal durchgelaufen wäre. Der erfahrene Linux-Anwender wird in einem solchen Fall vielleicht lieber gar nicht erst in den Standard-Runlevel wollen, sondern mittels single am Bootprompt direkt in den Single-User-Mode (Runlevel 1) verzweigen. 15.1.4 Aktualisieren einzelner Pakete Unabhängig von einem Gesamt-Update können Sie selbstverständlich jeder- zeit einzelne Pakete aktualisieren. In der Paketauswahl von YaST (siehe Abschnitt 3.4.3 auf Seite 94 ff.) können Sie nach Herzenslust schalten und walten. Wählen Sie ein Paket zum Update aus, das für den Betrieb des Systems eine zentrale Rolle spielt, werden Sie von YaST gewarnt. Derartige Pakete sollten im speziellen Update-Modus ak- tualisiert werden. Beispielsweise enthalten etliche Pakete shared libraries", die möglicherweise zum Zeitpunkt des Updates von laufenden Prozessen ver- wendet werden. Ein Update im laufenden System würde daher dazu führen, dass diese Programme nicht mehr korrekt funktionieren können. 15.2 Von Version zu Version In den folgenden Abschnitten wird aufgelistet, welche Details sich von Ver- sion zu Version geändert haben. In dieser Übersicht erscheint z. B., ob grund- 404 15.2. Von Version zu Version legende Einstellungen neu vorgenommen oder ob Konfigurationsdateien an andere Stellen verschoben wurden oder ob alt-bekannte Programme ein neu- es Verhalten an den Tag legen. Es werden jedoch nur die Dinge genannt, die den Benutzer bzw. den Administrator bei der täglichen Arbeit unmittelbar be- rühren. Die Liste ist keinesweg erschöpfend und vollständig. Im Folgenden wird auf die SDB verwiesen, die auch im Paket sdb_de, Serie doc enthalten ist (vgl. Abschnitt 1.4.1 auf Seite 7). Probleme und Besonderheiten der jeweiligen Version werden bei Bekannt- werden 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. 15.2.1 Von 4.x auf 5.0 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/maddin_bugs5.html. * Paketmanagement von TGZ auf RPM umgestellt (vgl. Abschnitt 15.3 auf Seite 410). * Neue Bash (vgl. in der SDB die Artikel http://sdb.suse.de/ sdb/de/html/maddin_bash2.html und http://sdb.suse. de/sdb/de/html/maddin_inputrc.html). 15.2.2 Von 5.0 auf 5.1 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/maddin_bugs51.html. * LILO Fall 1: Die Loader any_b.b und any_d.b sind obsolet (vgl. auf Seite 124). * LILO Fall 2: Bei Boot-Schwierigkeiten im Zusammenhang mit dem SCSI-Hostadapter Adaptec 2940 (verschiedene Modelle) sollte man die Option linear in der /etc/lilo.conf nun nicht mehr setzen (vgl. auf Seite 124). * Optionale" Software (z. B. KDE oder Applixware ) wird unter /opt installiert (vgl. Abschnitt 2.8 auf Seite 68). * Die Paketbeschreibungen werden aus Platzgründen nicht mehr im Buch abgedruckt; sie sind auf der ersten CD im Verzeichnis /docu zu fin- den: auf Deutsch als pkg_German.dvi und pkg_German.ps und auf Englisch als pkg_English.dvi und pkg_English.ps. * Der Anhang Hardwarevoraussetzungen" ist nicht mehr im Handbuch enthalten; als Alternative gibt es die CDB ­ Komponenten-Datenbank" (engl. Components Database); verfügbar online unter http://cdb. suse.de/. * Die m4-Dateien von Sendmail liegen unter /usr/share/sendmail. * Die Quellen sind als Source RPM"s gepackt (vgl. in der SDB http: //sdb.suse.de/sdb/de/html/ke_source-rpm.html). 405 15. Update des Systems und Paketverwaltung 15.2.3 Von 5.1 auf 5.2 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/maddin_bugs52.html. * YaST : Die Serie ALL ist aus der `Serien-Auswahl' heraus mit F4 (= `Umsortieren') zu erreichen (vgl. Abschnitt 3.4.3 auf Seite 94). * Die XSuSE-Server sind in die offiziellen XFree86-Quellen eingeflossen; verwenden Sie also jetzt wieder jeweiligen Standard-Server der Serie x. Ausnahme: XSuSE_Elsa_GLoria (Paket xglint), der für Glint- bzw. Permedia-basierte Grafikkarten. * Die X-Server werden aus Sicherheitsgründen nicht mehr suid root in- stalliert (also ohne das s-Bit). Das X Window System ist deshalb entweder über den Xwrapper via startx oder über einen Displaymanager (xdm oder kdm) zu starten. * Der wuftpd wird nun als Standard-FTP-Server in der /etc/inetd. conf eingerichtet (vgl. in der SDB http://sdb.suse.de/sdb/ de/html/grimmer_ftpd.html); vgl. jetzt auch Abschnitt 15.2.8 auf Seite 407. * Die Optionen von ps werden nicht mehr durch `-' eingeleitet; bitte passen Sie Ihre Shellskripten an (vgl. in der SDB http://sdb.suse. de/sdb/de/html/maddin_ps52.html). * SuSEconfig (vgl. Abschnitt 17.5 auf Seite 444) versteht einige Optionen, die helfen, die Arbeit zu beschleunigen. 15.2.4 Von 5.2 auf 5.3 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs53.html. * Eine SuSE LinuxErstinstallation bzw. ein -Update läuft linear" ab; wer die alte" Installationsprozedur mit zahlreichen Eingreifmöglich- keiten verwenden möchte, der hat beim YaST-Eingangsbildschirm den Experten-Modus anzuwählen (vgl. Abbildung 2.6 auf Seite 33). * Zusätzlich zur Bootdiskette wird ein modules-Disketten-Image mit zu- sätzlichen Modulen angeboten ­ bei exotischer" Hardware kann darauf zurückgegriffen werden; vgl. Abschnitt 16.3 auf Seite 423. * Alle X-Server sind übersichtlich geordnet in der Serie xsrv (X-Server) zu finden, nicht mehr in Serie x. * Für neue Grafikkarten bzw. -chips stehen die von SuSE entwickelten X-Server XFCom_3DLabs (Paket x3dlabs; früher XSuSE_Elsa_ GLoria, Paket xglint), XFCom_SiS (Paket xsis; früher XSuSE_ SiS) und XFCom_Cyrix (Paket xcyrix) zur Verfügung. * User, die Terminalprogramme wie minicom, seyon etc. verwenden wol- len, müssen in die Gruppe `uucp' eingetragen werden; vgl. http: //sdb.suse.de/sdb/de/html/ke_terminal-prog.html. * Emacs liegt in der Version 20.x vor; es sind die gleichfalls angepass- ten Startdateien aus /etc/skel zu verwenden; vgl. http://sdb. suse.de/sdb/de/html/ke_emacs-update.html. 406 15.2. Von Version zu Version * Dem Paket jade_dsl sind nunmehr die SGML-Parsertools und Hilfs- programme als eigenständiges Unter-Paket sp ausgegliedert. * PostgreSQL (Paket postgres) besteht aus mehreren Unterpaketen (engl. subpackages): Datenbank-Engine, Datenbank-Initialisierung und Interfaces. 15.2.5 Von 5.3 auf 6.0 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs60.html. * Wie in den Quellen des Kernels vorgesehen, wird der Boot-Kernel in /boot installiert. Beim Update ist darauf zu achten, dass in der /etc/lilo.conf die Pfade entsprechend eingetragen sind; YaST macht einen entsprechenden Vorschlag ­ wenn Sie weiterhin den alten Kernel (/vmlinux) booten wollen, greifen Sie bitte in den Update- Vorgang ein und konfigurieren Sie LILO entsprechend. * System-Bibliothek ist nun die glibc (auch bekannt als libc6). Bei einem Update der mit SuSE Linux ausgelieferten Programme sollte es dadurch zu keinen grundsätzlichen Schwierigkeiten kommen. Eigene Programme sollte man nach dem System-Update neu kompilieren und mit der glibc linken; sollte das nicht möglich sein ­ weil Sie z. B. nicht über den Quell- code des jeweiligen Programms verfügen ­, so gibt es den Ausweg, das Paket shlibs5 (libc5) zu installieren, womit weiterhin die alten" Programme lauffähig gemacht werden können. * Teile der /etc/rc.config sind bei Paketen mit umfangreichen Konfigurationsmöglichkeiten in Dateien des Verzeichnisses /etc/rc. config.d ausgelagert. * cron ist in der Lage, Skripten in den Verzeichnissen /etc/cron. hourly, /etc/cron.daily, /etc/cron.weekly und /etc/ cron.monthly auszuführen; die System-crontab ist von /root/ bin/cron.daily in /etc/cron.daily/aaa_base umbenannt worden; vgl. auch auf Seite 408. * Die aktuelle teTeX-Version ist mit SuSE Linux verfügbar. Da die TEX- System konform zum Filesystem Hierarchy Standard (FHS) installiert wird, werden unter /var zusätzlich ca. 15 MB Plattenplatz benötigt. ­ teTeX wurde auf auf mehrere Unterpakete aufgeteilt. Wenn nach einem Update etwas fehlt", ist es ratsam, in der Serie tex nachzuschauen, ob alle notwendigen Pakete tatsächlich installiert sind. * Die LATEX-Erweiterungen Paket colortbl und Paket hyperref sind nunmehr bei teTeX mit enthalten und werden deshalb nicht mehr separat angeboten. * C News wird aus der Distribution ausgegliedert; für eine Übergangszeit ist Paket cnews noch auf der CD 1 unter unsorted/ zu finden. Länger- fristig ist an einen Umstieg auf das Paket inn oder das Paket leafnode zu denken. * Die Konfigurationsdateien von UUCP liegen im Verzeichnis /etc/ uucp. * Die DocBook-Stylesheets sind nun in dem eigenem Paket docbkdsl der Serie sgm zu finden. 407 15. Update des Systems und Paketverwaltung 15.2.6 Von 6.0 auf 6.1 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs61.html. * Die CD-ROM mit dem Live-Filesystem" ist nicht mehr im Lieferum- fang enthalten; diese CD-ROM kann separat zu SuSE Linux kann gegen eine Schutzgebühr erworben werden. Technische Hinweise zu dieser CD finden Sie in Abschnitt 3.6.4 auf Seite 107. * Weitere Treiber, die eventuell bei der Erstinstallation oder beim Update notwendig sind (proprietäre CD-ROM-Laufwerke, Laufwerke am Paral- lelport, PCMCIA) finden Sie auf der zusätzlich mitgelieferten modules- Diskette. linuxrc wird Sie bei Bedarf zu gegebener Zeit auffordern, diese modules-Diskette einzulegen (Abschnitt 2.2.3 auf Seite 29). * Die Standardschnittstelle" für das Drucken über den Parallelport ist beim Kernel 2.2.x /dev/lp0 (vgl. Abschnitt 12.1 auf Seite 329). 15.2.7 Von 6.1 auf 6.2 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs62.html. * rpm (vgl. auch Abschnitt 15.3 auf Seite 410) liegt als Version 3.0 vor. Das Format der RPM-Datenbank hat sich geändert; die Datenbank muss sofort konvertiert werden, wenn rpm installiert ist. Bei einem regulären Upda- te des (Basis-)Systems mit YaST wird die Konvertierung zum richtigen Zeitpunkt im Hintergrund durchgeführt. * Die System-Bibliothek glibc liegt nun in Version 2.1 vor. Soweit möglich, werden Komponenten mitgeliefert, die auch weiterhin die Ausführung von glibc-2.0-Programmen erlauben; dies stößt jedoch auf seine Grenzen, wenn versucht wird, auf bestimmte interne Symbole zuzugreifen. Eigene Programme sollten folglich grundsätzlich neu compiliert werden. * Zu der glibc gehört auch der nscd (engl. Name Service Cache Daemon), der über die Datei /etc/nscd.conf konfiguriert wird; vgl. Manual- Page von nscd (man 8 nscd). * Mit der glibc-2.1 wird der Umstieg auf Unix98 PTY"-Devices vollzo- gen. Dies bedingt, dass auch das devpts-Dateisystem zu mounten ist; folgender Eintrag in der /etc/fstab stellt dies beispielsweise sicher: none /dev/pts devpts gid=5,mode=620 0 0 Vgl. auch die Dokumentation in /usr/src/linux/Documentation/ Changes bei den Kernelquellen. * PAM (engl. Pluggable Authentication Modules): Zusätzlich zu /etc/ login.defs gibt es nun /etc/securetty, /etc/security/ limits.conf und /etc/security/pam_env.conf; vgl. auf Seite 111. * Spracheinstellungen können über Variablen in der /etc/rc.config vorgenommen werden; vgl. Abschnitt 76 auf Seite 446 und auch http: //sdb.suse.de/sdb/de/html/ml_locale_implementation. html. Wer deutsche Meldungen nicht mag, kann auch direkt z. B. in .bashrc eintragen: 408 15.2. Von Version zu Version export LANG=C * Bei etlichen Paketen sind die für die Software-Entwicklung notwendi- gen Komponenten (Bibliotheken, Header- und Include-Dateien etc.) in eigene Pakete ausgelagert; dies ist z. T. auch schon bei früheren Versio- nen geschehen. Diese Entwicklungspakete werden nur benötigt, wenn Sie Software selbst übersetzen (compilieren) wollen ­ beispielsweise neue- re GNOME-Pakete. Diese Entwicklungspakete sind in der Regel an dem Namenszusatz dev oder d zu erkennen: Paket xformsd, Paket glibn- dev, Paket gtkndev, Paket imlibdev, Paket gnlibsd etc. 15.2.8 Von 6.2 auf 6.3 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs63.html. * Es werden unterschiedlich optimierte Kernel zur Installation angeboten; diese Kernel verwenden eine initrd" (engl. Initial Ramdisk). Beim Er- zeugen eines eigenen Kernels ist diese Nebenbedingung zu beachten; vgl. Abschnitt 16.2.5 auf Seite 421 und http://sdb.suse.de/sdb/ de/html/adrian_6.3_boot.html. * Die Konfigurationsdatei für die Kernel-Module heißt /etc/modules. conf (früher: /etc/conf.modules). * Neben dem Userspace"-NFS-Daemon (Paket nfsserv) steht auch der kernel-basierte NFS-Daemon (Paket knfsd) zur Verfügung. Der knfsd zeigt nur einen eingeschränkten Funktionsumfang, beherrscht dafür aber das Locken von Dateien; darauf ist beispielsweise StarOffice angewiesen. Setzen Sie bitte USE_KERNEL_NFSD oder NFS_SERVER in /etc/ rc.config und installieren Sie das das für Sie richtige Paket. * Die Manpages liegen unter /usr/share/man, wie es der FHS (engl. Filesystem Hierarchy Standard) verlangt; vgl. Abschnitt 16.1 auf Sei- te 417. * Einige Software-Pakete, die aus der Distribution genommen wurden: ­ Paket gnuhtml: Veraltet; die aktuellen Info-Dokumente kann man im HTML-Format über das SuSE-Hilfesystem erhalten (vgl. Ab- schnitt 16.4 auf Seite 429). ­ Paket glimpse: Ein ältere Version finden Sie im Verzeichnis /unsorted der CD 1. Aus Copyright-Gründen können wir die neuere Version nicht mit SuSE Linux ausliefern. * Tcl/Tk steht in neuen Versionen mit neuen Paketbezeichnungen zur Ver- fügung. Tcl/Tk 8.0 ist die Standardversion. * OSS (engl. Open Sound System) steht auch für Mehr-Prozessor- Maschinen zur Verfügung; im Einzelnen handelt es sich um Paket opso und Paket opsod_up sowie Paket opso_smp und Paket opsodsmp; vgl. http://sdb.suse.de/sdb/de/html/oss-smp.html. * Auslagerung der sendmail-Einstellungen von der /etc/rc.config in die Datei /etc/rc.config.d/sendmail.rc.config; vgl. http://sdb.suse.de/sdb/de/html/mneden_6.3_sendmail. html. 409 15. Update des Systems und Paketverwaltung * Aus Sicherheitsüberlegungen wird bei der Standardauswahl der WU- FTPD (Paket wuftpd, Serie n) nicht mehr installiert. * Bei leafnode hat sich ab Version 1.9.2 das Verzeichnis der Konfigurations- dateien geändert. Sie befinden sich nun unter /etc/leafnode anstatt unter /usr/lib/leafnode. Falls Sie Ihre Konfigurationsdatei geändert haben, befindet sich die Siche- rungskopie unter /usr/lib/leafnode/config.rpmsave. Bitte übernehmen Sie Ihre Anpassungen manuell in die neue Konfigurations- datei. Achtung: Wenn Sie von einer älteren Version (vor 1.9.3) updaten, führen Sie bitte zuerst das Shellskript /usr/doc/packages/leafnode/ update.sh aus: erde: # cd /usr/doc/packages/leafnode erde:/usr/doc/packages/leafnode # ./update.sh \ /var/spool/news/ /etc/leafnode /var/lock/news/fetchnews.lck Hierbei werden die Datei groupinfo und ein paar weitere umorgani- siert (groupinfo wird nun nicht mehr case-sensitiv" sortiert). Falls hierbei etwas schief geht, finden Sie die alte Datei unter /var/spool/ news/leaf.node/groupinfo.old. Wenn das Skript erfolgreich durchgelaufen ist, können Sie diese Datei (.old) anschließend löschen. Hinweis: Das Programm /usr/sbin/fetch heißt seit Version 1.9.3 /usr/sbin/fetchnews. Bitte passen Sie Cronjobs" oder sonstige Skripten (z. B. /etc/ppp/ip-up) entsprechend an. Zur Installation von leafnode vgl. Abschnitt 6.9 auf Seite 203. * MySQL läuft unter der UID `mysql' und der GID `daemon', um mehr Sicherheit zu gewährleisten. * Fortify liegt unter /opt/fortify; es kann nach der Anwendung dein- stalliert werden. 15.2.9 Von 6.3 auf 6.4 Probleme und Besonderheiten: http://sdb.suse.de/sdb/de/html/bugs64.html. * Kernel: Paket kernmod bzw. Paket kernmods sind nicht mehr not- wendig. Die passend optimierten Kernel-Module werden in einem Rutsch" mit dem jeweils ausgewählten Kernel installiert (vgl. 3.6.2 auf Seite 103). Die Konfigurationsdateien des installierten Kernels liegen unter /boot als vmlinuz.config-pentium (Beispiel!), vmlinuz.autoconf.h und vmlinuz.version.h. Auf Wunsch kopiert YaST diese Dateien in den Baum der Kernelquellen. * Gültige Login-Shells in /etc/shells eingetragen; vgl. Manual-Page von shells (man 5 shells). Wird einem Benutzer /bin/true zugeordnet, so kann sich dieser Benutzer nur über das X Window Sys- tem anmelden; dieser Benutzer bekommt keine Shell. /bin/false als Login-Shell" verhindert jegliche Anmeldung. * Paket aaa_base: Die täglichen Wartungsarbeiten am System sind aus Gründen der Übersichtlichkeit auf mehrere Skripten verteilt worden. 410 15.2. Von Version zu Version In /etc/cron.daily gibt es nun neben aaa_base die Kompo- nenten backup_rpmdb, clean_catman, clean_core, clean_ instlog, clean_tmp, do_mandb, rotate_logs und updatedb ­ jeweils erkennbar an dem Vorwort aaa_base_; aaa_base liest zudem cron.daily.local, wo eigene Erweiterungen eingetragen werden können. Zum Cron-System vgl. Abschnitt 16.6.1 auf Seite 435. * Eine neuere Version von tar (tar) wird mitgeliefert. Das Überschreib- verhalten beim Auspacken vorhandener Dateien ist geändert; wenn Sie auf den alten Modus angewiesen sind, verwenden Sie bitte die Option --overwrite. * Fast alle Programme im Paket nkita und Paket nkitb liegen in neuen Versionen vor. traceroute ist in das Paket nkitb gewandert. Einige Pro- gramme sind bereits IPv6 ready"; achten Sie deshalb darauf, dass DNS richtig konfiguriert ist ­ andernfalls kann es passieren, dass der DNS- Timeout für IPv6-Anfrage abgewartet werden muss. * Zu Paket samba: Mit dem Update auf Version 2.0.6 hat sich die Syntax des smbmount-Kommandos geändert! smbmount muss von dem Shell- skript /sbin/mount.smbfs aufgerufen werden, welches wiederum von mount aufgerufen wird; ein Beispielaufruf: erde: # mount -t smbfs -o userna- me=uname,password=passwd \ //smbserv/share /destination * Zum Paket postfix: Weitere Möglichkeiten der Einstellung sind hin- zugekommen; die Startvariablen sind nach /etc/rc.config.d/ postfix.rc.config ausgelagert worden; vgl. auch Abschnitt 17.5 auf Seite 444. * Das Paket squid, also die Version 1.x des WWW Proxy-Servers, wird nicht mehr mitgeliefert. Da die nunmehr etablierte Version 2.x als sta- bil zu betrachten ist, empfiehlt sich ein genereller Umstieg. Während des Updates wird das Paket squid nicht automatisch durch das Pa- ket squid2 ersetzt; sichern Sie die alte Konfigurationsdatei, deinstal- lieren Sie dann das Paket squid und installieren Sie das Paket squid2. Nun können Sie mit den neuen Dateien starten und wieder Ihre eigenen Anpassungen vornehmen ­ zusätzliche Informationen sind unter http: //squid.nlanr.net zu finden. * Der empfohlene DHCP-Client ist im Paket dhcpcd enthalten; für beson- dere Fälle wird weiterhin Paket dhclient mitgeliefert. * Aus Sicherheitsgründen ist anonymes FTP nicht mehr automatisch zuge- lassen. Um bei dem FTP-Daemon in.ftpd anonymes FTP zu erlauben, muss in /etc/pam.d/ftpd das Kommentarzeichen `#' entfernt wer- den vor der Zeile: auth sufficient /lib/security/pam_ftp.so * Passwort ändern mit PAM (engl. Pluggable Authentication Modules): pam_unix kann auch NIS-Passwörter ändern und versteht md5-Hashes als Passwort. Vorsicht ­ vgl. Abschnitt 3.6.7 auf Seite 111. Außerdem gibt es jetzt ein neues pam_pwcheck-Module, welches die Überprüfung neuer Passwörter übernimmt. Der alte Eintrag: 411 15. Update des Systems und Paketverwaltung password required /lib/security/pam_unix.so #strict=false muss geändert werden in ­ jeweils nur eine Zeile, oder mit \ ( Gegen- strich") am Zeilenende: password required /lib/security/pam_pwcheck.so \ nullok #use_cracklib password required /lib/security/pam_unix.so \ nullok use_first_pass use_authtok Dieser manuelle Eingriff ist nur notwendig, falls rpm beim Update die Konfigurationsdateien nicht selbst ändern darf, da der Systemadministra- tor eigene Änderungen gemacht hat. Dies gilt übrigens für alle Konfigu- rationsdateien von PAM unter /etc/pam.d. * Zusätzlich zu den Manual-Pages (vgl. Abschnitt 15.2.8 auf Seite 407) liegen auch die Info-Seiten unter /usr/share. * makewhatis (Paket makewhat) verwendet nun das Hilfsprogramm manpath, um die Manual-Pages zu finden. Die Umgebungsvariable MANPATH soll in rc-Dateien nicht mehr gesetzt werden. * ldconfig wird nur aufgerufen, wenn ein /lib-Verzeichnis neuer als /etc/ld.so.cache ist; ggf. wird es im Hintergrund gestartet. Der Aufruf von ldconfig lässt sich erzwingen, wenn die Umgebungsvaria- ble run_ldconfig auf true gesetzt wird; es ist möglich, bereits am Bootprompt "run_ldconfig=true" zu setzen. * Das Paket ncurses liegt in Version 5.0 vor; von der shared library" wird weiterhin auch Version 4.2 mitgeliefert, sodass man vorkompilierte Programme in der Regel weiterverwenden kann. * Das Paket apache ist aufgeteilt worden. Installieren Sie auch die mod_*-Unterpakete, wenn Sie spezielle Erweiterungen benötigen. Die Dokumentation zu PHP finden Sie im Paket phpdoc. Die Logdateien sind aus Gründen der Übersichtlichkeit in /var/log/httpd zu finden. * Roxen ist folgendermaßen aufgeteilt: Das Paket roxen ohne und das Paket roxenssl mit Kryptographie-Unterstützung. Dies hat den Vorteil, kein separates Paket roxenint mehr verwalten zu müssen. * Das Paket changes wurde aufgegeben. Die gewünschten Informationen kann rpm direkt anzeigen: tux@erde: > rpm -q --changelog 15.3 RPM ­ Der Paket-Manager der Distribution Mit SuSE Linux Version 5.0 hat RPM (rpm) (engl. RPM Package Mana- ger) Einzug in die Distribution gehalten. Damit vereinfacht sich das Paket- Management für alle Beteiligten, die Benutzer, die Systemadministratoren und ­ nicht zuletzt ­ für die Pakete-Macher. Mittels der mächtigen RPM- Datenbank stehen jederzeit detaillierte Informationen zur installierten Soft- ware zur Verfügung. Im wesentlichen kann rpm in drei Modi agieren: installierbare Pakete aus den unangetasteten Quellen (engl. pristine sources) herstellen, diese Pakete instal- lieren bzw. auch wieder sauber de-installieren oder updaten sowie Anfragen an die RPM-Datenbank bzw. an einzelne RPM-Archive richten. 412 15.3. RPM ­ Der Paket-Manager der Distribution Installierbare RPM-Archive sind in einem speziellen binären Format gepackt; die Archive bestehen aus den zu installierenden (Programm-)Dateien und aus verschiedenen Meta-Informationen, die während der Installation von rpm benutzt werden, um das jeweilige Softwarepaket zu konfigurieren, oder die zu Dokumentationszwecken in der RPM-Datenbank abgelegt werden. RPM- Archive haben die Dateinamen-Endung .rpm. 15.3.1 Pakete verwalten: Installieren, Updaten und De-installieren Im Normalfall ist das Installieren eines RPM-Archivs denkbar einfach: erde: # rpm -i .rpm Mit diesem Standardbefehl wird ein Paket aber nur dann installiert, wenn die Abhängigkeiten" erfüllt sind und wenn es zu keinen Konflikten" kommen kann. rpm fordert per Fehlermeldung die Pakete an, die zum Erfüllen der Ab- hängigkeiten notwendig sind. Die Datenbank wacht im Hintergrund darüber, dass es zu keinen Konflikten kommen kann: eine Datei darf in der Regel nur zu einem Paket gehören. Mit verschiedenen Optionen kann man sich über diese Regel hinwegsetzen ­ wer dies tut, der sollte aber genau wissen, was er tut, da er damit eventuell die Updatefähigkeit des Systems aufs Spiel setzt. Interessant ist auch die Option -U bzw. --upgrade, um ein Paket zu ak- tualisieren. Dadurch wird eine ältere Version des gleichen Pakets gelöscht und dann die neue Version installiert. Gleichzeitig versucht rpm, sorgfältig mit den Konfigurationsdateien umzugehen, wobei ­ etwas vereinfacht ­ die folgende Strategie zum Tragen kommt: * Falls eine Konfigurationsdatei vom Systemadministrator nicht verändert wurde, dann wird von rpm die neue Version der entsprechenden Datei installiert. Es sind keine Eingriffe seitens des Administrators notwendig. * Falls eine Konfigurationsdatei vom Administrator zu einem Zeitpunkt vor dem Update geändert wurde, dann wird rpm die geänderte Datei dann und nur dann mit der Erweiterung .rpmorig oder .rpmsave sichern und die neue Version aus dem RPM-Paket installieren, wenn sich zwischen ursprünglicher Datei und der Datei aus dem Update-Paket etwas geändert hat. In diesem Fall ist es sehr wahrscheinlich, dass Sie die frisch installier- te Konfigurationsdatei anhand der Kopie (.rpmorig oder .rpmsave) auf Ihre System-Bedingungen hin abstimmen müssen. Danach sollten al- le .rpmorig- bzw. .rpmsave-Dateien unbedingt entfernt werden, um kommenden Updates nicht als Hindernis im Wege zu liegen.1 Die Option -U ist also in keiner Weise nur ein Äquivalent für die Abfolge -e (De-Installieren/Löschen) ­ -i (Installieren). Wenn immer möglich, dann ist der Option -U der Vorzug zu geben. 1 Die Erweiterung .rpmorig wird gewählt, wenn die Datei der RPM-Datenbank noch nicht bekannt war, sonst kommt .rpmsave zum Zuge; mit anderen Worten: .rpmorigs entstehen beim Update von Fremdformat auf RPM und .rpmsave beim Update von RPM-alt auf RPM- neu. 413 15. Update des Systems und Paketverwaltung Nach jedem Update müssen Sie die von rpm angelegten Sicherungsko- pien mit der Erweiterung .rpmorig oder .rpmsave kontrollieren; das sind Ihre alten Konfigurationsdateien. Falls erforderlich, übernehmen Sie bitte Ihre Anpassungen aus den Sicherungskopien in die neuen Konfigura- tionsdateien, und löschen Sie dann die alten Dateien mit der Erweiterung .rpmorig bzw. .rpmsave. Wenn ein Paket entfernt werden soll, geht man ähnlich geradlinig vor: erde: # rpm -e rpm wird ein Paket aber nur dann entfernen, wenn keine Abhängigkeiten mehr bestehen; so ist es z. B. theoretisch nicht möglich, Tcl/Tk zu löschen, solange noch irgendein anderes Programm Tcl/Tk zum Laufen benötigt ­ auch darüber wacht RPM mithilfe der Datenbank. Falls in einem Ausnahmefall eine derartige Lösch-Operation nicht möglich sein sollte, obwohl keine Abhängigkeiten mehr bestehen, dann kann es hilf- reich sein, die RPM-Datenbank mittels der Option -rebuilddb neu aufzu- bauen; vgl. unten die Anmerkungen zur RPM-Datenbank (Abschnitt 15.3.2 auf Seite 414). 15.3.2 Anfragen stellen Mit der Option -q (engl. query) leitet man Anfragen ein. Damit ist es sowohl möglich die RPM-Archive selbst zu durchleuchten (Option -p ) als auch die RPM-Datenbank zu befragen. Die Art der Information kann man mit den zusätzlichen Switches in Tabelle 15.1 auswählen. -i Paket-Informationen anzeigen -l Dateiliste des Pakets anzeigen -f + Anfrage nach Paket, das die Datei be- sitzt; muss mit vollem Pfad angegeben werden! -s Status der Dateien anzeigen (impliziert -l) -d Nur Dokumentationsdateien auflisten (impliziert -l) -c Nur Konfigurationsdateien auflisten (impliziert -l) --dump Alle überprüfbaren Infos zu jeder Datei anzeigen (mit -l, -c oder -d benutzen!) --provides Fähigkeiten des Pakets auflisten, die ein anderes Paket mit --requires anfordern kann --requires, -R Paket-Abhängigkeiten ausgeben --scripts Die diversen (De-)Installations-Skripten ausgeben Tabelle 15.1: Die wichtigsten Abfrageoptionen (-q [-p] ... ) 414 15.3. RPM ­ Der Paket-Manager der Distribution Der Befehl erde: # rpm -q -i rpm gibt die Information in Ausgabe 15.3.1 auf der nächsten Seite aus. Name : rpm Relocati- ons: (not relocateable) Version : 3.0.3 Vendor: Su- SE GmbH, Germany Release : 47 Build Da- te: Fri Dec 10 13:50:27 Install date: Tue Dec 14 12:57:00 1999 Build Host: Cauchy.suse.de Group : unsorted Source RPM: rpm-3.0.3- 47.src.rpm Size : 5740847 License: GPL Packager : feedback@suse.de Summary : RPM Package Manager Description : RPM Package Manager is the main tool for managing softwa- re packages of the SuSE Linux distribution. [...] Ausgabe 15.3.1: rpm -q -i rpm Die Option -f führt nur dann zum Ziel, wenn man den kompletten Dateina- men, einschließlich des Pfades, kennt; es dürfen beliebig viele zu suchende Dateinamen angegeben werden, z. B.: erde: # rpm -q -f /bin/rpm /usr/bin/wget führt zu dem Ergebnis: rpm-3.0.3-3 wget-1.5.3-55 Kennt man nur einen Teil des Dateinamens, so muss man sich mit einem Shell-Skript behelfen (vgl. Datei 15.3.1); der gesuchte Dateiname ist als Pa- rameter beim Aufruf des Skripts zu übergeben. #! /bin/sh for i in `rpm -q -a -l | grep $1 `; do echo "\"$i\" ist in Paket:" rpm -q -f $i echo "" done Datei 15.3.1: Paket-Suchskript Mit dem Befehl erde: # rpm -q --changelog rpm kann man sich gezielt die Auflistung der Informationen (Updates, Konfigura- tion, Änderungen etc.) zu einem bestimmten Paket anzeigen lassen; hier im Beispiel zu dem Paket rpm. 415 15. Update des Systems und Paketverwaltung Anhand der Datenbank lassen sich auch Überprüfungen durchführen; ein- geleitet werden diese Vorgänge mit der Option -V (gleichbedeutend mit -y oder --verify). Damit veranlasst man rpm, all die Dateien anzuzeigen, die sich im Vergleich zur ursprünglichen Version, wie sie im Paket enthalten war, geändert haben. rpm stellt dem eigentlichen Dateinamen bis zu 8 Zeichen voran, die auf folgende Änderungen hinweisen: 5 MD5-Prüfsumme S Dateigröße L Symbolischer Link T Modification Time D major" und minor" Gerätenummer (engl. device number) U Benutzer (engl. user) G Gruppe (engl. group) M Modus (einschl. Rechte und Typus) Tabelle 15.2: Die Überprüfungen Bei Konfigurationsdateien wird zusätzlich ein c ausgegeben. Beispiel, falls etwas an /etc/wgetrc aus dem Paket wget geändert wurde: erde: # rpm -V wget S.5....T c /etc/wgetrc Die Dateien der RPM-Datenbank liegen unter /var/lib/rpm. Bei einer /usr-Partition von 500 MB kann die Datenbank durchaus 20 MB Platten- platz beanspruchen; insbesondere nach einem kompletten Update. Falls die Datenbank über Gebühr groß erscheint, ist es meist hilfreich, mit der Option --rebuilddb eine neue Datenbank von der existierenden zu erstellen; es kann nichts schaden, vor einem solchen Rebuild" eine Kopie der existieren- den aufzubewahren. Weiterhin legt das cron-Skript cron.daily täglich gepackte Kopien der Datenbank unter /var/adm/backup/rpmdb an, deren Anzahl durch die Variable (Standard: 5) in der /etc/rc. config vorgegeben wird; es ist mit bis zu 2 MB pro Backup zu rechnen (bei einer 500 MB großen /usr). Dieser Platzverbrauch ist unbedingt bei Bestimmung der Größe der Root-Partition zu berücksichtigen, falls man für /var keine eigene Partition vorsehen will. 15.3.3 Quellpakete installieren und kompilieren Alle Quellpakete (engl. Sources) der SuSE Linux liegen in der Serie zq (Quellpakete) und haben die Erweiterung .spm hinter dem eigentlichen Pa- ketnamen; diese Dateien sind die sog. Source-RPMs". 416 15.3. RPM ­ Der Paket-Manager der Distribution Diese Pakete können mit YaST ­ wie jedes andere Paket ­ installiert werden; allerdings werden Quellpakete nie als installiert ([i]) markiert wie die regulären" anderen Pakete. Dies liegt daran, dass die Quellpa- kete nicht in die RPM-Datenbank aufgenommen werden; in der RPM- Datenbank nämlich erscheint nur installierte Betriebssoftware. Die Arbeitsverzeichnisse des rpm unter /usr/src/packages müssen vorhanden sein (falls keine eigenen Einstellungen z. B. via /etc/rpmrc vorgenommen wurden): SOURCES für die originalen Quellen (.tar.gz-Dateien etc.) und für die distributionsspezifischen Anpassungen (.dif-Dateien). SPECS für die .spec-Dateien, die in der Art eines Meta-Makefiles den build"-Prozess steuern. BUILD unterhalb dieses Verzeichnisses werden die Quellen entpackt, ge- patcht und kompiliert. RPMS hier werden die fertigen Binary"-Pakete abgelegt. SRPMS und hier die Source"-RPMs. Bitte machen Sie keine RPM-Experimente mit wichtigen System- Komponenten (Paket libc, Paket rpm, Paket nkit etc.); Sie setzen die Funktionstüchtigkeit Ihres Systems aufs Spiel. Wenn Sie ein Quellpaket der Serie zq mit YaST installieren, dann werden die für den build"-Prozess notwendigen Komponenten unter /usr/src/ packages installiert: die Quellen und die Anpassungen unter SOURCES und die dazugehörige .spec-Datei unter SPECS2. Im Folgenden wird das Paket wget.spm betrachtet. Nachdem das Quellpaket wget.spm mit YaST installiert wurde, gibt es die Dateien: /usr/src/packages/SPECS/wget.spec /usr/src/packages/SOURCES/wget-1.4.5.dif /usr/src/packages/SOURCES/wget-1.4.5.tar.gz Mit rpm -b /usr/src/packages/SPECS/wget.spec wird der Kompiliervorgang angestoßen; dabei kann für verschiedene Stufen stehen (vgl. die -help-Ausgabe bzw. die RPM-Dokumentation); hier nur in Kürze: -bp Quellen im Verzeichnis /usr/src/packages/BUILD präparieren: entpacken und patchen -bc wie -bp, jedoch zusätzlich noch kompilieren -bi wie -bc, jedoch zusätzlich noch installieren; Achtung, wenn ein Paket nicht das BuildRoot-Feature unterstützt, ist es möglich, dass Sie sich wäh- rend dieses Installationsvorgangs wichtige Konfigurationsdateien über- schreiben! -bb wie -bi, jedoch zusätzlich noch das sog. Binary-RPM herstellen; bei Erfolg liegt es in /usr/src/packages/RPMS. 2 Zum Pakete-Machen" (engl. build mode) vgl. [Bai97]; dort, oder auch in der Manual-Page von rpm (man rpm), werden weitere Einsatzmöglichkeiten vorgestellt. 417 15. Update des Systems und Paketverwaltung -ba wie -bb, jedoch zusätzlich noch das sog. Source-RPM herstellen; bei Erfolg liegt es in /usr/src/packages/SRPMS. Mit der Option -short-circuit lassen sich einzelne Schritte übersprin- gen. Das hergestellte Binary-RPM ist schließlich mit rpm -i oder besser mit rpm -U zu installieren, damit es auch in der RPM-Datenbank auftaucht. 15.3.4 Tools für RPM-Archive und die RPM-Datenbank Der Midnight Commander (mc) ist von Hause aus in der Lage, den Inhalt ei- nes RPM-Archivs anzuzeigen bzw. Teile daraus zu kopieren. Er bildet ein sol- ches Archiv als ein virtuelles Dateisystem ab, sodass alle gewohnten Menü- punkte des Midnight Commander ­ wenn sinnvoll ­ zur Verfügung stehen: Die Kopfzeilen-Informationen der Datei" HEADER kann man sich mit F3 ansehen; mit den Cursor-Tasten und Enter lässt sich durch die Struktur des Archivs browsen", um bei Bedarf mit F5 Komponenten herauszukopieren. ­ Übrigens, mittlerweile gibt es auch für den Emacs ein rpm.el, ein Fron- tend" für rpm :-) xrpm heißt ein grafischer RPM-Manager; realisiert ist dieses Tool in Python, einer eleganten Skript-Sprache. xrpm unterstützt Aktionen per FTP. KDE enthält das Tool krpm, ein grafisches Interface unter X, um RPM zu bedienen. Bei GNOME finden Sie gnorpm. Mit Alien (alien) ist es möglich, die Paketformate der verschiedenen Dis- tributionen zu konvertieren. So kann man versuchen, alte TGZ-Archive vor dem Installieren nach RPM umzuwandeln, damit während der Installation die RPM-Datenbank mit den Paket-Informationen versorgt wird. Aber Achtung: alien ist ein Perl-Skript und befindet sich nach Angaben der Programm- Autoren noch in einem Alpha-Stadium ­ wenngleich es bereits eine hohe Versionsnummer erreicht hat. Last, not least ­ es gibt YaST (vgl. auch Abschnitt 3.4.9 auf Seite 98). 418