Benutzer-Werkzeuge

Webseiten-Werkzeuge


user:sprobst:blog:debian_-_apt_pinning

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

user:sprobst:blog:debian_-_apt_pinning [2024/03/07 07:33] (aktuell)
SProbst angelegt
Zeile 1: Zeile 1:
 +====== 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 ((https://​wiki.debian.org/​AptConfiguration)) zu finden. ​
 +
 +==== Was ist apt ====
 +''​apt''​ oder auch ''​apt-get''​ ist die Paketverwaltung unter Debian basierte Linux Distribution ((Wie Linux Mint der Ubuntu zum Beispiel.))
 +
 +==== 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. ​
 +
 +<note info>​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. </​note>​
 +
 +==== 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. ​
 +
 +<code bash| 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
 +</​code>​
 +
 +  * 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. ​
 +{{tag>​Debian Linux apt pinning}}
 +
 +
 +
  
user/sprobst/blog/debian_-_apt_pinning.txt · Zuletzt geändert: 2024/03/07 07:33 von SProbst