(3 Antworten)
Vor 6 Jahren geschlossen.
Ich habe ein Paket, das ich nicht installieren möchte, auch wenn es von einem anderen benötigt wird.
Gibt es eine Möglichkeit, ein Paket auf die „schwarze Liste“ zu setzen, damit es nicht installiert werden kann, selbst wenn es von einem anderen abhängig ist?
Kann ich die Tatsache überwinden, dass es sich um eine Abhängigkeit handelt, und trotzdem mein System aktualisieren können?
Ich denke dabei insbesondere an den Messaging-Indikator von Unity. Wenn ich es aus irgendeinem Grund entferne und Unity erneut hinzufüge, möchte ich nicht, dass das Applet erneut installiert wird. Wie kann ich die Installation verhindern? (oder das globale Menü, Java-Versionen, die meine benutzerdefinierte installierte Version entfernen usw. … Sie verstehen schon).
Akzeptierte Antwort:
- Gibt es eine Möglichkeit, ein Paket auf die "schwarze Liste" zu setzen, damit es nicht installiert werden kann, selbst wenn es von einem anderen abhängig ist?
Um apt
zu verhindern von der Installation eines Pakets foo
, fügen Sie eine Strophe für dieses Paket zur Datei /etc/apt/preferences hinzu, die wie folgt aussieht.
Package: foo
Pin: release *
Pin-Priority: -1
Dies verhindert, dass apt foo installiert, und verhindert auch, dass apt alles installiert, was von foo abhängt.
Das nächste, was mir einfällt, ist ein Hold auf foo in seiner aktuellen Version, was verhindert, dass foo aktualisiert wird (es sei denn, dpkg erhält den --force-hold
Option oder es sei denn, apt setzt den Hold außer Kraft). Gehen Sie wie folgt vor, um das Paket foo anzuhalten.
echo foo hold | sudo dpkg --set-selections
- Kann ich die Tatsache überwinden, dass es sich um eine Abhängigkeit handelt, und trotzdem mein System aktualisieren können?
Sie können einzelne Pakete trotz Abhängigkeitsverletzungen mit dpkg --force-depends
installieren . Sie können apt
nicht verwenden um dies zu tun, es sei denn, Sie apt-get source
das Paket, das von foo abhängt, und es ohne die Abhängigkeit von foo neu erstellen.