Wie kann apt-get ein Paket installieren und Abhängigkeiten ignorieren?

992
Steve Summit

Aus verschiedenen Gründen betreibe ich einige Debian-Systeme mit installierten Paketen. Es wird fast unmöglich, etwas apt-get installzu installieren. aptbeklagt sich immer, dass A von B abhängt, aber es wird nicht installiert oder C ist defekt oder ähnliches.

Meine Frage ist, wie kann man die Torpedos verdammen und mit voller Kraft vorgehen und trotzdem den Paketinhalt installieren? Ich kenne einige Teiltechniken, die aber nicht immer ausreichen:

  • Wenn die .debDatei heruntergeladen wurde, könnte ich sie finden /var/cache/aptund von Hand installieren dpkg -i, obwohl ich sogar vermute, dass ich aufgrund von nicht ermittelten Abhängigkeiten stymie sein könnte (die Installation kann fehlschlagen).

  • Ich denke, es gibt eine Möglichkeit, den Inhalt einer .debDatei von Hand zu extrahieren, obwohl ich mich nie daran erinnern kann, und ich bin mir ziemlich sicher, dass es aus den üblichen Gründen sehr entmutigt wird.

  • Ich weiß, dass ich theoretisch verschiedene Techniken (z. B. equivs) verwenden kann, um eine Art Pseudo-Paket zu erstellen, aber dies scheint eine Menge Ärger zu sein.

