Ich möchte die neueste Version von boto installieren , was ich über machepython setup.py install
Wenn ich jedoch versuche, die alte Version zu entfernen, werden auch die folgenden Pakete entfernt:
apt-get remove python-boto
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
cloud-init cloud-utils euca2ools python-boto
Wie kann ich den Paketmanager anweisen, boto zu entfernen und als extern installiert (oder so ähnlich) zu markieren, damit apt nicht versucht, die fehlende Abhängigkeit zu beheben?
Vielen Dank,
Maxim.
Antworten:
Sie können mit dem
equivs
Dienstprogramm ein Dummy-DEB-Paket erstellen , das die Abhängigkeit bereitstellt, ohne Dateien zu installieren. Dann ersetzen Sie einfach das aktuell installierte Paket durch die Dummy-Versiondpkg -i fake.deb
.quelle
Verwende dpkg direkt, nicht apt-get oder aptitude:
quelle
Ich weiß, dass dies ein alter Beitrag ist, aber da ich kürzlich ein ähnliches Problem hatte, möchte ich meine Lösung in der Hoffnung mitteilen, dass es jemand in Zukunft nützlich findet.
Wenn Sie ein Paket über aptitude installiert haben, weist es den Abhängigkeiten automatisch Flags zu (auto), und wenn Sie versuchen, Ihr Paket erneut zu entfernen, versucht es, alle Abhängigkeiten zu entfernen, bei denen das Auto-Flag immer noch gesetzt ist.
Wie Sie in meinem Fall sehen können, ist es Zabbix, das ich entfernen möchte:
Und wenn wir das Apache-Paket nachschlagen, sieht es so aus
Das erste Flag "i" zeigt an, dass Apache installiert ist.
Das nächste Flag "A" steht für "automatisch installiert"
Um dies zu beheben und Apache, MySQL und PHP nicht deinstalliert zu haben, können wir einfach das Auto-Flag mit der folgenden Einstellung entfernen:
Jetzt sieht es beim Entfernen des zabbix-Pakets so aus:
Bitte überprüfen Sie die Manpage für Eignung für weitere Details
quelle
Genau dafür
apt-mark hold
ist.apt-mark hold package_name
Aus der Dokumentation:
So heben Sie ein Paket auf:
apt-mark unhold package_name
quelle
The following packages have unmet dependencies: mysql-server-5.7 : Depends: apparmor (>= 2.10) but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
AFAIK: Es gibt keine Möglichkeit, ein Paket mit APT zu entfernen, ohne auch die Pakete zu entfernen, die davon abhängen.
Referenz: http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html
quelle
Um die Antwort von João Pinto zu vervollständigen, können Sie mein kleines Skript verwenden, um defekte Pakete zu reparieren. Dieses Skript erstellt ein Dummy-Paket mit Äquivalenten und installiert es. Auf meinem Blog finden Sie einen Artikel in französischer Sprache .
Oder direkt am Hauptcode .
Um es zu benutzen:
quelle