Dies ist ein einfaches Tutorial, das zeigt, wie man die Priorität eines bestimmten Pakets und/oder apt-Repositorys in Ubuntu, Debian, Linux Mint festlegt.
In Ubuntu installieren wir Softwarepakete aus verschiedenen Quellen, einschließlich Repositories des Ubuntu-Universums (unter Verwendung von Ubuntu-Software), Ubuntu-PPAs (z. B. LibreOffice, Kodi, GIMP und mehr), App-eigene apt-Repositories (z. und mehr).
Wir können sogar Apps von anderen Linux-Distributionen installieren. Beispielsweise ist es möglich, den IPTV-Player, den Web App Manager und den Chromium-Browser (im Deb-Format) von Linux Mint in Ubuntu zu installieren.
Warum Priorität setzen:
Die Installation aus gemischten Softwarequellen kann jedoch folgende Fragen aufwerfen:
- Sperre ein Paket in der angegebenen Version.
- Mehr als ein Repository hat dasselbe Paket, aber Sie möchten Paketaktualisierungen von einem bestimmten Repository installieren oder erhalten.
- Installieren Sie nur ein oder zwei Pakete aus dem Repository, aber lehnen Sie alle anderen ab.
Paketpriorität erstellen und festlegen:
Durch Hinzufügen einer Regeldatei im Verzeichnis /etc/apt/preferences.d/ und Festlegen einer Priorität werden die Probleme behoben.
Öffnen Sie einfach das Terminal vom System-App-Launcher und führen Sie den Befehl aus, um eine Konfigurationsdatei zu erstellen und zu bearbeiten (ersetzen Sie gedit für ein anderes System):
sudo gedit /etc/apt/preferences.d/99mint-repository
In diesem Fall habe ich ein 99mint-repository
erstellt Datei und folgende Zeilen hinzugefügt:
# Allow upgrading only webapp-manager from Ulyssa repository Package: webapp-manager Pin: release n=ulyana Pin-Priority: 500 # Also allow upgrading chromium (Added by another post). Package: chromium Pin: release n=ulyana Pin-Priority: 500 # Never prefer other packages from the Ulyssa repository Package: * Pin: release n=ulyana Pin-Priority: 1
Wie Sie sehen können, hat jeder Eintrag 3 Zeilen (ausgenommen die mit # am Anfang beginnende Beschreibungszeile) und durch eine Leerzeile getrennt.
Die drei Zeilen begannen mit Package:Am Anfang wurden die Pakete angegeben:„webapp-manager“, „chromium“ und „*“ (alles).
Über die Zeile „Pin:“:
Die zweite Zeile gibt die Pin-Definition an. Es kann Pin:Version 1.0.99* sein, das „*“ ist ein „Wildcard“, das heißt das Paket mit allen Versionen beginnend mit 1.0.99.
Sie können auch release oder origin für die angegebene Paketquelle verwenden. Zum Beispiel:
Pin: release o=LP-PPA-team-xbmc
Pin: release l=linuxmint
Pin: origin packages.linuxmint.com
Die Freigabeparameter sind:a (Archiv), c (Komponenten), v (Version), o (Ursprung) und l (Label).
Und Sie können die Werte für Release und Origin herausfinden, indem Sie den folgenden Befehl ausführen:
apt-cache policy |more
Über die Anzahl der Pin-Priorität:
Der Wert der dritten Zeile kann gesetzt werden auf:
- 1000 oder höher. Installieren Sie eine Version aus der Zielversion, auch wenn sie ein installiertes Paket durch eine höhere Version ersetzen (downgraden) würde.
- 990 bis 999. Installieren Sie eine Version, auch wenn sie nicht aus der Zielversion stammt, es sei denn, die installierte Version ist neuer.
- 500 bis 899. Installieren Sie eine Version, es sei denn, es ist eine Version verfügbar, die zur Zielversion gehört, oder die installierte Version ist neuer.
- 100 bis 499. Installieren Sie eine Version, es sei denn, es ist eine Version verfügbar, die zu einer anderen Distribution gehört, oder die installierte Version ist neuer.
- 1 bis 99. Installieren Sie eine Version nur, wenn es keine installierte Version des Pakets gibt.
- -1 oder niedriger. Verhindern, dass die Version installiert wird
Aktualisieren Sie nach dem Einrichten der Konfigurationsdatei den Systempaketcache über sudo apt update
Befehl und fertig.
Originalartikel