Als Early Adopter und mit 11.04 täglichen Builds stoße ich manchmal auf eine Situation, in der einige Pakete frühere Versionen anderer Pakete erfordern als die, die ich installiert habe. Normalerweise bieten neuere (aber abgelehnte) Versionen der benötigten Pakete die gesamte Funktionalität der älteren Versionen.
Wenn ich dpkg -i --force-depends-version
abhängige Pakete installiere, funktioniert alles einwandfrei. Ich habe noch nie ein Problem gesehen.
Anstatt jedes Paket manuell herunterzuladen und zu installieren, kann ich das System so tun, als wäre eine bestimmte Paketversion installiert, wenn es eine neuere gibt? Oder gibt es ein --force-depends-version
Schlüsseläquivalent für apt-get
?
Obwohl eine Antwort bereits akzeptiert wurde, vermittelt das Inlinieren der akzeptierten besser den Prozess:
Es gibt ein Debian-Paket,
equivs
das Dummy-Pakete erstellen kann. Installieren Sie es, indem Sie ausführensudo apt-get install -y equivs
Nach der Installation generieren Sie eine Vorlagendatei "control" mit dem folgenden Befehl:
equivs-control postfix
(Ersetzen Sie diesepostfix
durch Ihren Paketnamen). In meinem Fall könnte ich einen alternativen Paketnamen verwenden, z. B.postfix-custom
oder was auch immer, aber mein benutzerdefiniertes Paket muss erfüllt werden oderProvides
die Installationsabhängigkeit vonpostfix
(erneutes Ersetzenpostfix
für das gewünschte Paket).Sobald die Vorlagensteuerungsdatei generiert wurde, entferne ich in der Regel viele auskommentierte Anweisungen (Anweisungen, die mit beginnen
#
). Eines , dass Ich mag speziell zu halten , ist dieProvides:
Aussage , wo ich sagen kann , dass mein Paket die Möglichkeit , durch das andere Paket angeboten sieht vor, dass ich zu fälschen bin versucht, zum BeispielProvides: postfix
erzählt die Debian / Ubuntu Abhängigkeit Bewältigungsmechanismus , dass mein Paket-von was auch immer Namen- bietet wieder die gleichen Funktionen des Zielpaketspostfix
oder was auch immer. Dadurch kann ich mein Paket unabhängig vom Zielpaket benennen, um Verwechslungen zu vermeiden. Erlang Factory erledigt dies mit ihren Sachen, zBesl-erlang
lieferterlang
.Sobald die Vorlagen-Steuerdatei erstellt ist, können Sie
equivs-build
schließlich das gefälschte Paket generieren, zequivs-build /path/to/generated/control/file
.Das Erstellen des Pakets dauert einige Sekunden, und Sie können es ausführen
sudo dpkg -i my_package_name*.deb
Wenn Ihre Vorlagensteuerungsdatei für fortgeschrittene Benutzer eine
Requires:
Abhängigkeitszeile enthält, möchten Sie möglicherweise ein Tool verwendengdebi
, um Ihr Paket sowie die verschiedenen Pakete, die es als Abhängigkeiten deklariert, zu installieren.quelle