
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
, aptitude
oder 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 update
von 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 upgrade
oder apt dist-upgrade
werden 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/local
oder 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 update
tut: 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 update
aktualisiert die Liste der verfügbaren Pakete aus den in enthaltenen Repositorys /etc/apt/sources.list
und allen in enthaltenen Dateien /etc/apt/sources.list.d/
. Es ist wichtig, dies zuerst auszuführen, damit apt
über neuere Paketversionen informiert wird.
apt upgrade
aktualisiert tatsächlich die installierten Pakete, für die neuere Versionen verfügbar sind, vorausgesetzt, dass sie über installiert wurden apt
und dass die Repositories, aus denen sie stammen, sich an den oben genannten Speicherorten befinden.
Pakete von snap
und flatpak
werden nicht von aktualisiert, apt
da die Repositories unterschiedlich sind und sich nicht im apt
Cache/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 update
es 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“).