it-swarm.com.de

Was macht "Sudo apt-get update"?

Ich frage mich, was Sudo apt-get update macht?

Was wird aktualisiert?

507
Elysium

Kurz gesagt, apt-get update installiert keine neuen Softwareversionen. Stattdessen werden die Paketlisten für Upgrades für Pakete, die aktualisiert werden müssen, sowie für neue Pakete, die gerade in die Repositorys eingegangen sind, aktualisiert.

  • 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. Dies wird für alle Repositorys und PPAs durchgeführt. Von http://linux.die.net/man/8/apt-get :

    Dient zum erneuten Synchronisieren der Paketindexdateien von ihren Quellen. 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.

  • apt-get upgrade ruft neue Versionen der auf dem Computer vorhandenen Pakete ab, wenn APT diese neuen Versionen über apt-get update kennt.

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

    Wird verwendet, um die neuesten Versionen aller derzeit auf dem System installierten Pakete aus den in /etc/apt/sources.list (5) aufgeführten Quellen zu installieren. Derzeit installierte Pakete, für die neue Versionen verfügbar sind, werden abgerufen und aktualisiert. Derzeit installierte Pakete werden unter keinen Umständen entfernt, und noch nicht installierte Pakete werden abgerufen und installiert. Neue Versionen von derzeit installierten Paketen, die nicht aktualisiert werden können, ohne den Installationsstatus eines anderen Pakets zu ändern, behalten ihre aktuelle Version bei. [Emphasis mine] Ein Update muss zuerst ausgeführt werden, damit apt-get weiß, dass neue Versionen von Paketen verfügbar sind.

  • apt-get dist-upgrade erledigt die gleiche Aufgabe wie apt-get upgrade, außerdem werden die Abhängigkeiten intelligent behandelt, sodass möglicherweise veraltete Pakete entfernt oder neue hinzugefügt werden. Siehe hier: Was ist "dist-upgrade" und warum wird mehr aktualisiert als "upgrade"?

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

    Diese Option führt nicht nur die Upgrade-Funktion aus, sondern verarbeitet auch die sich ändernden Abhängigkeiten mit neuen Paketversionen auf intelligente Weise. apt-get verfügt über ein "intelligentes" Konfliktlösungssystem, das bei Bedarf versucht, die wichtigsten Pakete auf Kosten weniger wichtiger Pakete zu aktualisieren. Die Datei /etc/apt/sources.list (5) 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 wie folgt mit && kombinieren:

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

oder um die neuesten Versionen zu erhalten, die gemäß den Versionsanforderungen der Abhängigkeiten möglich sind:

Sudo apt-get update && Sudo apt-get dist-upgrade

Sie benötigen Sudo beide Male, aber da Sudo Sie nicht innerhalb von ungefähr 5 Minuten nach dem letzten Sudo Vorgang zur Eingabe auffordert, werden Sie nur einmal zur Eingabe Ihres Kennworts aufgefordert (oder überhaupt nicht).

543
hexafraction

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

apt-get --help

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

Sudo

führt den folgenden Befehl mit Superuser-Funktionen (Root) aus. Für viele Aktionen, die das Ändern von Systemdateien oder das Installieren von Anwendungen erfordern, sind zusätzliche Berechtigungen erforderlich.

apt-get

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

update

ist eine Option, die das Programm apt-get verwendet, um die Paketlisten von einem Server im Internet zu aktualisieren. Die Paketlisten enthalten wichtige Informationen zu den Softwarepaketen, die Sie mit apt-get installieren können. apt-get verwendet diese Listen, um zu bestimmen, welche Software installiert werden soll, wenn ein Installationsbefehl erteilt wird. Zum Beispiel

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 update
Sudo apt-get install <package>

stellen Sie sicher, dass apt-get die neueste Version des Pakets installiert.

Eine weitere nützliche Informationsquelle ist die Site help.ubuntu.com. Wenn Sie diese Site beispielsweise nach apt-get durchsuchen, finden Sie AptGet/Howto als eines der Ergebnisse.

47
Alex

Wenn Sie Sudo apt-get update ausführen, stellen Sie 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 nichts von der PPA, da Sie keine Paketliste von dieser PPA oder dem Repository haben.

