home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd2.bin
/
docu
/
ascii
/
suselxde
/
slxde-15.txt
< prev
next >
Wrap
Text File
|
2000-02-29
|
52KB
|
991 lines
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 <paket>
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 <paket>.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 <paket>
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 <paket_datei>) 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 <DATEI>+ Anfrage nach Paket, das die Datei <DATEI> be-
sitzt; <DATEI> 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] ... <paket>)
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 <MAX_RPMDB_BACKUPS> (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 <X> /usr/src/packages/SPECS/wget.spec wird
der Kompiliervorgang angesto▀en; dabei kann <X> 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