Jan

02

Blocked packages im portage

Posted by : Florian Löffler | On : 02.01.2008

Die Portage Paketverwaltung gefällt mir persönlich sehr gut. Das sehr zuverlässige Auflösen aller Abhängigkeiten ist mir dabei neben Transparenz und Flexibilität in der Anwendung am wichtigsten. Leider gibt es einen Haken, um den man sich noch per Hand kümmern muss: blocked packages

Kurz erklärt können zwei Pakete, welche dieselbe oder sich überschneidende Funktionen anbieten meist nicht parallel installiert sein, sie schließen sich also gegenseitig aus. Im Beispiel weiter unten blockt der bereits installierte SimpleSMTP (ssmtp) Mail Transfer Agent die Installation des Qmail MTA, welcher gleiches (und noch mehr) leisten würde wie der ssmtp.

acer ~ # emerge -av qmail

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-mail/queue-repair-0.9.0  14 kB
[ebuild  N    ] net-mail/dot-forward-0.71-r2  26 kB
[ebuild  N    ] sys-process/daemontools-0.76-r5  USE="-doc (-selinux)
-static" 37 kB
[ebuild  N    ] sys-apps/ucspi-tcp-0.88-r15  USE="ipv6
ssl -doc (-selinux)" 95 kB
[ebuild  N    ] net-mail/cmd5checkpw-0.30  26 kB
[ebuild  N    ] net-mail/checkpassword-0.90-r2  USE="-static" 16 kB
[ebuild  N    ] mail-mta/netqmail-1.05-r8  USE="ssl -gencertdaily
-highvolume -mailwrapper -noauthcram -qmail-spp -vanilla" 313 kB
[ebuild  N    ] virtual/qmail-1.03  0 kB 
[blocks B     ] mail-mta/netqmail (is blocking mail-mta/ssmtp-2.61-r2)
[blocks B     ] mail-mta/ssmtp (is blocking mail-mta/netqmail-1.05-r8)

Total: 8 packages (8 new, 2 blocks), Size of downloads: 524 kB

!!! Error: The above package list contains packages which cannot be installed
!!!        at the same time on the same system.

For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked

Blocked packages können bei Updates und Neuinstallation von Paketen auftreten. Bei Updates kann es durch veränderte Abhängikeiten zu Konflikten kommen, neue Pakete können direkt oder durch eine ihrer Abhängigkeiten Konflikte verursachen.

Die Lösung ist meist recht simpel: Herausfinden welches Paket den Konflikt verursacht und dieses per emerge −−unmerge loswerden
Jedoch ist die Anzeige des Paketkonfliktes nicht immer eindeutig. Im Beispiel erkennt man das zwei Pakete einen zirkulären Konflikt verursachen. Da jedoch netqmail noch gar nicht installiert ist kommt für die Deinstallation zur Konfliktauflösung nur ssmtp in Frage.

Bei der Deinstallation von Paketen sollte man natürlich immer die nötige Vorsicht walten lassen und nicht einfach blind wichtige Systemdienste entfernen, aber das versteht sich wohl von selbst ;)

Konkret kann man diesen Konflikt also durch ein

acer ~ # emerge −−unmerge ssmtp
...
acer ~ # emerge -av qmail

auflösen und hat dann qmail als neuen MTA. Da es sich hierbei um einen Systemdienst handelt, welcher die interne Mailzustellung an die User des Systems, wie zum Beispiel Cron Nachrichten usw. ermöglicht, wird noch eine korrekte Konfiguration des qmail MTA nötig.

Ein sehr gutes Portage HOWTO gibts hier: http://gentoo-wiki.com/HOWTO_Use_Portage_Correctly

Comments (2)

  1. mo said on 18. Mai 2009

    Haken, Pakete

  2. Florian Löffler said on 27. Juli 2009

    Danke ;)
    Glaube das schwappt bei mir langsam das Englische ins Deutsche (–> blocked packages <–)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.