Kurz gesagt: Es wird dringend empfohlen , Sudo apt-get update vor der Installation auszuführen, aber es kann übersprungen werden, wenn Sie wirklich unter Zeitdruck stehen es sei denn, Sie haben Repositorys oder PPAs seit dem letzten apt-get update geändert.

19
hexafraction

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

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

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

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.

13
Sam

Sie müssen apt-get update einmal ausführen, bevor Sie neue Pakete installieren, da dadurch die lokalen Repository-Informationen aktualisiert werden. Wenn Sie mehrere Pakete kurz hintereinander installieren, müssen Sie apt-get update nicht ausführen. Sie können auch mehrere Pakete gleichzeitig installieren, wenn Sie Sudo apt-get install package1 package2... eingeben.

12
Jason Petrilla

Wenn Sie Pakete über die Befehlszeile mit Sudo apt-get install ... (oder Sudo aptitude install ...) installieren oder wenn Sie sie über die Befehlszeile aktualisieren (mit upgrade oder dist-upgrade anstelle von install), werden die folgenden Informationen angezeigt Beziehen Sie sich auf die Konfiguration Ihres lokalen Systems und nicht aus dem Internet:

  1. welche Pakete sind verfügbar

  2. welche Versionen davon sind verfügbar

  3. wo die verfügbaren Pakete abgerufen werden sollen

Wenn Sie Sudo apt-get update (oder Sudo aptitude update) ausführen, wird dies auf Ihrem lokalen System aktualisiert. In diesem Schritt werden Informationen darüber abgerufen, welche Pakete installiert werden können , einschließlich der Aktualisierungen der derzeit installierten Pakete, die aus Internetquellen verfügbar sind .

Wenn Sie Pakete mit einer GUI-Oberfläche installieren (Update Manager, Software Center oder Synaptic Package Manager), wird die Arbeit von Sudo apt-get update automatisch ausgeführt. Wenn Sie Pakete von der Befehlszeile aus installieren, ist dies nicht der Fall, und Sie sollten dies immer selbst tun , es sei denn, Sie haben dies kürzlich getan .

Da Informationen darüber, welche aktualisierten Versionen von Paketen verfügbar sind, durch Ausführen von Sudo apt-get update (oder Sudo aptitude update) abgerufen werden, 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 (wie z. B. ein PPA) hinzugefügt oder entfernt haben .

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

6
Eliah Kagan

Wie Eliah Kagan oben erwähnte, würden Sie erwarten, dass eine GUI-Anwendung apt-get update vor apt-get install/apt-get upgrade ausführt, aber ich habe gerade einen interessanten Fehler 404 entdeckt Eine relativ neue Offensiv-Sicherheitsmaschine VM, die mich eine Minute lang überrumpeln ließ.

Von der Befehlszeile aus habe ich apt-get update ausgeführt und dann den Befehl System Tools/Software-Update erneut ausgeführt. Diesmal wurden keine 404-Fehler festgestellt.

Sie können also nicht immer davon ausgehen, dass apt-get update von GUI-Anwendungen ausgeführt wird ...

4
mikepratt

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

Bei der Installation können Probleme auftreten

apt-get install foobar

und foobar oder eine Abhängigkeit haben ihre neueste Version nicht im Repository. Dies kann besonders problematisch sein, wenn Sie eine .deb-Datei manuell oder ein ppa von einem Drittanbieter installieren.

Grundsätzlich stellt es sicher, dass Ihre Liste mit der Master Liste übereinstimmt.

3
N8tron

Betrachten wir das Beispiel für die Installation von VLC Media Player unter Ubuntu:

Sudo apt-get update

Die Repositorys werden auf verfügbare Updates überprüft.

Wohingegen

Sudo apt-get install vlc vlc-plugin-Pulse mozilla-plugin-vlc

installiert den VLC Media Player aus den von uns gesuchten Repositories.

Wenn Sie sich als Root-Benutzer (Administrator) angemeldet haben, müssen Sie Sudo nicht verwenden, da Sie bereits über die Superuser-Berechtigungen verfügen.

2
Praveen Vinny