apt versucht bei der Installation von Abhängigkeiten immer, lokal erstellte Pakete zu entfernen

482
Rwky

Ich habe eine lokal kompilierte Version von Apache, die sich in der Kontrolldatei befindet

Replaces: apache2, apache2-mpm, httpd, httpd-cgi, apache2-mpm-prefork, apache2-utils, apache2-common, apache2.2-bin, apache2.2-common Conflicts: apache2, apache2-mpm, httpd, httpd-cgi, apache2-mpm-prefork, apache2-utils, apache2-common, apache2.2-bin, apache2.2-common 

Wenn ich dann apt-get install php5 mache, versucht apt, mein Paket zu entfernen und die Apache-Pakete aus dem Ubuntu-Repository zu installieren.

Ich habe versucht, Replace, Conflicts und Provides auszutauschen, kann aber mein lokales Paket nicht beibehalten. Das Paket hat Priorität "optional", was mit apache2 identisch ist.

Weiß jemand, wie ich mein Paket konfigurieren kann, um den Apache von Ubuntu zu ersetzen?

1

2 Antworten auf die Frage

1
BillThor

Installieren Sie Ihre Pakete und markieren Sie sie.

Ich habe es versucht, aber dann fordert mich aptitude dazu auf, Konflikte aufzulösen und apt-get ignoriert es einfach und versucht meinen Apache zu entfernen Rwky vor 14 Jahren 0
Es gibt unter anderem eine Abhängigkeit von libapache-mod-php5. Mit Ihrem benutzerdefinierten Apache haben Sie dieses Paket wahrscheinlich nicht. Sie können die Abhängigkeit durch die Installation von php5-common erfüllen. Dies kann Ihr Problem lösen. BillThor vor 14 Jahren 0
1
Gilles

Dies liegt daran, dass das php5Paket eine Abhängigkeit hat (möglicherweise indirekt), die von Ihren Paketen nicht erfüllt wird. Versuchen Sie aptitudestattdessen apt-getdie Option -vein- oder mehrmals zu verwenden, um einen detaillierteren Bericht über die problematische Abhängigkeitskette zu erhalten. oder verwenden Sie aptitude interaktiv, um die Abhängigkeitskette leicht erkunden zu können (fordern Sie die Installation von php5Konfliktlösungsvorschlägen an und sehen Sie sich diese an).

Die einfachste Möglichkeit, Abhängigkeiten zu befriedigen, besteht darin, die Ubuntu-Kompilierungsskripts für Ihre eigene Apache-Version zu verwenden, um dieselben Paketnamen und größere Versionsnummern zu haben, die alle Abhängigkeiten erfüllen.

Wenn alles andere fehlschlägt, können Sie das equivs-buildTool aus dem equivsPaket verwenden, um ein triviales Paket zu erstellen, um die fehlenden Abhängigkeiten zu erfüllen.

Danke. Ich habe die Ubuntu-Kontrolldatei verwendet, um meine eigene mit einer höheren Versionsnummer zu kompilieren, als Sie vorgeschlagen haben :) Rwky vor 14 Jahren 0