Pakete sperren?

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Antworten
kreegee
Newbie
Newbie
Beiträge: 13
Registriert: 12. Sep 2005, 11:16

Pakete sperren?

Beitrag von kreegee » 12. Sep 2005, 12:28

hm, hab heute apt installiert und auch frischfröhlich ein upgrade durchgeführt. allerdings wurde mir wiedermal dieses unsägliche 20030616p5 von amavisd-new installiert (apt meint das sei neuer als meine installierte version 2.0.4), welches inkompatibel mit den neuen SpamAssassin Versionen ist.

Kann ich dieses Package irgendwie sperren, oder apt-get beibringen dass 2.0.4 > 20030616p5 ist, oder soll ich den SpamAssassin-Maintainer kontaktieren und fragen ob er den Conflict ins Package reinbauen kann? (ein wirklicher conflict ists aber auch nicht, kann gut sein dass jemand spam-assasin und amavisd-new gleichzeitig aber unabhängig nutzt)

Werbung:
Grothesk
Ultimate Guru
Ultimate Guru
Beiträge: 14662
Registriert: 26. Okt 2003, 11:52
Wohnort: Köln

Beitrag von Grothesk » 12. Sep 2005, 12:31

Zuletzt geändert von Grothesk am 12. Sep 2005, 12:34, insgesamt 1-mal geändert.
"Die Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen. Allerdings ist sie nicht OpenSource, d.h. du sollst sie nicht verändern oder in veränderter Form veröffentlichen."

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 12. Sep 2005, 12:31

Das Zauberwort heisst Pinning.

[HOWTO] RPMs festnageln, unerwünschtes Update verhindern
http://www.linux-club.de/viewtopic.php?t=14567
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

kreegee
Newbie
Newbie
Beiträge: 13
Registriert: 12. Sep 2005, 11:16

Beitrag von kreegee » 12. Sep 2005, 13:15

hm, danke schonmal...

Code: Alles auswählen

package: amavisd-new
Pin: version 2.*
Pin-Priority: 1001
funktioniert soweit, will ichs aber sauber machen und die alten sperren (wer weiss, vieleicht kommt ja mal amavisd-new 3.0) geht nix.

trotz

Code: Alles auswählen

package: amavisd-new
Pin: version 2003*
Pin-Priority: -1
oder

Code: Alles auswählen

package: amavisd-new
Pin: version 20030616p5-31
Pin-Priority: -1
will "apt-get upgrade" amavisd-new updaten. ein apt-cache show amavisd-new gibt mir die installierte version 2.0-4 und die version 20030616p5-31 aus.

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 12. Sep 2005, 13:20

was soll Pin-Priority -1 sein ? damit sollte es eigentlich deinstalliert werden ...

für Debina gilt wohl dieses hier:
http://www.debian.org/doc/manuals/apt-h ... et.de.html
Lassen Sie uns einen Blick darauf werfen, wie die Pin-Priorität funktioniert. Eine niedrigere Priorität als Null bewirkt, daß das Paket nie installiert wird. Prioritäten von 0 bis 100 bezeichnen Pakete, die nicht installiert sind und keine verfügbare Version haben. Solche Pakete werden in der Auswahl verfügbarer Versionen nicht berücksichtigt. Die Priorität 100 bezeichnet ein installiertes Paket. Damit eine installierte Version von einer anderen ersetzt wird, muß die Priorität über 100 liegen.

Prioritäten über 100 sagen aus, daß ein Paket installiert werden soll. Normalerweise wird ein installiertes Paket nur durch neuere Versionen übersetzt. Alle Prioritäten zwischen 100 und 1000 (inklusive) führen zu diesem Normalverhalten. Ein Paket mit solcher Priorität wird nicht durch eine niedrigere Version ersetzt. Wenn ich also zum Beispiel sylpheed 0.5.3 installiert habe und einen Pin auf sylpheed 0.4.99 mit der Priorität 999 definiert habe, wird Version 0.4.99 nicht installiert werden, um den Pin zu erfüllen. Um Pakete deaktualisieren zu können, um einen Pin zu erfüllen, braucht der Pin eine Priorität von über 1000.
für apt4rpm würde ich eher der man-page Vertrauen: man apt_preferences
Zuletzt geändert von oc2pus am 12. Sep 2005, 13:25, insgesamt 1-mal geändert.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

