Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Inhalt




Homepage LUG WR

Impressum

user:sprobst:blog:debian_-_apt_pinning

Debian - apt pinning

In diesem kleinen Beitrag arbeite ich das LUG Thema vom 06.03.2024 auf. Wir hatten dort das Thema Pinning von deb Paketen unter Debian. Eine weiterführende Dokumentation ist auch direkt auf der Debian Seite 1) zu finden.

Was ist apt

apt oder auch apt-get ist die Paketverwaltung unter Debian basierte Linux Distribution 2)

Was ist das Ziel?

Mit apt pinning möchte man in der Paketverwaltung bestimmte Programme bei der Installation priorisieren.
Beispiel:
Du möchtest als Standarddistribution Debian 12 bookworm verwenden, aber bestimmt Pakete aus einer anderen Version von Debian (oder einer anderen Distribution) dazu installieren.

Wichtig: Wenn du Pakete aus anderen Distributionen oder Versionen mischst, kann es zu ungewollten Seiteneffekte kommen. Daher gebe ich auf die Anleitung keine Funktionsgarantie und jeder führt diese auf eigenes Risiko durch.

Wie gehe ich vor?

  • Erstelle unter /etc/apt/source.list.d eine .list mit dem entsprechenden Repo, was du verwenden willst. → Als Vorlage kann die /etc/apt/source.list dienen. → Kopiere diese in den Ordner /etc/apt/source.list.d/ und bennen diese vorzugsweise um. Beispiel: cp /etc/apt/source.list /etc/apt/source.list.d/foo.list → Ändere die Einträge in der Datei mit einem Editor deiner Wahl auf das passende Repo ab.
  • Lege unter /etc/apt/preferences.d/ eine Datei an, in der du das Pinning konfigurierst. → Ich gebe der Datei immer voran gestellt eine Nummer und dann, was diese enthalten soll. → Beispiel: 99-debian
  • Öffne die Datei mit dem Editor Deiner Wahl und ändere die Einträge wie folgt.
99-debian
Package: *
Pin: release a=unstable
Pin-Priority: 500 
 
Package: * 
Pin: release a=stable
Pin-Priority: 900 
 
Package: firefox*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: keepass*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: flameshot*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: filius*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: remmina*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: libreoffi*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: podman*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: docker*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: distrobox*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: remmina*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: qflipper*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: mfcuk
Pin: release a=unstable
Pin-Priority: 1000
 
Package: mfoc
Pin: release a=unstable
Pin-Priority: 1000
 
Package: fritzing*
Pin: release a=unstable
Pin-Priority: 1000
 
Package: arduino*
Pin: release a=unstable
Pin-Priority: 1000
  • Die ersten dreier Block setzen die Priorität für sid/unstable auf den Wert 500. Das bedeutet, dass die Pakete aus diesem Repo installiert werden, wenn Sie benötigt werden.
  • Der zweite dreier Block setzte stable auf die Priorität 900. Dadurch liegt die Priorität für stable höher als 500 von unstable und dem Paket aus dem stabilen Zweck vorrangig installiert, wenn die dort Pakete mit einer niedrigeren Versionsnummer vorhanden sind.
  • Die nachfolgenden Blöcke priorisieren die Pakete aus unstable mit einer 1000. Die Priorität 1000 sagt, dass die Pakete explizit aus unstable installiert werden sollen und die nötigen Abhängigkeiten zwingend nach gezogen werden sollen. Dabei prüft apt ob er Abhängigkeiten aus dem stable und unstable Zweig der Repositorys auflösen kann.

Schlusswort

Wenn jemand einen Fehler findet, bitte sendet mir diesen zu. Ich korrigiere dann den Eintrag. Falls ich noch auf etwas eingehen soll, dann bitte auch eine Info. Ansonsten findet man sehr gute Anleitungen im Netz dazu, Ich hoffe ich konnte etwas Licht ins Dunkel bringen.

2)
Wie Linux Mint der Ubuntu zum Beispiel.
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
user/sprobst/blog/debian_-_apt_pinning.txt · Zuletzt geändert: 2024/03/07 07:33 von SProbst