Welches ist der richtige Weg, um Software auf Ubuntu zu aktualisieren?

Welches ist der richtige Weg, um Software auf Ubuntu zu aktualisieren?

Hallo :) Wie unterscheiden sich Software-Updates je nachdem, wie ich Software mit Ubuntu herunterlade? Zum Beispiel, wenn ich sie manuell mit dem Apt-Paketmanager herunterlade oder wenn ich ein Repository zu /etc/apt/sources.list hinzufüge. Es besteht auch die Möglichkeit, Software mit Flatpacks oder Snaps herunterzuladen.

Was passiert eigentlich, wenn ich sudo apt update aufrufe? Welche Repositories werden geprüft?

Antwort1

Es gibt viele Möglichkeiten, Softwarepakete auf Ubuntu zu installieren. Einige davon haben Sie nicht erwähnt. Um eine vollständige Antwort zu geben, möchte ich sie alle beschreiben:

Installation per Paketmanager, Standard-Repositorys

Der Paketmanager (egal ob apt, apt-get, aptitudeoder was auch immer) verfügt über eine Liste von Speicherorten, von denen Software heruntergeladen werden kann. Diese Software ist im Allgemeinen vertrauenswürdig, funktioniert nachweislich und wird meist gut gepflegt. Ein solcher Speicherort wird als „Repository“ bezeichnet. Die URLs der Repositorys werden in gespeichert /etc/apt/sources.list. Beim Ausführen apt updatevon fragt der Paketmanager das Repository ab, um zu erfahren, welche Softwarepakete verfügbar sind. Er speichert die Informationen in einem lokalen Cache.

Wenn Sie ein Paket per installieren apt install, prüft der Paketmanager seinen lokalen Cache, um zu ermitteln, woher das Paket heruntergeladen werden soll. Anschließend lädt er das Paket herunter. Das Paket wird als Archiv im DEB-Format bereitgestellt. Das Archiv wird in Ihr lokales Dateisystem entpackt. Darüber hinaus kann das Paket Code enthalten, der einmalig automatisch ausgeführt wird, um die neu installierte Software einzurichten.

Beim Aktualisieren von Software per apt upgradeoder apt dist-upgradewerden neue Versionen vorhandener Pakete heruntergeladen. Die aktuelle Version wird vom System entfernt.Der Paketmanager weiß, welche Dateien entfernt werden müssen, da er weiß, welche Datei von welchem ​​Paket bereitgestellt wurde.Die Installation der neuen Version erfolgt anschließend wie oben beschrieben.

Installation per Paketmanager, benutzerdefinierte Repositories

Es ist auch möglich, die Standard-Repositorys zu erweitern, indem URLs zu hinzugefügt werden /etc/apt/sources.list, obwohl diese Tage /etc/apt/sources.list.d/verwendet werden sollten. Der Paketmanager betrachtet sie genauso wie die Standard-Repositorys. Installieren, Entfernen und Aktualisieren funktioniert genau gleich. Der Benutzer muss beim Hinzufügen benutzerdefinierter Repositorys vorsichtig sein – sie müssen für das System erstellt werden.
Nebenbemerkung: Aus persönlicher Erfahrung empfehle ich, alle aus nicht standardmäßigen Repositorys installierten Pakete zu entfernen, bevor Sie ein Upgrade von einer Ubuntu-Version auf die nächste durchführen.

Installation per Paketmanager, manueller Download

Sie können DEB-Dateien auch manuell herunterladen. Sie können das Paket über installieren dpkg -i. Der Paketmanager wird dieses Paket nie aktualisieren, da er nicht weiß, woher es stammt.

Installation per Snap

Snapcraft ist eine Alternative zum Paketmanager, die darauf ausgerichtet ist, nicht nur mit dem von Debian abgeleiteten Ubuntu, sondern mit allen Linux-Distributionen kompatibel zu sein. Ein Snap-Paket wird nicht in das System entpackt. Vielmehr wird es gemountet (sein Inhalt wird direkt sichtbar) und die Software wird in einer kontrollierten Umgebung innerhalb Ihres Systems ausgeführt (denken Sie an Sandboxing und virtuelle Maschinen). Beim Entfernen eines Snaps wird das Paket ausgehängt und entfernt. Updates erfolgen analog.

Vollständig manuelle Installation

Sie können auch eine Reihe von Dateien herunterladen und sie an geeigneten Stellen auf Ihrer Festplatte ablegen. Benutzerdefinierte Software wird häufig in /opt abgelegt. Binärdateien (oder Links dazu) werden in einem Verzeichnis in installiert $PATH. Auf diese Weise kann einfach auf die Software zugegriffen werden. Der Paketmanager weiß nichts über diese Software. Updates müssen ebenfalls manuell installiert werden (manchmal verfügt die Software jedoch über eine Selbstaktualisierungsfunktion). Benutzerdefinierte Software kann auch an Orten wie /usr/localoder sogar installiert werden /usr. Letzteres sollten Sie nur tun, wenn Sie wirklich wissen, was Sie tun. Benutzerdefinierte Software kann schrecklich mit vom Paketmanager gesteuerter Software kollidieren.

Ähnliche Fragen:
Ubuntu-Softwareupdates mit apt-get
Macht es einen Unterschied, ob ich Pakete über Apper oder das Software Center in Debian aktualisiere?

Antwort2

Ich würde vorschlagen, nur Software aus den Quellen zu installieren, die Ihr Distributor zur Verfügung stellt. Fügen Sie nur dann manuell Repositories hinzu oder installieren Sie Pakete oder andere Software manuell, wenn Sie genau wissen, was Sie tun. Was die Frage betrifft, was es sudo apt updatetut: Es holt die neuesten verfügbaren Pakete aus allen von Ihnen konfigurierten Repositories. Dasselbe gilt für Snaps oder Flatpacks. Sobald Sie sie aus einem zentralen Repository installiert haben, erhalten Sie Updates auf ähnliche Weise wie apt update.

Antwort3

apt updateaktualisiert die Liste der verfügbaren Pakete aus den in enthaltenen Repositorys /etc/apt/sources.listund allen in enthaltenen Dateien /etc/apt/sources.list.d/. Es ist wichtig, dies zuerst auszuführen, damit aptüber neuere Paketversionen informiert wird.

apt upgradeaktualisiert tatsächlich die installierten Pakete, für die neuere Versionen verfügbar sind, vorausgesetzt, dass sie über installiert wurden aptund dass die Repositories, aus denen sie stammen, sich an den oben genannten Speicherorten befinden.

Pakete von snapund flatpakwerden nicht von aktualisiert, aptda die Repositories unterschiedlich sind und sich nicht im aptCache/in der Datenbank von befinden.

Antwort4

apt updateüberprüft alle Ihre Softwarequellen, also die Repositories der Distribution und alle von Ihnen hinzugefügten PPAs. Soweit ich weiß, umfasst dies kein Flatpak (verwenden Sie flatpak updatees hierfür), kann aber Snap umfassen, wenn die Distribution es so installiert. Dinge, die Sie manuell installiert haben (heruntergeladene .deb- oder andere Installationsmethoden), werden natürlich nicht auf diese Weise überprüft.

Bedenken Sie jedoch, dass Ubuntu seine eigene Update-Richtlinie hat. Teile der Distribution werden bis zum Ende ihrer Lebensdauer aktualisiert (das „Main“-Repo), andere erhalten nur wenige oder gar keine Updates (das „Universe“-Repo und andere) (und die meisten per Snap installierten Pakete befinden sich nicht im „Main“).

verwandte Informationen