• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Smart & SHA Fehler

Moin,

mir passiert es immer wieder, daß Smart mir neue Updates anzeigt, diese versucht mehrfach herunterzuladen und dann nach x Versuchen mit einer Meldung wie folgender abbricht:
Das Herunterladen der Pakete ist fehlgeschlagen:
http://packman.iu-bremen.de/suse/10.1/i686/kaffeine-0.8.1-17.pm.0.i686.rpm: Ungültiger SHA (erwartet 6465c95c9435f16c85917f3408568dff77341cb1, erhalten f52b2150d127dece50561b988bb31a7b6ef051c9)
Woran liegt das? Ich vermute das der eine SHA Hash aus dem Repodata kommt und der andere aus der runter geladenen Datei berechnet wird. Richtig?

Folglich wurde in die Repodata entweder ein falscher Hash eingetragen, oder der richtige Hash eingetragen, dieser aber beim herunterladen beschädigt, so daß sie jetzt nicht mehr übereinstimmen.

Bis jetzt sperre ich die Pakete für die "fehlerhafte" Version, aber das ist mühsam - da es einen manuellen Eingriff erfordert - und verhindert daß ich ein Update bekomme :roll:

Wie lässt sich so was besser lösen?
 
Scheint beim PackMan-Repository häufiger vorzukommen... :roll:

Solche Fehler kommen dadurch zustande, dass die Prüfsumme der RPMs in den Repository-Metadaten gespeichert wird. Diese Prüfsumme stimmt offenbar manchmal nicht mit der tatsächlichen Prüfsumme der RPMs überein. Es ist richtig, dass smart die Pakete dann nicht installiert, weil smart vor der Installation schon weiß, dass das Repository inkonsistent ist und "etwas nicht stimmt".

Die Ursache könnte zum Beispiel sein, dass jemand ein RPM stillschweigend aktualisiert hat, ohne die Release-Nummer zu erhöhen und ohne die Repository-Metadaten neu zu erzeugen.

Lösen kann dieses Problem nur jemand mit Zugriff auf das Repository. Die Metadaten müssen neu erzeugt werden. Es gibt aber einen Workaround: Man kann statt des rpm-md-Formats den PackMan-Channel in einem anderen Format anlegen, z.B. yast2. yast2-Repositories haben den "Vorteil", dass sie keine Prüfsummen der RPMs speichern. Eigentlich ein Nachteil, aber bei inkonsistenten Reposotories ein Vorteil.

Die Channel-Definition könnte bisher so aussehen:
Code:
[PackMan]
type = rpm-md
name = PackMan
baseurl = http://packman.iu-bremen.de/suse/10.1
Die geänderte Version unterscheidet sich in nur einer Zeile:
Code:
[PackMan]
type = yast2
name = PackMan
baseurl = http://packman.iu-bremen.de/suse/10.1
 
OP
B

Blackscreen

Member
Davon ausgehend das PackMan einen guten Ruf hat sollte es "relativ" ungefährlich sein auf die Prüfsummenberechnung zu verzichten, v.a. wenn die Fehler nur dadurch zustande kommen daß es jemand verschlust hat die Repodata Prüfsummen zu synchronisieren, oder?
 

BPM

Newbie
Ich hab genau das selbe Problem und zwar bei der libmp4v2-1.4.1-4.x86_64.rpm, bin noch totaler neuling. Kann mir bitte jemand sagen wie ich das Paket "sperre" so wie es im ersten Threat beschrieben ist?
 

oc2pus

Ultimate Guru
BPM schrieb:
Ich hab genau das selbe Problem und zwar bei der libmp4v2-1.4.1-4.x86_64.rpm, bin noch totaler neuling. Kann mir bitte jemand sagen wie ich das Paket "sperre" so wie es im ersten Threat beschrieben ist?

???

meinst du das:
[TIP] sperren von (defekten) Paketen mit smart
http://www.linux-club.de/ftopic64551.html
 

oc2pus

Ultimate Guru
BPM schrieb:
Genau... wie mach ich das?

Code:
Usage: smart flag [options]

This command allows one to set, remove, and show package flags.
Package flags are used to tune the behavior of some algorithms
when dealing with the given packages.

Currently known flags are:

  lock          - Flagged packages will not be removed, if they
	              are currently installed, nor installed, if they
	              are currently available.
  new           - Flagged packages were considered new packages
	              in the repository when the last update was done.
	              This flag is automatically manipulated by the
	              system.
  multi-version - Flagged packages may have more than one version
	              installed in the system at the same time
	              (backend dependent).

Options:
  -h, --help  Show this help message and exit
  --set       Set flags given in pairs of flag name/target, where targets may
	          use just the package name, or the package name, relation, and
	          version, such as: lock 'python > 1.0'
  --remove    Remove flags given in pairs of flag name/target, where targets
	          may use just the package name, or the package name, relation, and
	          version, such as: lock 'python > 1.0'
  --show      Show packages with the flags given as arguments or all flags if
	          no argument was given
  --force     Ignore problems