kreegee
Newbie
Newbie
Beiträge: 13
Registriert: 12. Sep 2005, 11:16

Beitrag von kreegee » 12. Sep 2005, 13:25

Eine niedrigere Priorität als Null bewirkt, daß das Paket nie installiert wird.
das will ich ja genau, amavisd-new2003* soll nie installiert werden. deshalb priority -1.

edit: auch mit pin-priority 10 wirds trotzdem noch installiert, trotz
Damit eine installierte Version von einer anderen ersetzt wird, muß die Priorität über 100 liegen.
Zuletzt geändert von kreegee am 12. Sep 2005, 13:27, insgesamt 1-mal geändert.

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 12. Sep 2005, 13:27

siehe meine Anmerkung oben, hat sich wohl überschnitten.

und poste bitte mal die Ausgabe von apt policy amavisd-new
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

kreegee
Newbie
Newbie
Beiträge: 13
Registriert: 12. Sep 2005, 11:16

Beitrag von kreegee » 12. Sep 2005, 13:38

apt4rpm hat eigentlich ziemlich die gleiche interpretationen von priorites.
0 < P <=100
causes a version to be installed only if there is
no installed version of the package


P < 0 prevents the version from being installed
momentane config:

Code: Alles auswählen

package: amavisd-new
Pin: version 2003*
Pin-Priority: 10
apt policy amavisd-new:

Code: Alles auswählen

amavisd-new:
  Installed: 2.0-4
  Candidate: 20030616p5-31
  Package Pin: 20030616p5-31
  Version Table:
     20030616p5-31 10
        500 ftp://ftp4.gwdg.de SuSE/9.0-i386/base pkglist
 *** 2.0-4 0
        100 RPM Database
vielen dank für deine bemühungen!

Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus » 12. Sep 2005, 13:49

ok, ich glaube ich verstehe jetzt dein Problem.

Pinning bezieht sich auf installierte Pakete.
D.h du möchtest 2.0-4 behalten, deshalb brauchst du dafür einen Pin-Eintrag (2.*). Ein amavisd-new-3.x würde dir aber dann auch nicht automatisch upgedated werden. Es würde aber in der "zurückgehaltenen Pakete" Auswahl erscheinen. Und du könntest es mit apt install amavisd-new=3.xxxxx installieren.
.
Zusätzlich willst du NIE 2003xxxx installiert haben, dann erstelle dafür einen zusätzlichen Pin-Eintrag, mit der -1.

es gibt gerade auf SuSE-9.3 so ein ähnliches Problem mit dem MozillaFirefox:

Code: Alles auswählen

Package: MozillaFirefox
Pin: version 1.4*
Pin-Priority: -1

Package: MozillaFirefox
Pin: version 1.0.6*
Pin-Priority: 1001
damit unterbinde ich diese unselige Beta des firefox und bekomme keine "zurückgehaltenen Pakete". Wenn ich den zweiten Eintrag entferne, wird der firefox als zurückgehaltenes Paket angeboten.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

kreegee
Newbie
Newbie
Beiträge: 13
Registriert: 12. Sep 2005, 11:16

Beitrag von kreegee » 12. Sep 2005, 13:55

genau, habs jetzt mal so gemacht, funzt natürlich, aber ich denk das liegt an der bevorzugung des installierten packetes, und nicht an der benachteilung der 2003-er version.

aber ich gebs jetzt auf. amavisd-new 3.0 kommt wahrscheinlich eh net so schnell, und übertreiben sollte mans ja mit dem perfektionismus auch nicht ;)

edit: habs grad deinen post nochamsl gelesen, " Ein amavisd-new-3.x würde dir aber dann auch nicht automatisch upgedated werden." - genau das möchte ich vermeiden.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste