CentOS Frage

Huschi

Moderator
Mal eine Frage an die CentOS-Kenner:

Ich sitze gerade vor einem CentOS-Server und soll ein Update durchziehen.
Erstes Problem war, dass die rpm-Database zerschossen war.
Hab ich per "rm /var/lib/rpm/__db*" und einem "rpm -rebuilddb" wieder hergestellt. Ein "rpm -qa" liefert mir 447 Pakete. (Sollte hinkommen!)
Natürlich ist auch schon ein "yum clean all" abgesetzt worden.

Ein "yum update" bzw. "yum check-update" geht schief:
Code:
Loading "fastestmirror" plugin
Determining fastest mirrors
 * intergenia: packages.mirror.intergenia.de
YumRepo Warning: not using ftp, http[s], or file for repos, skipping - $releasever is not a valid release or hasnt been released yet
removing mirrorlist with no valid mirrors: //var/cache/yum/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base
Irgendwie sieht es für mich so aus, dass die Variable $releasever aus (allen) /etc/yum.repos.d/* nicht in die "5" (es ist ein CentOS 5.2) umgewandelt wird und daher das Ganze nicht funktioniert.

Frage:
Wie bekomme ich es hin, dass yum wieder läuft?
(Außer in den Repos fest eine "5" einzusetzten.)

PS: Google hat mir bisher noch keine hilfreichen Tipps dazu gegeben. Suche aber noch weiter.

huschi.
 
Code:
# CentOS-Base.repo
#
# This file uses a new mirrorlist system developed by Lance Davis for CentOS.
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://centos.intergenia.de/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://centos.intergenia.de/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://centos.intergenia.de/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://centos.intergenia.de/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://centos.intergenia.de/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
#[contrib]
#name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://centos.intergenia.de/$releasever/contrib/$basearch/
#gpgcheck=1
#enabled=0
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

huschi.
 
Genau huschi im Repo File liegt der Schlüssel.
Solltest es ja jetzt haben.

Dieses allgemeine "händchenhalten" findsch kuschelig. :D
 
Zu Letzterem sag ich nur FullAK. :)
Aber das lag nicht in meinem Tätigkeitsbereich...

Wenn ich realese=5.2 setze kommt:
Code:
5.2 is not a valid release or hasnt been released yet
Aber meine Meldung lautet ja
Code:
$releasever is not a valid release or hasnt been released yet

Soweit ich jetzt gefunden habe fehlt tatsächlich das centos-release-Paket.
Naja, und yum und rpm... (Obwohl aufrufbar.) Sprich die rpm-Db ist im A****.
Aber kann ich einfach das centos-release-Paket von 5 (also Aktuell 5.5) nehmen und installieren?

Als Alternative ziehen wir gerade in Betracht möglichst bald den Server zu wechseln und die Webs zu migrieren.

huschi.
 
Erstell einfach ein eigenes Repo mit vorhandenen Files, das kann auch aus einem Iso sein.

Naheliegend wäre eine update. Sobald du ein valides Repo drin hast sollte es automatisch gehen via yum update.


[myrepo]
name=CentOS-$releasever – Myrepo
baseurl=http://193.26.24.xxx/centos/5.5/os/x86_64/
gpgcheck=1
gpgkey=http://193.26.24.xxx/centos/5.5/os/x86_64/RPM-GPG-KEY-CentOS-5
enabled=1
 
Erstmal vielen Dank für die Hilfe und Ideen.

Bisher konnte mir aber noch keiner die wesentliche Frage beantworten:
Kann ich einfach aus den aktuelle 5er-Repository (also 5.5) ein 5.2 aktualisieren?
Insbesondere wenn die RPM-Db wohl geschrottet ist?

Oder würdet Ihr sicherheitshalber eher die Gelegenheit wahrnehmen und auf einen neuen Server wechseln um die Downtime möglichst gering zu halten?
(Wir reden von ca. 100 Webs die ggf. Down sind.)

huschi.
 
Normalerweise passiert da nichts, wenn die DB total kaputt ist installiert er einfach nichts. Und wenn sie soweit geht dann geht sie und fertig. Aber wie immer gilt besser nen Backup haben ;)
 
Ja, du kannst von 5.x direkt auf 5.5 mit der aktuellen repo aktualisieren .
Alles vor 5.4 sollte aber mit diesem Prozedere erfolgen:
yum clean all
yum update glibc\*
yum update yum\* rpm\* pyth\*
yum clean all
yum update mkinitrd nash
yum update selinux\*
yum update
shutdown -r now

Trotzdem würde ich testweise nicht gleich 100 Server auf einmal aktualisieren.

Ich glaube aber nach wie vor, dass es nur an dem fehlenden centos-release.rpm liegt. Deswegen würde ich es nachinstallieren und dann ein
yum clean-all && yum update machen.

Morgen früh kann ich dir das passende rpm zur verfügung stellen, welches du dann per rpm installieren kannst, wenn du möchtest?
 
Last edited by a moderator:
Alles vor 5.4 sollte aber mit diesem Prozedere erfolgen:
...
yum update glibc\*
Aha! Da haben wir es doch schon. Soweit komm ich doch erst gar nicht. ;)

Trotzdem würde ich testweise nicht gleich 100 Server auf einmal aktualisieren.
100 Webs auf einem Server und nicht umgekehrt. :D

Ich denke die Entscheidung ist inzwischen für einen neuen Server gefallen.
Einfach weil das Risiko für einen Totalausfall zu groß ist.

huschi.
 
Back
Top