
Aus der Manpage:
-m, --ignore-missing, --fix-missing
Ignore missing packages; if packages cannot be retrieved or fail the integrity
check after retrieval (corrupted package files), hold back those packages and
handle the result.
Use of this option together with -f may produce an error in some situations. If a
package is selected for installation (particularly if it is mentioned on the
command line) and it could not be downloaded then it will be silently held back.
Configuration Item: APT::Get::Fix-Missing.
Das ist verwirrend:
- Wie können „Fehlendes ignorieren“ und „Fehlendes beheben“ Synonyme für dieselbe Option sein?
- Was bedeutet „zurückhalten“ in diesem Zusammenhang?
- Was bedeutet „mit dem Ergebnis umgehen“?
Und in welcher Situation ist es überhaupt nützlich? Wenn Sie versuchen, ein Paket zu installieren, das nicht im Apt-Index enthalten ist, erhalten Sie diese Meldung:
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Sind die beiden Vorschläge ( apt-get update
, apt-get install --fix-missing...
) überhaupt gleichwertig?
Antwort1
Okay, der Reihe nach:
- (1)-Mignorierenfehlenoder reparierenfehlenPakete (im Gegensatz zu-F gebrochenPakete). Diese Optionen sindSynonymefür die gleiche Option. (Da es von hier aus ignoriert wird, nimmt es seine eigeneSeltsamkeit :-) )
- (2-3) Wenn Sie mit
apt-get upgrade
oder mit installieren/aktualisierenapt-get install somepackage
, versucht apt normalerweise, Abhängigkeiten zu aktualisieren. Das bedeutet, dass es feststellen kann, dass einige Pakete neue oder aktualisierte Versionen vorhandener Pakete benötigen, und so weiter in einer Kaskade von Abhängigkeiten. Wenn einige dieser Pakete fehlen oder die Integritätsprüfung nicht bestehen, scheint es aussetzendieses Paket und möchte, dass Sie zuhandhabendas Ergebnis nach derHandle-Methodedes erforderlichen Pakets, wenn möglich. Oft wird die Installation dieses Pakets dadurch gestoppt. - (4) Mit
apt-get update
laden Sie herunter, was zum Neuaufbau der Abhängigkeitsliste nötig ist.
Danach können Sie esapt-get install --fix-missing
erneut versuchen, in der Hoffnung, dass die aktualisierte Liste das Problem von selbst behebt.
Dies kann manchmal sehr nützlich sein, etwa wenn Sie eine Quelle für Pakete in Ihrem hinzufügen/etc/atp/sources.list
oder wenn die Paketindexdateien aktualisiert wurden.
Nicht alle Programme, die Sie unter Ubuntu verwenden können, stammen aus den offiziellen Ubuntu-Repositories und werden mit denselben Versionen aktualisiert – das kommt selten vor.
Darüber hinaus gibt es viele Gründe, warum eine Installation abrupt unterbrochen werden kann (ein Kill-Signal, ein Stromausfall, ein Fehler beim Grafiktreiber usw.). In solchen Situationen funktioniert es möglicherweise nicht, sodass Sie das Problem zunächst mit oder mithilfe einiger Befehle apt-get update
beheben müssen . apt-get install --fix-missing
dpkg
apt-get install --fix-missing
Sie können es als eine leichtere und benutzerfreundlichere Version von Befehlen wie dpkg-reconfigure --all
oder sehen dpkg
.