Fedora Core Upgrade mit yum

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Allgemeines: preupgrade)
(Allgemeines)
 
Zeile 12: Zeile 12:
 
Mittlerweile bietet sich alternativ auch die Benutzung des komfortablen und sicheren 'preupgrade' an.
 
Mittlerweile bietet sich alternativ auch die Benutzung des komfortablen und sicheren 'preupgrade' an.
 
[http://fedoraproject.org/wiki/Features/PreUpgrade]
 
[http://fedoraproject.org/wiki/Features/PreUpgrade]
 +
Preupgrade funktioniert so, dass im laufenden System die für das Upgrade erforderlichen Pakete heruntergeladen werden und dann bei einem Neustart die Installation bzw. das Update mit den Daten von der Festplatte gestartet wird und die Pakete installiert werden.
 +
 +
== von Fedora 8 zu Fedora 9 ==
 +
<pre>[root@host]# yum -y update</pre>
 +
System auf den letzten Stand von Fedora 8 bringen.
 +
 +
<pre>[root@host]# yum clean all</pre>
 +
Zwischenspeicher für Pakete aufräumen.
 +
 +
Dann müssen von einem Fedora-Mirror die Dateien
 +
<pre>fedora-release-9-2.noarch.rpm
 +
fedora-release-notes-9.0.0-1.noarch.rpm</pre>
 +
heruntergeladen und mit einem RPM-Kommando installiert werden.
 +
 +
<pre>[root@host]# rpm -Uhv fedora-release*9*.noarch.rpm</pre>
 +
Fedora Release auf neue Versionsnummer aktualisieren und damit Informationen über die Repositories einspielen. Bitte nach diesem Schritt in /etc/yum.repos.d kontrollieren, ob .rpmnew-Dateien entstanden sind bzw. alle Repositories die man für Fedora 8 aktiviert hat zumindest zeitweilig deaktivieren. Wenn man sehr viele Pakete aus externen Repositories installiert hat, kann das Update fehlschlagen. Dann kann es funktionieren, von diesen Repositories auch die Repository-Definition für Fedora 9 einzutragen und ebenfalls zu aktivieren. Dann ist beim nachfolgenden Schritt erhöhte Vorsicht geboten, ob die Pakete auch aus den richtigen Repositories installiert werden.
 +
 +
Jetzt sollte man für das Update bereit sein.
 +
 +
<pre>[root@host]# yum upgrade</pre>
 +
Update durchführen.
 +
 +
Nach erfolgreichem Update alles kontrollieren, Mantra sprechen und rebooten.
 +
 +
Wenn das Update beim Installieren von Paketen hängen bleibt, kann es helfen, die temporären Dateien in der RPM-Datenbank zu löschen. Bei mir ist dies bei einem der Upgrades passiert und konnte durch Löschen der Dateien __db.* im Verzeichnis /var/lib/rpm behoben werden.
 +
 
== von Fedora 7 zu Fedora 8 ==
 
== von Fedora 7 zu Fedora 8 ==
 
<pre>[root@host]# yum -y update</pre>
 
<pre>[root@host]# yum -y update</pre>

Aktuelle Version vom 19. Juni 2008, 15:55 Uhr

Inhaltsverzeichnis

[Bearbeiten] Allgemeines

Das empfohlene Vorgehen um sein System auf die nächste Version von Fedora zu aktualisieren ist das Booten von einem Installationsmedium und Auswahl der entsprechenden Installationsoption.

Wer diese Möglichkeit nicht hat, weil zum Beispiel das Bootmedium erst umständlich eingebunden werden müsste, wird ein Upgrade bei laufendem System vorziehen.

Wichtig: Es sollten vor dem Versuch mindestens 5 Gigabyte freier Speicherplatz auf dem Filesystem / sein, da die neuen Pakete erst einmal zwischengespeichert werden und frühestens nach Ende des Update-Prozesses gelöscht werden können.

Das hier beschriebene Vorgehen ist nur einmal getestet und es kann natürlich keine Gewähr dafür übernommen werden, dass nichts Schlimmestm passiert. Dass alle wichtigen Daten vorher extern gesichert sind, versteht sich von selbst.

Mittlerweile bietet sich alternativ auch die Benutzung des komfortablen und sicheren 'preupgrade' an. [1] Preupgrade funktioniert so, dass im laufenden System die für das Upgrade erforderlichen Pakete heruntergeladen werden und dann bei einem Neustart die Installation bzw. das Update mit den Daten von der Festplatte gestartet wird und die Pakete installiert werden.

[Bearbeiten] von Fedora 8 zu Fedora 9

[root@host]# yum -y update

System auf den letzten Stand von Fedora 8 bringen.

[root@host]# yum clean all

Zwischenspeicher für Pakete aufräumen.

Dann müssen von einem Fedora-Mirror die Dateien

fedora-release-9-2.noarch.rpm
fedora-release-notes-9.0.0-1.noarch.rpm

heruntergeladen und mit einem RPM-Kommando installiert werden.

[root@host]# rpm -Uhv fedora-release*9*.noarch.rpm

Fedora Release auf neue Versionsnummer aktualisieren und damit Informationen über die Repositories einspielen. Bitte nach diesem Schritt in /etc/yum.repos.d kontrollieren, ob .rpmnew-Dateien entstanden sind bzw. alle Repositories die man für Fedora 8 aktiviert hat zumindest zeitweilig deaktivieren. Wenn man sehr viele Pakete aus externen Repositories installiert hat, kann das Update fehlschlagen. Dann kann es funktionieren, von diesen Repositories auch die Repository-Definition für Fedora 9 einzutragen und ebenfalls zu aktivieren. Dann ist beim nachfolgenden Schritt erhöhte Vorsicht geboten, ob die Pakete auch aus den richtigen Repositories installiert werden.

Jetzt sollte man für das Update bereit sein.

[root@host]# yum upgrade

Update durchführen.

Nach erfolgreichem Update alles kontrollieren, Mantra sprechen und rebooten.

Wenn das Update beim Installieren von Paketen hängen bleibt, kann es helfen, die temporären Dateien in der RPM-Datenbank zu löschen. Bei mir ist dies bei einem der Upgrades passiert und konnte durch Löschen der Dateien __db.* im Verzeichnis /var/lib/rpm behoben werden.

[Bearbeiten] von Fedora 7 zu Fedora 8

[root@host]# yum -y update

System auf den letzten Stand von Fedora 7 bringen.

[root@host]# yum clean all

Zwischenspeicher für Pakete aufräumen.

[root@host]# wget http://wftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-8-3.noarch.rpm

wget http://wftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/8/Fedora/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm
[root@host]# rpm -Uhv fedora-release-*.noarch.rpm

Fedora Release auf neue Versionsnummer aktualisieren und damit Informationen über die Repositories einspielen. Bitte nach diesem Schritt in /etc/yum.repos.d kontrollieren, ob .rpmnew-Dateien entstanden sind bzw. alle Repositories die man für Fedora 7 aktiviert hat zumindest zeitweilig deaktivieren.

Insbesondere Repositories, in denen neuere Versionen von RPM oder dem Linux Kernel vorhanden sind, sollten sicherheitshalber deaktiviert werden.

Wichtig! Die /etc/fstab überprüfen, ob dort Geräte mit einem absoluten Gerätenamen wie /dev/hd<buchstabe><zahl> oder /dev/sd<buchstabe><zahl> eingebunden sind. Da die Fedora 8 auf einen neue Bibliothek zur Ansteuerung der Massenspeicher zurückgreift, funktionieren diese dann nicht mehr.

Also für alle derartigen Partitionen so genannte Filesystem-Label oder UUIDs vergeben und den Gerätenamen durch LABEL=<das gewählte Label> ersetzen.

Beispiel: Man hatte eine zweite IDE-Festplatte im Rechner mit einer grossen Partition. In der fstab steht dann folgendes:

/dev/hdb1     /mnt/pladde     ext3   defaults 1 2

Jetzt muss dieser Partition ein Label verpasst werden:

e2label /dev/hdb1 "/mnt/pladde"

Und in der /etc/fstab der Eintrag geändert werden auf:

LABEL=/mnt/pladde     /mnt/pladde     ext3   defaults 1 2

Jetzt sollte man für das Update bereit sein.

[root@host]# yum upgrade

Update durchführen.

Nach erfolgreichem Update alles kontrollieren, Mantra sprechen und rebooten.

[Bearbeiten] von Fedora Core 6 zu Fedora 7

Beim Umstieg von Fedora Core 6 zu Fedora 7 sollte es in den meisten Fällen keine größeren Schwierigkeiten geben.

Einzig die Java-Entwicklungspakete aus den Updates von Fedora Core 6 haben neuere/höhere Versionsnummern als die zu installierenden Pakete, so dass der Upgrade-Prozess daran scheitert. Dem kann man aus dem Weg gehen, indem man nach dem vollständigen Update des Systems auf die letzten verfügbaren Fedora Core 6 Pakete 12 Pakete in der Original Relese Version einspielt. Näheres dazu gleich.

[root@host]# yum -y update

System auf den letzten Stand von Fedora Core 6 bringen.

[root@host]# yum clean all

Zwischenspeicher für Pakete aufräumen.

[root@host]# wget http://wftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch.rpm 

wget http://wftp.tu-chemnitz.de/pub/linux/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-notes-7.0.0-1.noarch.rpm

Die Release-Informationen beschaffen.

[root@host]# rpm -Uhv fedora-release-*.noarch.rpm

Fedora Release auf neue Versionsnummer aktualisieren und damit Informationen über die Repositories einspielen. Bitte nach diesem Schritt in /etc/yum.repos.d kontrollieren, ob .rpmnew-Dateien entstanden sind bzw. alle Repositories die man für Fedora Core 6 aktiviert hat zumindest zeitweilig deaktivieren.

Man beschaffe sich jetzt von einem Fedora Core 6 Spiegel die Originalversionen der folgenden Pakete und speichere sie idealerweise in ein gemeinsames Verzeichnis.

  libstdc++
  libgcj
  libgomp
  libgfortran
  libgcj-devel
  libstdc++-devel
  cpp
  gcc
  gcc-c++
  gcc-gfortran
  gcc-java 
  libgcj-src 
[root@host]# rpm -Uhv --oldpackage *.rpm

Die "alten" Pakete einspielen.

[root@host]# yum upgrade

Update durchführen.

Wichtig: Bei Fedora 7 werden alle Festplatten über die SCSI-Gerätenamen angesprochen. Es ist daher notwendig, alle Vorkommen von /dev/hd.. durch /dev/sd.. zu ersetzen oder noch besser jeder Partition mittels e2label eine entsprechende Kennzeichnung zu verpassen, so wie das Fedora für die während der Installation angelegten Partitionen eh macht.

Ein Reboot nach erfolgreichem Update ist nicht zwingend nötig, aber empfohlen.

[Bearbeiten] von Fedora Core 5 zu Fedora Core 6

Auf meinem Testsystem funktionierte es praktisch ohne Probleme, nachdem interne Schwierigkeiten mit dem Internet-Zugang ausgeräumt waren.

[root@host]# yum -y update

System auf den letzten Stand von Fedora Core 5 bringen.

[root@host]# yum clean all

Zwischenspeicher für Pakete aufräumen.

[root@host]# wget http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-6-4.noarch.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-notes-6-3.noarch.rpm

Die Release-Informationen beschaffen.

[root@host]# rpm -Uhv fedora-release-*.noarch.rpm

Da sich das Format der URLs für die Paket-Spiegel geändert hat, sind auf jeden Fall die im Verzeichnis /etc/yum.repos.d/ eventuell entstandenen .rpmnew-Dateien umzubennen. Also die Datei fedora-core.repo.rpmnew in fedora-core.repo usw.

[root@host]# yum upgrade

Update durchführen.

Ein Reboot nach erfolgreichem Update ist nicht zwingend nötig, aber empfohlen.

[Bearbeiten] von Fedora Core 4 zu Fedora Core 5

Ausgehend von einem vollständig installierten Fedora Core 4 System habe ich folgendes getan:

[root@host]# yum -y update

Das aktualisiert das Fedora Core 4 System auf den neuesten Stand.

[root@host]# yum remove kernel-2.6.11-1.1369_FC4

Dieser Kernel ist nur der älteste, der bei mir drauf war. Je nach Maschine kann das natürlich anders sein. Es sollten auf jeden Fall keine Kernel in Version < 2.6.13 mehr installiert sein, weil sonst das Paket "kudzu" nicht aktualisiert werden kann. Damit werden auch gleich Spezialkernel wie die zur Kernelversion passenden GFS-Kernel etc. mit entfernt.

[root@host]# yum remove hpoj perl-RPM2 lvm2-cluster iiimf-le-sun-thai iiimf-qt

Für diese Pakete bzw. einige wenige Abhängigkeiten gibt es in der Fedora Core 5 keine Entsprechungen. Wer eines der Pakete dringend benötigt, muss sich die Software zur Not selbst beschaffen.


[root@host]# wget http://wftp.tu-chemnitz.de/pub/linux/fedora-core/5/i386/os/Fedora/RPMS/fedora-release-5-5.noarch.rpm

Die Release-Informationen beschaffen.

[root@host]# rpm -Uhv fedora-release-5-5.noarch.rpm

Und installieren. Wenn Meldungen ausgegeben werden, dass bei der Installation .rpmnew-Dateien erzeugt wurden, sind die alten .repo-Dateien zu sichern und die .rpmnew-Dateien entsprechend umzubenennen. Wichtig ist auch, dass das Repository "Extras" mit aktiviert ist. (Eintrag enabled=1 in der .repo-Datei)


[root@host]# yum upgrade

Je nach Internetanbindung und Rechengeschwindigkeit dauert das eine Weile, dann wird eine Übersicht über die zu installierenden Pakete ausgegeben und eine Ausschrift der Art: Gesamtdownload-Größe: 2,6 GB Wenn man das mit "y" bestätigt, beginnt der Upgrade-Prozess und sollte nach einer mehr oder weniger langen Zeit fertig sein.

Wichtig: Es sind neben den 2,6 GB freien Platz in /var/cache/yum noch mindestens die selbe Menge an temporärem Speicher einzurechnen, da beim Update der Pakete erst alle neuen Pakete installiert werden und in einem zweiten Schritt (cleanup) alle alten Pakete deinstalliert werden.

Update: Bei einer zweiten Maschine ging das nicht so einfach, weil dort unter anderem einige Pakete von zusätzlichen Repositories installiert waren. Ganz konkret aus dem atrpms-Repository von Axel Thimm. Das wäre gar kein Problem, wenn dort nicht auch immer wieder aktuellere Version von Standardpaketen wie yum und rpm drin auftauchen würden, die dann auch beim Update mit installiert werden. Diese neueren Versionen verhindern dann ggfs. das saubere Upgrade. Problemlösung: Die atrpms-Versionen entfernen und die letzten Versionen aus den FC4-updates installieren. Beim Paket librpm4.4 hilft ein Installieren des korrespondierenden FC4-Paketes rpm-libs mittels

[root@host]# rpm -Uhv --force rpm-libs-4.4.1-23.i386.rpm
'Persönliche Werkzeuge