Was macht "sudo apt-get update"?

Ich frage mich, was sudo apt-get update tut?

Was aktualisiert es?

Auf den Punkt gebracht, apt-get update installiert keine neuen Softwareversionen. Stattdessen aktualisiert es die Paketlisten für Upgrades für Pakete, die aktualisiert werden müssen, sowie für neue Pakete, die gerade in die Repositorys aufgenommen wurden.

  • apt-get update lädt die Paketlisten aus den Repositorys herunter und "aktualisiert" sie, um Informationen über die neuesten Versionen von Paketen und deren Abhängigkeiten zu erhalten. Es wird dies für alle Repositories und PPAs tun.Von http://linux.die.net/man/8/apt-get:

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

  • apt-get upgrade holt neue Versionen von Paketen, die auf dem Computer vorhanden sind, wenn APT über diese neuen Versionen Bescheid weiß apt-get update.

    Von http://linux.die.net/man/8/apt-get:

    Wird verwendet, um die neuesten Versionen aller derzeit auf dem System installierten Pakete aus den Quellen zu installieren, die in /etc/apt/sources.list(5). Pakete, die derzeit mit neuen verfügbaren Versionen installiert sind, werden abgerufen und aktualisiert; unter keinen Umständen werden derzeit installierte Pakete entfernt, noch werden Pakete, die nicht bereits installiert sind, abgerufen und installiert. Neue Versionen von derzeit installierten Paketen, die nicht aktualisiert werden können, ohne den Installationsstatus eines anderen Pakets zu ändern, werden in ihrer aktuellen Version belassen. [Hervorhebung von mir] Zuerst muss ein Update durchgeführt werden, damit apt-get weiß, dass neue Versionen von Paketen verfügbar sind.

  • apt-get dist-upgrade wird die gleiche Arbeit machen, die von erledigt wird apt-get upgrade, außerdem wird es auch die Abhängigkeiten intelligent handhaben, so dass es veraltete Pakete entfernen oder neue hinzufügen kann. Siehe hier: Was ist "dist-upgrade" und warum aktualisiert es mehr als "upgrade"?

    Von http://linux.die.net/man/8/apt-get:

    Zusätzlich zur Durchführung der Funktion des Upgrades behandelt diese Option auch auf intelligente Weise das Ändern von Abhängigkeiten mit neuen Versionen von Paketen; apt-get verfügt über ein "intelligentes" Konfliktlösungssystem und wird versuchen, die wichtigsten Pakete auf Kosten weniger wichtiger Pakete zu aktualisieren, falls erforderlich. Der /etc/apt/sources.list(5) die Datei enthält eine Liste von Speicherorten, von denen die gewünschten Paketdateien abgerufen werden können. Siehe auch apt_preferences(5) für einen Mechanismus zum Überschreiben der allgemeinen Einstellungen für einzelne Pakete.

Sie können Befehle kombinieren mit && wie folgt:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

oder um die neuesten Versionen gemäß den Versionsanforderungen von Abhängigkeiten zu erhalten:

sudo apt-get update && sudo apt-get dist-upgrade

Du brauchst sudo beide Male, aber seitdem sudo standardmäßig werden Sie nicht innerhalb von etwa 5 Minuten seit der letzten Aufforderung aufgefordert sudo andernfalls werden Sie nur einmal (oder gar nicht) zur Eingabe Ihres Passworts aufgefordert.

Eine Google-Suche kann Ihnen die Definition für fast jeden Terminalbefehl geben, ebenso wie --help im Terminal. Beispielsweise,

apt-get --help

sudo apt-get update besteht im Wesentlichen aus drei Teilen:

sudo

führt den folgenden Befehl mit Superuser-Funktionen (root) aus. Viele Aktionen, die das Ändern von Systemdateien oder das Installieren von Anwendungen erfordern, erfordern zusätzliche Berechtigungen.

apt-get

ist ein Befehlszeilentool, mit dem Ubuntu Softwarepakete installiert, entfernt und verwaltet

update

ist eine Option für das Programm apt-get, das die Paketlisten von einem Server im Internet aktualisiert. Die Paketlisten stellen dem Dienstprogramm apt-get wichtige Informationen zu den Softwarepaketen zur Verfügung, die Sie mit apt-get installieren können. apt-get verwendet diese Listen, um zu bestimmen, welche Software installiert werden soll, wenn ein Befehl zur Installation gegeben wird. Beispielsweise

sudo apt-get install guake

würde das Guake-Terminal so installieren, wie es derzeit in den lokalen Softwarelisten meines Computers aufgeführt ist. Dies ist jedoch möglicherweise nicht die richtige Version, oder wenn das Programm neu ist, ist es möglicherweise überhaupt nicht verfügbar. Wenn Sie also Software mit apt-get installieren, geben Sie normalerweise Folgendes ein

sudo apt-get updatesudo apt-get install <package>

stellen Sie sicher, dass apt-get weiß, die neueste Version des Pakets zu installieren.

Eine weitere nützliche Informationsquelle ist die help.ubuntu.com Website. Zum Beispiel, wenn Sie diese Site nach gesucht haben apt-get du würdest finden AptGet/Anleitung als eines der Ergebnisse.

Laufen sudo apt-get update stellt einfach sicher, dass Ihre Liste der Pakete aus allen Repositorys und PPAs auf dem neuesten Stand ist. Wenn Sie diesen Befehl nicht ausführen, erhalten Sie möglicherweise ältere Versionen verschiedener Pakete, die Sie installieren, oder, schlimmer noch, Abhängigkeitsprobleme. Wenn Sie gerade eine PPA hinzugefügt und nicht aktualisiert haben, funktioniert überhaupt nichts aus der PPA, da Sie keine Paketliste aus dieser PPA oder diesem Repository haben.