Gibt es noch andere Möglichkeiten? Gibt apt-getes einen Schalter "Abhängigkeiten ignorieren", den ich übersehen habe? Ich habe Verweise auf --nodepsund --no-deps options, butapt` gesehen (zumindest auf diesem System) scheint sie nicht zu unterstützen.

Oder, nebenfrage, gibt es eine Möglichkeit, aptzumindest die .debDatei herunterzuladen, selbst wenn sie weiß, dass sie sie nicht installieren kann? (Ich habe versucht es zu benutzen apt-get -d install, aber es scheint nichts herunterzuladen.)

Ich habe die vorherige Frage gesehen. Ignoriere alle Abhängigkeiten für ein bestimmtes Paket mit apt-get und enthält einige Antworten, aber ich suche immer noch nach einem besseren.

[Fußnote: Es ist nicht nötig mich zu belehren, was für eine schlechte Idee das ist und dass ich nicht versuchen sollte, es zu tun. Ich weiß schon, dass. :-)]

0
Aus Neugier ... wenn Sie sicher wissen, dass Paket A von B abhängt und Paket A aufgrund unerfüllter Abhängigkeiten NICHT funktioniert (auch wenn Sie es irgendwie schaffen, eine verpatzte Installation durchzuführen) - was möchten Sie erreichen? Hast du es aus Source gemacht? Auch wenn Sie Ihre Debian-Version aufschreiben und welches Paket Sie installieren möchten, ist wahrscheinlich jemand hier auf ein ähnliches Problem gestoßen und kann Ihnen eine genauere Antwort geben. Darius vor 6 Jahren 0
Ein Equivs-Paket zu erstellen erfordert einen kurzen Befehl. Wie viel Ärger macht das? grawity vor 6 Jahren 0
@ grawity So wie ich es verstehe, benötigt `equivs` einen Befehl und dann müssen Sie eine Vorlage bearbeiten, die alle möglichen kryptischen Informationen enthält, die Sie möglicherweise nicht verstehen. Fehlt mir etwas? Steve Summit vor 6 Jahren 0
@Darius Es ist nicht nur ein Paket, das ich heute installieren möchte. Es ist ein Problem, das ständig auftritt. Es ist normalerweise komplizierter als nur "A hängt von B ab". Normalerweise hängt A von B1 ab, das nicht installiert wird, aber ich habe B2 installiert, aber aus unergründlichen Gründen ist "apt" nicht zufriedenstellend. Im Allgemeinen glaube ich (oder hoffe ich), dass A * funktionieren wird, und ich möchte es zumindest versuchen, aber "apt" lässt mich nicht. Steve Summit vor 6 Jahren 0
@Darius * Wenn Sie wissen, dass Paket A NICHT funktioniert ... * Außerdem ist es oft der Fall, dass der Versuch, A auszuführen und seinen Versagensmodus zu beobachten, wichtige Hinweise darauf liefert, was erforderlich ist, um die Abhängigkeit tatsächlich zu erfüllen Bring es zur Arbeit. "Apt" lässt Sie jedoch nicht einmal versuchen. Steve Summit vor 6 Jahren 0
"Ich suche immer noch nach einem besseren." besser in welchem ​​Sinne, speziell für etwas, das entmutigt wird? Was ist "falsch" bei "--force-hängt" an? Patrick Mevzek vor 6 Jahren 0
@PatrickMevzek "Besser", da ich dadurch Fortschritte erzielen kann. Ich habe ein kaputtes System. Ich muss ein Paket installieren. `apt` weiß, wo es ist, weigert sich jedoch, es zu installieren, weigert sich sogar, die` .deb`-Datei herunterzuladen. Also bin ich total und total festgefahren. Ich kann entweder mein gesamtes System löschen und neu installieren (was keine Option ist) oder ich kann versuchen, die Quellen für das Paket zu finden und es von Grund auf neu aufzubauen. "Apt" kann mir aber überhaupt nicht helfen *. Oder besser gesagt, es wird mir nicht helfen. Es gibt Dinge, die es für mich tun könnte, die für mich günstig wären und die mir Zeit sparen würden, aber das lehnt ab. Steve Summit vor 6 Jahren 0
@PatrickMevzek Mit `--force-depend` 'meinen Sie die` dpkg`-Option? Ich würde es verwenden, wenn ich eine `.deb`-Datei zur Installation hätte, aber ich nicht. Ich hatte gehofft, dass "apt-get" es zumindest für mich herunterladen könnte. Steve Summit vor 6 Jahren 0
"apt-get download"? oder "--download-only" -Flagge? Patrick Mevzek vor 6 Jahren 0
Der Unterbefehl @PatrickMevzek `download` ist in der Version auf diesem System nicht vorhanden. Ich habe `-d erschöpfend verwendet, aber es wird nichts heruntergeladen. Ich gehe davon aus, dass Abhängigkeiten nicht erfüllt sind. Steve Summit vor 6 Jahren 0
Sie haben nicht angegeben, welche Version Sie verwenden ... Patrick Mevzek vor 6 Jahren 0
@PatrickMevzek apt Version 0.8.10.3. (Und danke für Ihre Vorschläge, ich schätze sie sehr, auch wenn sie nicht funktionieren. Ich hätte die Frage wahrscheinlich nicht zuerst stellen sollen, da das grundlegende Problem darin besteht, dass "apt" und ich es einfach nicht verstehen und sollte es nicht versuchen.) Steve Summit vor 6 Jahren 0
Wenn es One-Shot oder Manual ist, können Sie immer zu `packages.debian.org` gehen, das gewünschte Paket finden, es herunterladen und dann ein` dpkg -i` mit einigen Force-Flags darauf machen. Aber in der Tat, wenn Sie Ihre Frage noch einmal lesen, scheint mir, dass Sie zu einer seltsamen Situation gekommen sind, in der Dinge zerbrochen sind und ich glaube, Ihre Energie würde besser aufgewendet werden, um dies zu vermeiden. Oder Sie haben Alternativen für bestimmte Anwendungen außerhalb der Betriebssystemverwaltung, wie Chroots, Container / VMs oder "Snaps", was ein Trend ist. Oder einfach nur direkt vom Quellcode installieren und Pakete umgehen, wenn Sie 'apt' nicht mögen? Patrick Mevzek vor 6 Jahren 0

0 Antworten auf die Frage