GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wann und warum sollte ich Apt-get Update verwenden?

Allgemeine Frage:

Könnten einige erklären, was der Befehl apt-get update bedeutet tut und wann sollte ich es wirklich verwenden?

Bemerkungen

Bitte geben Sie eine detaillierte Antwort . Nicht nur eine Kopie der Manpage, es sei denn, Ihre Version ist wirklich detailliert (ich habe eine Definition aus der Manpage unten eingefügt).

apt-get update :Wird verwendet, um die Paketindexdateien aus ihren Quellen neu zu synchronisieren. Die Indizes der verfügbaren Pakete werden von den in /etc/apt/sources.list(5) angegebenen Speicherorten abgerufen. Ein Update sollte immer vor einem Upgrade oder Dist-Upgrade durchgeführt werden.

Teilfragen:

  • Wo wird der Paketindex gespeichert? Auf einer Datenbank? Auf einer Datei?
  • Was passiert, wenn ich apt-get install mache ohne den Cache zu aktualisieren? Besteht die Möglichkeit, dass das Remote-Paket nicht mehr existiert und der Link unterbrochen wird?
  • Gibt es eine vereinbarte Politik bezüglich Deb-Repositories? Soll ein Repository beispielsweise nur die letzte Version eines Pakets enthalten oder sollte es im Gegenteil alle Versionen enthalten, die für eine bestimmte Distributionsversion verfügbar sind?

Kontext

Ich stelle meine Frage, weil ich das Docker-Framework studiere. Eines seiner Features ist das Dockerfile , mit dem Sie eine Art OS-Image erstellen können, indem Sie einige Anweisungen aus dieser Datei ausführen.
Eine Eigenschaft dieses Images ist, dass es immer gleich sein sollte, unabhängig vom Kontext (Zeitpunkt des Erstellens usw.).

Ich fürchte, wenn ich apt-get update starte Befehl zu einer anderen Zeit, das Ergebnis wäre anders und meine Bilder wären anders.

Akzeptierte Antwort:

apt-get update lädt die Liste der verfügbaren Pakete herunter.

Die Liste der Pakete kann sich im Laufe der Zeit ändern. Neue Pakete werden hinzugefügt und alte Pakete werden entfernt. Wenn Sie also einen wirklich alten Cache haben und versuchen, eine apt-get install durchzuführen , es könnte versuchen, ein Paket herunterzuladen, das nicht mehr existiert.
Wie lange ein altes Paket in einem Repository aufbewahrt wird, hängt vom Repo-Betreuer (Ihrer Distribution) ab. Wenn Sie also etwas wie Docker verwenden, wo der Cache sehr veraltet sein könnte, sollten Sie immer apt-get update ausführen bevor Sie Pakete installieren.

Der Grund für das Entfernen und Hinzufügen von Paketen sind hauptsächlich Fehlerbehebungen und Sicherheitsupdates. Wenn Sie jedoch Repos von Drittanbietern wie PPA verwenden, ist alles möglich.

Verwandte:Wann bekommt man die Fehlermeldung „jobs :not found“?

Wenn Sie so etwas wie Docker für die Containerisierung in einer Unternehmensumgebung verwenden, sollten Sie den Container einmal erstellen und diesen Container dann durch Ihre verschiedenen Release-Umgebungen (Entwicklung, Staging, Produktion) verschieben und den Container nicht jedes Mal neu erstellen. Dadurch wird sichergestellt, dass Sie keinen anderen Container erhalten, der nicht getestet wurde.

Um Ihre Frage zu beantworten, wo sich die Cache-Dateien befinden, /var/lib/apt/lists .


Linux
  1. Wann sollte ich TCP_NODELAY und wann TCP_CORK verwenden?

  2. Warum sollte eval in Bash vermieden werden und was sollte ich stattdessen verwenden?

  3. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  4. Wann verwendet man Bash und wann Perl/Python/Ruby?

  5. Warum verwenden wir su - und nicht nur su?

7 Gründe, warum ich Manjaro Linux verwende und Sie es auch sollten

Ubuntu oder Fedora:Welches sollten Sie verwenden und warum

Was ist eine virtuelle Maschine und warum sollte man sie verwenden?

Warum gibt es überhaupt die Trennung von Update und Upgrade?

Was ist die ONLYOFFICE Community-Funktion und warum sollten Sie sie verwenden?

Warum sollte man sudo verwenden?