Am avut de curând nevoie să instalez două pachete care sunt în conflict. Mai exact, voiam să folosesc serverele de POP3 și IMAP din Dovecot, dar foloseam deja XMail pentru SMTP. Și cum XMail are și el server POP3 inclus, a rezultat un conflict de toată frumusețea între xmail și dovecot-pop3d. A trebuit deci să găsesc un workaround/hack pentru a permite instalarea simultană a celor două pachete.
Inițial am încercat să instalez dovecot-pop3d normal, cu aptitude, dar…
# aptitude install dovecot-pop3d
The following packages are BROKEN:
xmail
The following NEW packages will be installed:
dovecot-pop3d
The following packages have unmet dependencies:
xmail: Conflicts: pop3-server which is a virtual package.
The following actions will resolve these dependencies:
Remove the following packages:
xmail
Install the following packages:
ssmtp [2.61-11.1 (oldstable)]
Soluția propusă de aptitude (și apt-get a zis la fel) nu mi-a convenit, așa că am săpat să văd cum pot să forțez instalarea pachetului, ignorând conflictul. Am găsit că dpkg are o opțiune –ignore-conflicts, adică exact ce-mi trebuie. Dpkg are însă nevoie pentru instalare să aibă pachetele .deb local, nu se descurcă cu adrese, deci înainte de instalarea propriu-zisă am descărcat pachetul.
Întâi am aflat exact ce fișier am nevoie și de unde îl iau:
# grep dovecot-pop3d /var/lib/apt/lists/*_Packages | grep Filename
/var/lib/apt/lists/ftp.debian.org_debian_dists_etch_main_binary-amd64_Packages:Filename: pool/main/d/dovecot/dovecot-pop3d_1.0.rc15-2etch4_amd64.deb
/var/lib/apt/lists/security.debian.org_dists_etch_updates_main_binary-amd64_Packages:Filename: pool/updates/main/d/dovecot/dovecot-pop3d_1.0.rc15-2etch4_amd64.deb
Apoi am descărcat pachetul (adresa corectă se deduce din liniile de mai sus)
# wget ftp://ftp.debian.org/debian/pool/main/d/dovecot/dovecot-pop3d_1.0.rc15-2etch4_amd64.deb
Abia acum se poate instala forțat deb-ul dovecot-pop3d:
# dpkg –force-conflicts -i dovecot-pop3d_1.0.rc15-2etch4_amd64.deb
O strategie similară se poate folosi pentru instalarea simultană a oricăror pachete care conflictează. Enjoy
Related posts:
- Mentenanța unui sistem Debian cu pachete în conflict Săptămâna trecută am instalat forțat pachete în confict pe unul din...
- Convert Xmail to Dovecot users This post is in English because it might interest other...
- Xmail cu server IMAP Dovecot Pe serverele de mail pe care le administrez folosesc Xmail....
- Installing Debian distributions from USB sticks – problems and solutions If you tried to install any distribution which uses Debian-Installer...
- Xmail password decrypter This post is in English because it might interest other...



Home





August 19th, 2009 at 07:46
[...] trecută am instalat forțat pachete în confict pe unul din serverele Debian, iar în week-end a trebuit să rulez script-urile de backup și apoi [...]
September 16th, 2009 at 15:26
Eu zic fie să pui un bug, dacă xmail poate fi configurat a.î. să nu aibă și pop3 activ, deci ai putea folosi și alt server pop3, fie să-i ceri părerea lui Radu Spineanu, responsabilul pachetului în Debian. Eu îl cunosc personal și te pot pune în legătură cu el.
September 16th, 2009 at 15:46
Nu vreau să pun bug pe pachet, pentru că nu e neapărat problema xmail-ului. Eu o văd ca o problemă a sistemului de management al pachetelor. Există destule cazuri valide în care vrei să ai instalate simultan pachete care sunt în conflict. De exemplu vreau să testez simultan mai multe servere pop3 sau imap sau mai știu eu ce (și sunt capabil să le configurez pe porturi diferite).
E ok să mă alerteze apt, dar ar trebui să existe o metodă de a forța instalarea.
September 17th, 2009 at 14:20
Presupun că nu te-ai uitat în manual?
0 eddy@twix ~ $ man apt.conf | head -n 40 | tail -n 10
APT {
Get {
Assume-Yes “true”;
Fix-Broken “true”;
};
};
with newlines placed to make it more readable. Lists can be created by
opening a scope and including a single word enclosed in quotes followed
September 17th, 2009 at 21:50
@Eddy – m-am uitat în manual. Manualul lui apt.conf este o mizerie, “broken” apare doar într-un exemplu, iar “conflict” apare de vreo 3 ori dar nu-mi rezolvă problema.
Dar am dat paste la exemplul de mai sus (care este și în manual) cu force broken false și am încercat să instalez postfix (am deja xmail instalat, deci are conflict). Ghici ce s-a întâmplat – a vrut să-mi dezinstaleze xmail.
Eu am un scenariu valid pentru care am nevoie să am instalate simultan xmail și postfix. Ok, sunt conflicte, avertizează-mă, dar dă-mi posibilitatea să fac ce vreau.
Acum, ori Apt are ceva voodoo lines de pus în apt.conf care să-mi permită asta, ori apt este broken by design. Cum am căutat destul de bine atât în mizeria aia de manual cât și pe Intertubes (au mai fost oameni care au avut problema mea și tot la instalare manuală au ajuns), înclin să cred că este broken.
Exemplul tău ar putea să mă ajute eventual atunci când am deja pachete broken instalate, pentru a nu mă mai plictisi la fiecare rulare apt-get sau aptitude. N-am testat, dar nu prea-mi fac speranțe. În postul următor am arătat cum se face și asta: http://blog.mybox.ro/2009/08/19/mentenanta-unui-sistem-debian-cu-pachete-in-conflict/