Kurz gesagt: Es ist sehr empfohlen zu laufen sudo apt-get update vor der Installation, aber es kann übersprungen werden, wenn Sie wirklich unter Zeitdruck stehen es sei denn, Sie haben Repositorys oder PPAs seit dem letzten geändert apt-get update.

Es aktualisiert die Liste der verfügbaren Software auf Ihrem Computer.

Ihr Computer verfügt über eine Liste (wie einen Katalog), die alle verfügbare Software enthält, die auf den Ubuntu-Servern verfügbar ist. Die verfügbare Software und Versionen können sich jedoch ändern, sodass ein "Update" auf den Server gelangt und sieht, welche Software verfügbar ist, um die lokalen Listen (oder Kataloge) zu aktualisieren.

Beachten Sie, dass update unterscheidet sich von upgrade. Update, wie oben erwähnt, holt verfügbare Software und aktualisiert die Listen, während upgrade installiert neue Versionen der auf Ihrem Computer installierten Software (aktuelle Softwareupdates).

Um Ihre Software tatsächlich zu aktualisieren (nicht die Listen zu "aktualisieren"), führen Sie den Befehl aus

sudo apt-get upgrade

was normalerweise nach einem "Update" ausgeführt wird.

Du musst rennen apt-get update einmal vor der Installation neuer Pakete, da dadurch die lokalen Repository-Informationen aktualisiert werden.

Wenn Sie mehrere Pakete kurz hintereinander installieren möchten, müssen Sie nicht ausführen apt-get update vor jeder Installation; nur einmal vor der ersten Installation.

Sie können auch mehrere Pakete gleichzeitig installieren, wenn Sie Folgendes eingebensudo apt-get install package1 package2..., aber du musst noch laufen apt-get update vor der Installation mehrerer Pakete.

Wenn Sie Pakete über die Befehlszeile mit installieren sudo apt-get install ... (oder sudo aptitude install ...), oder wenn Sie sie über die Befehlszeile aktualisieren (mit upgrade oder dist-upgrade statt install), werden die folgenden Informationen aus der Konfiguration Ihres lokalen Systems abgerufen und nicht aus dem Internet:

  1. welche Pakete sind verfügbar

  2. welche Versionen davon sind verfügbar

  3. woher die verfügbaren Pakete abgerufen werden sollen

Laufen sudo apt-get update (oder sudo aptitude update) aktualisiert dies auf Ihrem lokalen System. Dies ist der Schritt, der tatsächlich Informationen darüber abruft, welche Pakete installiert werden können, einschließlich der Aktualisierungen der derzeit installierten Pakete Pakete sind verfügbar, aus Internetquellen.

Wenn Sie Pakete mit einer grafischen Oberfläche (Update Manager, Software Center oder Synaptic Package Manager) installieren, wird die Arbeit von sudo apt-get update erfolgt automatisch. Wenn Sie Pakete über die Befehlszeile installieren, ist dies nicht der Fall, und Sie sollten dies immer selbst tun es sei denn, Sie haben dies vor kurzem getan.

Da Informationen darüber, welche aktualisierten Versionen von Paketen verfügbar sind, durch Ausführen von abgerufen werden sudo apt-get update (oder sudo aptitude update), ist es ratsam, dies vor der Installation eines Pakets auszuführen und es auszuführen, um die neuesten Updates zu installieren, auch wenn Sie keine Softwarequellen hinzugefügt oder entfernt haben (z. B. eine PPA).

Bitte beachten Sie, dass Sie nicht ausführen müssen, wenn Sie mehrere Paketverwaltungsvorgänge gleichzeitig ausführen möchten sudo apt-get update vor jedem einzelnen. Nur wenn die Informationen eine Weile nicht aktualisiert wurden, sollten Sie sicherstellen, dass Sie sie ausführen.

Wie von vielen Leuten vor mir gesagt, aktualisiert dies Ihr lokales Repository (Paketliste).

Sie können in Schwierigkeiten geraten, wenn Sie versuchen zu installieren

apt-get install foobar

und foobar oder eine Abhängigkeit haben nicht die neueste Version im Repository. Dies kann besonders problematisch sein, wenn eine Installation .deb-Datei manuell oder ein ppa von einer 3rd-Party.

Grundsätzlich stellt es sicher ihre Liste passt zum Master Liste.

Wie Eliah Kagan oben erwähnte, würden Sie erwarten dass eine GUI-Anwendung ausgeführt werden würde apt-get update vor apt-get install / apt-get upgrade, aber ich habe gerade einen interessanten Fehler 404 auf einer relativ neuen VM-Maschine mit offensiver Sicherheit entdeckt, der mich für eine Minute ratlos gemacht hat.

Von der Befehlszeile aus lief ich apt-get update, und versuchte dann den Befehl Systemtools / Software-Update erneut, und diesmal lief er ohne 404-Fehler.

Also, ich denke, das kann man nicht immer annehmen apt-get update wird von GUI-Anwendungen ausgeführt...

Betrachten wir das Beispiel der Installation VLC-Mediaplayer auf Ubuntu:

sudo apt-get update

Es überprüft die Repositorys auf verfügbare Updates.

Während

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

installiert den VLC Media Player aus den Repositorys, nach denen wir gesucht haben.

Wenn Sie sich als Root-Benutzer (Administrator) angemeldet haben, müssen Sie nicht verwenden sudo, weil Sie bereits die Superuser-Privilegien haben.