Gleiches Paket - Mehrere Repos

11

Aus welchem ​​Repository wählt Ubuntu ein Paket aus, wenn dasselbe Paket in mehr als einem Repos verfügbar ist? Angenommen, ein Paket A wurde ursprünglich aus dem Repository X installiert, und später habe ich Repo Y hinzugefügt, das auch Paket A enthält. Welches Repo wird ausgewählt, um das Paket zu aktualisieren? Auch wenn ich dieses Paket vollständig entferne und versuche, es neu zu installieren, welches Repo würde Ubuntu dann bevorzugen, um das Paket zu installieren?

7_R3X
quelle

Antworten:

12

Standardmäßig wird das Paket mit der höchsten Versionsnummer installiert, unabhängig davon, aus welchem ​​Repository es stammt, es sei denn, die Versionsnummer ist niedriger als die aktuell installierte Version des Pakets (dies kann beispielsweise passieren, wenn Sie eine höhere Version als heruntergeladen haben ein .debPaket und manuell installiert). In dem sehr unwahrscheinlichen Fall, dass mehrere Repositorys dieselbe (höchste) Version eines Pakets haben, wird das Paket von der Version installiert, die zuerst in der sources.listDatei angezeigt wird .

Sie können dies jedoch ändern, indem Sie einigen Paketen basierend auf verschiedenen Kriterien eine andere Priorität zuweisen . Der vorherige Absatz gilt für die Standardeinstellungen, da standardmäßig alle Pakete die Priorität 500 haben. Wenn jedoch verschiedene Versionen des Pakets unterschiedliche Prioritäten haben, wird die Version mit der höchsten Priorität installiert und die Versionsnummern werden nur als Verbindung verwendet. Unterbrecher, wenn mehrere Versionen dieselbe (höchste) Priorität haben. Wenn das Paket mit der höchsten Priorität eine Priorität von mindestens 1000 hat, wird es auch dann installiert, wenn seine Version niedriger als die aktuell installierte Version ist.

Prioritäten werden in verwaltet /etc/apt/preferencesund dokumentiert in man apt_preferences. In meiner Antwort hier finden Sie ein Beispiel, wie sie verwendet werden können.

fkraiem
quelle
Beachten Sie, dass in der Dokumentation angegeben ist, dass den Versionen, die zur Zielversion gehören, eine Priorität von 990 zugewiesen wird. Also nicht 500, wie Sie hier sagen ( da standardmäßig alle Pakete die Priorität 500 haben ). Es ist nur 500, wenn es nicht das richtige Ziel ist.
Alexis Wilke
@AlexisWilke Standardmäßig gibt es keine Zielversion.
fkraiem