Ist "sudo apt-get update" vor jeder Paketinstallation obligatorisch?

21

Ich weiß, wozu der Befehl update dient, und habe mich nur gefragt, ob ich ihn verwenden muss, bevor ich ein Paket installiere. Was ist, wenn ich nicht zu lange aktualisiert habe und einige wichtige Pakete installiere? Gibt es auch einen Anlass, dass dies nicht erforderlich ist?

Nikos Grigoriadis
quelle

Antworten:

20

Ihre Ubuntu-Kopie enthält eine private Kopie der Liste der Pakete, die sich in Ubuntus Repositorys befinden. apt-getLiest beim Installieren eines Pakets die Liste und ermittelt die URL des herunterzuladenden Pakets (die normalerweise Informationen zur Paketversion enthält).

apt-get updateAktualisiert die Paketlisten. Wenn Sie dies vor einer Installation nicht tun, wird apt-getmöglicherweise beanstandet, dass das Paket nicht im Repository gefunden wird, da die URL auf der Grundlage einer alten Version der Liste (in der eine ältere Version des Pakets aufgeführt ist) berechnet wurde.

Dies ist natürlich apt-get updateerforderlich, nachdem Sie die Repositorys geändert haben, da das System die Liste für die neuen Repositorys herunterladen muss.

Dies ist vor dem Upgrade der installierten Pakete unbedingt erforderlich, da das System nicht wissen kann, ob im Repository eine neue Version eines Pakets vorhanden ist, es sei denn, es verfügt über eine aktuelle Kopie der Paketliste.

Es gibt keinen Grund, apt-get updatevor der Installation eines Pakets nicht auszuführen . Es ist jedoch nicht erforderlich, wenn Sie wissen, dass seit der letzten Version keine neue Version dieses Pakets und seiner Abhängigkeiten auf den Spiegeln verfügbar ist apt-get update. Ein Sonderfall ist, wenn die Paketlisten auf dem neuesten Stand sind, was nach einer relativ kurzen Zeit seit dem letzten ist apt-get update; Dies bedeutet, dass alle Pakete auf dem Spiegel die gleiche Version haben wie sie waren.

Die Paketliste ändert sich, wenn ein Paket auf dem Spiegel aktualisiert wird. Es ist unmöglich vorherzusagen, wie oft es sich im Allgemeinen ändert, ohne auf ein bestimmtes Problem oder einen bestimmten Fehlerbericht Bezug zu nehmen oder ohne die Entwicklung dieser Ubuntu-Version zu verfolgen.

ignis
quelle
"Die Paketlisten sind auf dem neuesten Stand (das ist nach einigermaßen kurzer Zeit seit dem letzten Update von apt-get) - wie kurz ist die Zeit? Wie oft werden Paketlisten geändert? Was kann Paketlisten ändern?
joshreesjones
@ Mathguy54 Antwort aktualisiert. In der Praxis führe ich apt-get update aus, wenn beim Herunterladen von Paketen 404-Fehler ("Datei nicht gefunden") auftreten.
Ignis
"Ubuntu hat eine private Kopie der Liste der Pakete, die sich in Ubuntus Repositories befinden" - wo ist diese Liste? Ich würde es gerne lesen. Vielen Dank für die tollen Informationen.
Joshreesjones
@ mathguy54 Sie können die Dateien, die mit " *_Packagesunder" enden, /var/lib/apt/lists/mit einem Texteditor lesen. In der Regel wird jedoch eine erweiterte Suche mit den Paketverwaltungstools durchgeführt, z. B.apt-cache show/policy/etc.
ignis
3

Sie müssen den Befehl update nicht unbedingt verwenden, bevor Sie ein Paket installieren. Andernfalls wird ein Paket möglicherweise erst aktualisiert, nachdem Sie es installiert haben.

Denken Sie auch daran, dass Sie Ihr System regelmäßig aktualisieren müssen. Wenn Sie dies nicht tun, ist Ihr Computer gefährdet (Sie verfügen nicht über die neuesten Sicherheitspatches).


quelle
3

Wenn Sie gerade erst ein Software-Repository (PPA- oder Debian-Repository) hinzugefügt haben, müssen Sie apt-get updatedas Repository abrufen und im Wesentlichen alle darin enthaltenen Pakete zur Liste der verfügbaren Software von APT hinzufügen. Andernfalls erkennt APT den Namen des Pakets nicht, das Sie zur Installation anweisen.

Wenn Sie neue Software über die Befehlszeile installieren, empfiehlt es sich, die Repository-Informationen zu aktualisieren, damit Sie die Software nicht nur installieren, um festzustellen, dass sie veraltet ist. Dies gilt auch für die Aktualisierung von Software.

Wenn Sie die grafische Methode zum Installieren oder Aktualisieren von Software verwenden, z. B. das Ubuntu Software Center oder der Update Manager, suchen diese Clients automatisch nach den absolut neuesten Versionen von Paketen.

Wenn Sie eine Reihe von Software installieren und erst wenige Minuten oder sogar Stunden zuvor ein Update ausgeführt haben, erhalten Sie wahrscheinlich die neueste Version. Wenn Sie jedoch den Softwaretyp installieren, der häufig aktualisiert wird (z. B. Alpha / Beta-Software oder neueste Software), sollten Sie ein Update ausführen, bevor Sie etwas aus dem Repository dieser Software abrufen.

Terrygarcia
quelle