Examples:
  smart flag --show
  smart flag --show new
  smart flag --set lock pkgname
  smart flag --remove lock pkgname
  smart flag --set lock 'pkgname >= 1.0'
  smart flag --remove lock 'pkgname >= 1.0'
 

BPM

Newbie
Ich will nur das er von dem oben genanten Paket (libmp4v2...) kein update macht mit smart und anfängt die restlichen Pakete zu installieren.
 

oc2pus

Ultimate Guru
BPM schrieb:
Ich will nur das er von dem oben genanten Paket (libmp4v2...) kein update macht mit smart und anfängt die restlichen Pakete zu installieren.

ja dann locke das libmp4v2 eben wie oben beschrieben ...

smart flag --set lock "libmp4c2=....."
 

BPM

Newbie
Unsere Posts haben sich überschnitten. Hat alles prima geklappt. Danke vielmals. Da ich echt schwer begeistert von Linux bin aber gerade erst angefangen hab könnte schon sein das ich dich noch ab und zu mal nerv. ;)
Aber vorerst bin ich mal absolut happy.
 
Blackscreen schrieb:
Davon ausgehend das PackMan einen guten Ruf hat sollte es "relativ" ungefährlich sein auf die Prüfsummenberechnung zu verzichten,
Coole Räsonnierung. Ich glaube da greife ich zu:
suser-jengelh kennen die meisten als Experimental (ich dementiere! - hab schliesslich nur 1 Manpower), aber die Prüfsummen passen.
Hat auch was.
 

Grothesk

Ultimate Guru
Naja, einer alleine hat seine Pakete noch im Griff. Bei den vielen Packmänners geht's da wohl schon mal 'drunter und drüber' :)
 

Martin Breidenbach

Ultimate Guru
Apropos kaffeine... ich habe mal ne 10.1 Testinstallation unter VMware aufgesetzt und heute Nacht einen KDE-Update auf 3.5.4 via Yast gemacht (um's halt mal auszuprobieren). Hat genauso funktioniert wie von traffic beschrieben (nicht daß ich das angezweifelt hätte :mrgreen: ).

Ich hatte da auch Packman eingebunden und den kaffeine wollte er wegen falscher Prüfsumme NICHT updaten.
 

oc2pus

Ultimate Guru
Martin Breidenbach schrieb:
...Ich hatte da auch Packman eingebunden und den kaffeine wollte er wegen falscher Prüfsumme NICHT updaten.

es gibt zwei Probleme hier:
Einmal einzelne Pakete und zum zweiten muss seit SuSE-10.x das gesamte Repository signiert sein. Das haben noch nicht alle umgesetzt.

Aber vielleicht "erbarmt" sich ja mal jemand das der packman-crew mitzuteilen ... das wird dann bestimmt sofort abgestellt :)
 

Martin Breidenbach

Ultimate Guru
Hmmm.... ich dachte das betrifft den ZEN Updater aber nicht die Softwareinstallation via Yast ?

Ich werde das heute Abend eh ausprobieren. Dieses Testsystem wurde aufgesetzt um zu testen wie man ein multimediataugliches SuSE 10.1 *OHNE* Apt oder Smart aufsetzt.

Achja... beim Baumarkt muß ich auch noch vorbei... Holzkitt und Schmirgelpapier zum Beseitigen der Bißspuren in der Tischplatte kaufen... :mrgreen:
 

oc2pus

Ultimate Guru
Martin Breidenbach schrieb:
Hmmm.... ich dachte das betrifft den ZEN Updater aber nicht die Softwareinstallation via Yast ?

es kommt darauf an ..
wenn man im YaST das yum-Repository einträgt ist das etwas anderes als wie das YaST-Repository!
YaST versteht ab SuSE-10.x nun beide Typen (yast2 und yum)
apt und smart versteht alle drei Typen (repomd, yast2 und apt)

* yum-Repositories, auch repomd genannt enthalten ein Unterverzeichnis repodata
* YaST Repositories enthalten die Dateien/Verzeichnisse media.1, setup, content, directory.yast, ...

Beispiel:
http://ftp.gwdg.de/pub/linux/misc/suser-oc2pus/10.1/ <== YaST-Repo (smart-Typ yast2)
http://ftp.gwdg.de/pub/linux/misc/suser-oc2pus/10.1/RPMS/ <== YUM-Repo (smart-Typ rpm-md)
 

Martin Breidenbach

Ultimate Guru
Habe soeben xmms und xmms-lib vom Packman via Yast draufgemacht.

Er meckert offenbar NUR bei kaffeine vom Packman.
In der Fehlermeldung steht daß die Prüfsumme nicht stimmt.
 

oc2pus

Ultimate Guru
Martin Breidenbach schrieb:
Habe soeben xmms und xmms-lib vom Packman via Yast draufgemacht.

Er meckert offenbar NUR bei kaffeine vom Packman.
In der Fehlermeldung steht daß die Prüfsumme nicht stimmt.

Nur der vollständigkeithalber:
yast2 oder yum-Installationsquelle ?
hast du die rpmkeys-* vorher importiert ?
 
oc2pus schrieb:
Lob an die suser-jengelh-1-Manpower-Crew :)
army_of_one.jpg
 
Oben