pinning Verständnisfragen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
mcb

pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 18:05:27

Hola,

ich bin gerade dabei mit apt pin einige Sonderwünsche umzusetzen:

1) Fremdrepros auf unter 100 <-> max 99 verhindert die automatische Installation, werden dadurch auch Aktuallisierungen unterbunden ?
2) Testing habe ich auch mal Eingebunden für Mediathekview

Code: Alles auswählen

apt policy mediathekview
mediathekview:
  Installed: 13.2.1-4
  Candidate: 13.2.1-4
  Version table:
 *** 13.2.1-4 598
         98 http://deb.debian.org/debian testing/main amd64 Packages
        100 /var/lib/dpkg/status
     13.2.1-3 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
root@mb:/home/marc# 
Testing auf 98, aber Mediathekview auf 598 -> also kommen Updates oder (nur) Mediathekview automatisch aus Testing ?

3) Wenn ein Programm auf keinen Fall upgedatet werden soll Pin auf > 1000; würde unter 100 oder 1 das Gleiche erreichen?

4) Bei vielen Paketen aus Testing fliegt einem dann z.B. die clib6 um die Ohren -> also lieber nicht ?

Wenn irgendwas nicht verständlich ist bitte Fragen.

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: pinning Verständnisfragen

Beitrag von Tintom » 09.11.2020 18:41:44

Schau mal hier: https://wiki.debianforum.de/AptPinning#Priorit.C3.A4ten
Zum Üben würde ich Pakete nehmen, die wenig bis keine Abhängigkeiten haben, z.B. Debianyoutube-dl oder irgendwelche Firmware-Pakete

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: pinning Verständnisfragen

Beitrag von Livingston » 09.11.2020 18:49:56

Zu 1: Die bereits installierten Pakete haben ein Pinning von 100, d.h. alles was Du auf <100 setzt, kannst Du nur manuell erreichen. Das gilt dann auch für Aktualisierungen.
Zu 2: Testing auf 98 heißt, es passiert beim Upgrade gar nix, außer Du stößt es mit der Option -t selbst an. Legst Du es auf genau 500, liegt Testing gleich auf mit stable. Da aber die Versionsangaben der Testing-Pakete höher liegen, erhalten sie Vorrang. Wenn Du Mediathekview auf 598 pinnst, bekommt es beim Update auf jeden Fall Vorrang und wird auch ggf. aktualisiert.
Zu 3: 1000+ bedeutet, dass alle anderen Regeln gnadenlos überwalzt werden. Würdest Du z.B. einem jessie-Repository ein Pinning von 1000 verpassen, käme es sogar zu einem Downgrade. Diese Option also nur mit absoluter Vorsicht nutzen, um bspw. eine kaputte Installation Stück für Stück wieder zu reparieren.
Zu 4: Mixen ist immer gefährlich, vor allem weil Testing immer noch in Bewegung sein kann. Ich würde generell immer nur einzelne Pakete aus Testing/Unstable/Fremdquellen pinnen, den Rest rigoros mit Pinnung -1 verbieten.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 18:54:36

Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:41:44
Schau mal hier: https://wiki.debianforum.de/AptPinning#Priorit.C3.A4ten
Zum Üben würde ich Pakete nehmen, die wenig bis keine Abhängigkeiten haben, z.B. Debianyoutube-dl oder irgendwelche Firmware-Pakete
Jo Danke! Mein Übungsprojekt war Mediathekview (keine neuen Abhänigkeiten).

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 19:05:25

Livingston hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:49:56
Zu 1: Die bereits installierten Pakete haben ein Pinning von 100, d.h. alles was Du auf <100 setzt, kannst Du nur manuell erreichen. Das gilt dann auch für Aktualisierungen.
Zu 2: Testing auf 98 heißt, es passiert beim Upgrade gar nix, außer Du stößt es mit der Option -t selbst an. Legst Du es auf genau 500, liegt Testing gleich auf mit stable. Da aber die Versionsangaben der Testing-Pakete höher liegen, erhalten sie Vorrang. Wenn Du Mediathekview auf 598 pinnst, bekommt es beim Update auf jeden Fall Vorrang und wird auch ggf. aktualisiert.
Zu 3: 1000+ bedeutet, dass alle anderen Regeln gnadenlos überwalzt werden. Würdest Du z.B. einem jessie-Repository ein Pinning von 1000 verpassen, käme es sogar zu einem Downgrade. Diese Option also nur mit absoluter Vorsicht nutzen, um bspw. eine kaputte Installation Stück für Stück wieder zu reparieren.
Zu 4: Mixen ist immer gefährlich, vor allem weil Testing immer noch in Bewegung sein kann. Ich würde generell immer nur einzelne Pakete aus Testing/Unstable/Fremdquellen pinnen, den Rest rigoros mit Pinnung -1 verbieten.
Ah ok:

1) ich installiere aus Testing Mediathekview -> dann steigt Pin von unter 100 auf 100 und Updates rauschen rein OK :hail:
2) ja also was ich möchte.
3) ja für ein zwei Programme ohne Abhängigkeiten (statt apt hold)
4) also statt Testing auf 98 auf -1 ??? Mit 98 holt apt auch keinerlei zusätzliche Pakete :facepalm: OK dann sind sie ganz gesperrt ? Idee Testing -1 Mediathekview auf 500 -> apt install Mediat... liefert die Version aus Testung ??? :THX:

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: pinning Verständnisfragen

Beitrag von Blackbox » 09.11.2020 19:06:04

mcb hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:54:36
Mein Übungsprojekt war Mediathekview (keine neuen Abhänigkeiten).
Aber https://mediathekviewweb.de kennst du?
Kannst du ganz ohne Abhängigkeiten (Pinning und Java) via Browser nutzen.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: pinning Verständnisfragen

Beitrag von Livingston » 09.11.2020 19:17:43

Ich denke, der Vorschlag von blackbox ist das Einfachste.
Wenn Du wirklich mediathekview aus testing nehmen willst, würde ich sowas in die preferences schreiben:

Code: Alles auswählen

Package: mediathekview
Pin: release n=testing
Pin-Priority: 600

Package: *
Pin: release n=testing
Pin-Priority: -1
Das sperrt testing im Allgemeinen bis auf mediathekview, was dann auf alle Fälle Vorrang erhält.
Sollten dann noch Abhängigkeiten aus testing fehlen, kannst Du die vorsichtig einzeln in den preferences nachtragen.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 19:35:47

Danke euch beiden. Aber Mediathekview habe ich ja schon auf die Reihe bekommen.

Code: Alles auswählen

mediathekview -> 13.2.1-4 with priority 598

Code: Alles auswählen

marc@mb:~$ cat /etc/apt/sources.list.d/debian-testing.list /etc/apt/preferences.d/mediathekview 
# testing
deb http://deb.debian.org/debian/ testing main contrib non-free
deb-src http://deb.debian.org/debian/ testing main contrib non-free

#deb http://deb.debian.org/debian/ testing-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

deb http://deb.debian.org/debian-security testing-security main
deb-src http://deb.debian.org/debian-security testing-security main
Package: mediathekview
Pin: release a=testing
Pin-Priority: 598

marc@mb:~$ 

Könnte ich zusätzlich erstmal auf 1001 setzen.

Edit beides gleichzeitig geht nicht :roll:

Code: Alles auswählen

root@mb:/home/marc# apt policy mediathekview; cat /etc/apt/preferences.d/mediathekview 
mediathekview:
  Installed: 13.2.1-4
  Candidate: 13.2.1-4
  Version table:
 *** 13.2.1-4 1001
         98 http://deb.debian.org/debian testing/main amd64 Packages
        100 /var/lib/dpkg/status
     13.2.1-3 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
#Package: mediathekview
#Pin: release a=testing
#Pin-Priority: 598

Package: mediathekview
Pin: version 13.2.1-4
Pin-Priority: 1001
root@mb:/home/marc# 

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: pinning Verständnisfragen

Beitrag von Tintom » 09.11.2020 19:51:55

mcb hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:54:36
Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:41:44
Schau mal hier: https://wiki.debianforum.de/AptPinning#Priorit.C3.A4ten
Zum Üben würde ich Pakete nehmen, die wenig bis keine Abhängigkeiten haben, z.B. Debianyoutube-dl oder irgendwelche Firmware-Pakete
Jo Danke! Mein Übungsprojekt war Mediathekview (keine neuen Abhänigkeiten).
Hab' ich knallhart überlesen, aber beim genaueren Nachdenken ergibt das jetzt Sinn :mrgreen:
mcb hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 19:35:47
Danke euch beiden. Aber Mediathekview habe ich ja schon auf die Reihe bekommen.

Code: Alles auswählen

mediathekview -> 13.2.1-4 with priority 598

Code: Alles auswählen

marc@mb:~$ cat /etc/apt/sources.list.d/debian-testing.list /etc/apt/preferences.d/mediathekview 
# testing
deb http://deb.debian.org/debian/ testing main contrib non-free
deb-src http://deb.debian.org/debian/ testing main contrib non-free

#deb http://deb.debian.org/debian/ testing-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

deb http://deb.debian.org/debian-security testing-security main
deb-src http://deb.debian.org/debian-security testing-security main
Package: mediathekview
Pin: release a=testing
Pin-Priority: 598

marc@mb:~$ 

Könnte ich zusätzlich erstmal auf 1001 setzen.
Das bedeutet dann folgendes:

Code: Alles auswählen

>= 1000 	veranlasst, dass eine Version installiert wird, auch wenn dies ein Downgrade des Pakets durchführt
In anderen Worten: Installiere immer die Version von testing. Da aber deine gesamte Sources.list aus testing besteht ist der Pin hier wirkungslos.

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 19:55:12

So rum geht es:

Code: Alles auswählen

mediathekview -> 13.2.1-4 with priority 1001
root@mb:/home/marc# apt policy mediathekview; cat /etc/apt/preferences.d/mediathekview 
mediathekview:
  Installed: 13.2.1-4
  Candidate: 13.2.1-4
  Version table:
 *** 13.2.1-4 1001
         98 http://deb.debian.org/debian testing/main amd64 Packages
        100 /var/lib/dpkg/status
     13.2.1-3 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
Package: mediathekview
Pin: version 13.2.1-4
Pin-Priority: 1001

Package: mediathekview
Pin: release a=testing
Pin-Priority: 598

root@mb:/home/marc# 

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 20:02:29

Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 19:51:55
mcb hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:54:36
Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 18:41:44
Schau mal hier: https://wiki.debianforum.de/AptPinning#Priorit.C3.A4ten
Zum Üben würde ich Pakete nehmen, die wenig bis keine Abhängigkeiten haben, z.B. Debianyoutube-dl oder irgendwelche Firmware-Pakete
Jo Danke! Mein Übungsprojekt war Mediathekview (keine neuen Abhänigkeiten).
Hab' ich knallhart überlesen, aber beim genaueren Nachdenken ergibt das jetzt Sinn :mrgreen:
mcb hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 19:35:47
Danke euch beiden. Aber Mediathekview habe ich ja schon auf die Reihe bekommen.

Code: Alles auswählen

mediathekview -> 13.2.1-4 with priority 598

Code: Alles auswählen

marc@mb:~$ cat /etc/apt/sources.list.d/debian-testing.list /etc/apt/preferences.d/mediathekview 
# testing
deb http://deb.debian.org/debian/ testing main contrib non-free
deb-src http://deb.debian.org/debian/ testing main contrib non-free

#deb http://deb.debian.org/debian/ testing-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

deb http://deb.debian.org/debian-security testing-security main
deb-src http://deb.debian.org/debian-security testing-security main
Package: mediathekview
Pin: release a=testing
Pin-Priority: 598

marc@mb:~$ 

Könnte ich zusätzlich erstmal auf 1001 setzen.
Das bedeutet dann folgendes:

Code: Alles auswählen

>= 1000 	veranlasst, dass eine Version installiert wird, auch wenn dies ein Downgrade des Pakets durchführt
In anderen Worten: Installiere immer die Version von testing. Da aber deine gesamte Sources.list aus testing besteht ist der Pin hier wirkungslos.
Nö ich bin auf Buster :mrgreen:

Code: Alles auswählen

cat /etc/apt/sources.list
# 

# deb cdrom:[Debian GNU/Linux 10.5.0 _Buster_ - Unofficial amd64 NETINST with firmware 20200801-11:34]/ buster contrib main non-free

#deb cdrom:[Debian GNU/Linux 10.5.0 _Buster_ - Unofficial amd64 NETINST with firmware 20200801-11:34]/ buster contrib main non-free

deb http://deb.debian.org/debian/ buster main non-free contrib
deb-src http://deb.debian.org/debian/ buster main non-free contrib

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

# buster backports
deb http://ftp.debian.org/debian buster-backports main contrib non-free
deb-src http://ftp.debian.org/debian buster-backports main contrib non-free

# proposed
deb http://ftp.nl.debian.org/debian  buster-proposed-updates contrib main non-free
deb-src http://ftp.nl.debian.org/debian buster-proposed-updates contrib main non-free

# https://fasttrack.debian.net/
#deb https://fasttrack.debian.net/debian/ buster-fasttrack main contrib
#deb https://fasttrack.debian.net/debian/ buster-backports main contrib

# testing
#deb http://deb.debian.org/debian/ testing main contrib non-free
#deb-src http://deb.debian.org/debian/ testing main contrib non-free

#deb http://deb.debian.org/debian/ testing-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ testing-updates main contrib non-free

# unstable
#deb http://deb.debian.org/debian/ unstable main contrib non-free
#deb-src http://deb.debian.org/debian/ unstable main contrib non-free

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
marc@mb:~$ 

Code: Alles auswählen

ls /etc/apt/sources.list.d -l
total 24
-rw-r--r-- 1 root root  47 Oct 27 10:58 debian-sid.list.bak
-rw-r--r-- 1 root root 426 Nov  9 12:18 debian-testing.list
-rw-r--r-- 1 root root 426 Nov  5 13:58 debian-testing.list.bak
-rw-r--r-- 1 root root  88 Jul 18  2019 microsoft-prod.list.bak
-rw-r--r-- 1 root root  56 Nov  9 15:22 whonix.buster.list
-rw-r--r-- 1 root root  56 Nov  9 13:08 whonix.buster.list.bak
marc@mb:~$ 
Habe Testing und Co in eigene Dateien gepackt. Vor dem Pinning habe ich die Quellen immer wieder auskommentiert (Fremdquellen, Testing, Sid .......... ) Auf dauer zu nervig, aber ich lerne noch.

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 09.11.2020 21:35:06

https://wiki.debianforum.de/AptPinning#Priorit.C3.A4ten

"990 <= P < 1000 veranlasst, dass eine Version installiert wird, auch wenn diese nicht vom Ziel-Release kommt, außer wenn die installierte Version aktueller ist"

Wofür steht den um Gotteswillen "Ziel-Release". Habe gerade gelernt das Pakete die nicht in Buster, aber in Testing vorhanden sind ohne apt -t testing installierbar sind.

Gut also habe ich die drei Fälle noch nicht geblickt:

Code: Alles auswählen

990 <= P < 1000
500 <= P < 990
100 <= P < 500

willy4711

Re: pinning Verständnisfragen

Beitrag von willy4711 » 09.11.2020 23:19:34

Um diesen Irrsinn mit dem Pinning aus dem Weg zu gehen:

Es gibt übrigens auch eine Portable Version die in dem Archiv MediathekView-latest-linux.tar.gz zur Verfügung steht.
Außerdem gibt es noch ein App-Image.

Klimmzüge also nicht nötig.

Ich brauche kein Pinnig.
Bei mir laufen alle Repos und auch diverse Fremd Repos mit 500 und gut ist.
Selbst deb.multimedia. :!: :mrgreen:

Und das geht seit Jahren gut, selbst über den Release- Wechsel schon zwei mal.

Vorher überprüfe ich, ob eventuell kritische Abhängigkeiten zu meinen Standard- Repos bestehen.
Wenn ja, wird es nicht eingebunden, und nach Alternativen gesucht

Da man sich die Updates eh per Hand holen muss, muss man also sowieso erst mal in das Repo sehen, ob es was neues gibt.
Das ist bei mir z.Z. bloss bei Virtualbox der Fall.
Da musste ich bei SID wildern gehen, wegen der Abhängigkeit zu diversen Python - Paketen.

Aber deshalb binde ich nicht das Repo ein.

Ich hole mir die benötigten Pakete und installiere sie mit dpkg----> gut ist.

Ich finde Pinning ist eine obsolete Spielerei.

@mcb
Wenn du wirklich aus den diversen Repos (Testing / Unstable)bei dir was installiert hast:
Beim nächsten Release Upgrade wird das ziemlich graue Haare geben :roll:
PIN-->PLÄNG---->PENG 8O

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: pinning Verständnisfragen

Beitrag von Tintom » 09.11.2020 23:53:20

Vielleicht wird's an 'nem Beispiel klarer.
Testing, backports und stable in einer sources.list:
Ich will Debianyoutube-dl updaten. Ausgangslage:

# apt-cache policy youtube-dl
youtube-dl:
Installed: 2020.06.16.1-1
Candidate: 2020.09.20-1
Version table:
2020.09.20-1 500
500 http://deb.debian.org/debian testing/main amd64 Packages
500 http://deb.debian.org/debian testing/main i386 Packages
2020.09.20-1~bpo10+1 100
100 http://ftp.debian.org/debian buster-backports/main amd64 Packages
100 http://ftp.debian.org/debian buster-backports/main i386 Packages
*** 2020.06.16.1-1 100
100 /var/lib/dpkg/status
2019.01.17-1.1 500
500 http://deb.debian.org/debian buster/main amd64 Packages
500 http://deb.debian.org/debian buster/main i386 Packages


Die Prioritäten (stark vereinfacht - die Variante 0 < P < 100 habe ich weggelassen, da mMn keine praktische Relevanz)
  • <0
  • 100
  • 500
  • 990
  • >1000
Je höher die Zahl, desto mehr wird ein Paket bevorzugt. Den ersten und letzten Fall hast du verstanden, deswegen geht's mit Fall zwei los.
Das lokal installierte Paket ist veraltet und soll ein update bekommen. Mit vorhandener sources.list (ohne preferences) haben buster und testing die gleiche Priorität (500), lokal installierte Pakete und backports bekommen die Prio 100 zugewiesen. Bei gleicher Priorität wird das Paket mit der höheren Versionnummer bevorzugt, hier also aus testing:
apt-get -s install youtube-dl
<...>
Inst youtube-dl [2020.06.16.1-1] (2020.09.20-1 Debian:testing [all])
Conf youtube-dl (2020.09.20-1 Debian:testing [all])

Nach der Installation bekommt das Paket aus testing die Prio 100.
Möchte ich in diesem Beispiel die backports-Version installieren, kann ich entweder mit Pins arbeiten oder mit dem Schalter -t:
man apt-get hat geschrieben:-t, --target-release, --default-release
This option controls the default input to the policy engine; it creates a default pin at priority 990 using the specified
release string. This overrides the general settings in /etc/apt/preferences. Specifically pinned packages are not affected by
the value of this option.
Die Variable --target-release (Zielrelease) ist per default leer und wird mit dem Schalter -t explizit gesetzt.
Gesagt, getan:
# apt-get -t buster-backports -s install youtube-dl
<...>
Inst youtube-dl [2020.06.16.1-1] (2020.09.20-1~bpo10+1 Debian Backports:buster-backports [all])
Conf youtube-dl (2020.09.20-1~bpo10+1 Debian Backports:buster-backports [all])


Kleiner Exkurs: Schalter -t funktioniert nicht:
# cat <<EOF > /etc/apt/preferences.d/youtube_dl.pref
Package: youtube-dl
Pin: release a=testing
Pin-Priority: 991
EOF


# apt-get -t buster-backports -s install youtube-dl
<...>
1 upgraded, 0 newly installed, 0 to remove and 1668 not upgraded.
Inst youtube-dl [2020.06.16.1-1] (2020.09.20-1 Debian:testing [all])
Conf youtube-dl (2020.09.20-1 Debian:testing [all])


Das Beispiel oben zeigt auch, warum viele ihr System mit Paketen aus den Backports "verseuchen": Normalerweise sind backports in einer sources.list harmlos. Weil aber in 90% aller Tutorials der Schalter -t verwendet wird, holen sich die Leute Pakete samt ihrer Abhängigeiten aus den Backports/debian-multimedia o.ä. (welche meist nicht kompatibel mit Paketen aus stable sind) und wundern sich, warum später das System quersteht.

tobo
Beiträge: 2400
Registriert: 10.12.2008 10:51:41

Re: pinning Verständnisfragen

Beitrag von tobo » 10.11.2020 00:23:06

Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 23:53:20
Normalerweise sind backports in einer sources.list harmlos. Weil aber in 90% aller Tutorials der Schalter -t verwendet wird, holen sich die Leute Pakete samt ihrer Abhängigeiten aus den Backports (welche meist nicht kompatibel mit Paketen aus stable sind)
Natürlich sind die kompatibel, denn genau dafür wurden diese Pakete ja gebaut! Wenn aber man möglichst viele Abhängigkeitspakete vom Target-Relase erhalten will, dann installiert man halt mittels apt-get install PAKET/TRelease-backports. Allerdings werden dadurch dann erst Halbkompatiblitäten unterstützt.
und wundern sich, warum später das System quersteht.
Ich halte es für um Größenordnungen durchschaubarer mit -t-Schalter zu installieren, als da irgendwelches Pinning zu veranstalten.

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: pinning Verständnisfragen

Beitrag von Tintom » 10.11.2020 05:49:10

tobo hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 00:23:06
Natürlich sind die kompatibel, denn genau dafür wurden diese Pakete ja gebaut!
Deine Antwort kam zu schnell. Ich hatte speziell deb-multimedia im Kopf als ich das geschrieben habe und habe meinen Post erst im Nachhinein editiert. :?

willy4711

Re: pinning Verständnisfragen

Beitrag von willy4711 » 10.11.2020 07:39:03

Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 05:49:10
Deine Antwort kam zu schnell. Ich hatte speziell deb-multimedia im Kopf als ich das geschrieben habe und habe meinen Post erst im Nachhinein editiert.
Zumindest meinen jahrelange Erfahrung mit deb.multimedia spricht gegen das Pinning dieses Repos.
Ich habe den Release Wechsel (Testing) von Stretch--->Buster--->Bullseye mir ganz normaler Priorität von 500
wie die anderen Repos ohne weiteres "überstanden".
Ich bin mir ziemlich sicher, das das mit Pinning nicht funktioniert hätte, wie man hier ja schon diverse Male gelesen hat.
Das einzige, was manchmal passiert:
Ab und zu werden Pakete von aptitude während des Upgrades zurückgehalten, bis alle Abhängigkeiten eingetrudelt sind.
Kann mal ein paar Tage dauern. Das ist aber auch alles.

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: pinning Verständnisfragen

Beitrag von Tintom » 10.11.2020 10:45:37

willy4711 hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 07:39:03
Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 05:49:10
Deine Antwort kam zu schnell. Ich hatte speziell deb-multimedia im Kopf als ich das geschrieben habe und habe meinen Post erst im Nachhinein editiert.
Zumindest meinen jahrelange Erfahrung mit deb.multimedia spricht gegen das Pinning dieses Repos.
Das ist interessant, ich habe damals exakt die gegenteilige Erfahrung gemacht. Ständig gab es Probleme, besonders die Bibliothek libavcodec ist mir in Erinnerung. Weil praktisch alle Abspielprogramme die als Abhängigkeit haben, musste ich alle entsprechenden Programme durch Versionen von deb-multimedia austauschen. Das wollte ich aber eigentlich gar nicht. Deswegen ist deb-multimedia dann nach einer Zeit wieder bei mir rausgeflogen.

willy4711

Re: pinning Verständnisfragen

Beitrag von willy4711 » 10.11.2020 11:19:35

Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 10:45:37
Ständig gab es Probleme, besonders die Bibliothek libavcodec ist mir in Erinnerung. Weil praktisch alle Abspielprogramme die als Abhängigkeit haben, musste ich alle entsprechenden Programme durch Versionen von deb-multimedia austauschen.
Das stimmt wohl, ist mir aber egal. Wenn man es so laufen lässt, funktioniert das ganz hervorragend. Ansonsten gibt
es Probleme. Oder kann Probleme geben. :roll:
Egal ist es mir deshalb, weil ich deb.multimedia nicht als "feindliches" Repo ansehe, was mir irgendwas nicht gewolltes
(außer dmo in der Versionierung) unter jubelt.
So kommt halt Multimedia fast ausschliesslich von deb.multimedia (132 Pakete) . Mich stört das nicht.

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 10.11.2020 11:36:30

Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 10:45:37
willy4711 hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 07:39:03
Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 05:49:10
Deine Antwort kam zu schnell. Ich hatte speziell deb-multimedia im Kopf als ich das geschrieben habe und habe meinen Post erst im Nachhinein editiert.
Zumindest meinen jahrelange Erfahrung mit deb.multimedia spricht gegen das Pinning dieses Repos.
Das ist interessant, ich habe damals exakt die gegenteilige Erfahrung gemacht. Ständig gab es Probleme, besonders die Bibliothek libavcodec ist mir in Erinnerung. Weil praktisch alle Abspielprogramme die als Abhängigkeit haben, musste ich alle entsprechenden Programme durch Versionen von deb-multimedia austauschen. Das wollte ich aber eigentlich gar nicht. Deswegen ist deb-multimedia dann nach einer Zeit wieder bei mir rausgeflogen.
Danke für das Beispiel mit dem Youtube-dl - ich habe das mal mit Mediathekview nachgespielt -> funktioniert und ich habe es verstanden! :hail: :hail: :hail:

M. ohne Pin -> kommt über Stable
M. im Testing über 500 -> kommt aus Testing
M. (installierte Version) auf 1001 es kommen keine Updates (in Zukunft)

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 10.11.2020 11:40:02

willy4711 hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 11:19:35
Tintom hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 10:45:37
Ständig gab es Probleme, besonders die Bibliothek libavcodec ist mir in Erinnerung. Weil praktisch alle Abspielprogramme die als Abhängigkeit haben, musste ich alle entsprechenden Programme durch Versionen von deb-multimedia austauschen.
Das stimmt wohl, ist mir aber egal. Wenn man es so laufen lässt, funktioniert das ganz hervorragend. Ansonsten gibt
es Probleme. Oder kann Probleme geben. :roll:
Egal ist es mir deshalb, weil ich deb.multimedia nicht als "feindliches" Repo ansehe, was mir irgendwas nicht gewolltes
(außer dmo in der Versionierung) unter jubelt.
So kommt halt Multimedia fast ausschliesslich von deb.multimedia (132 Pakete) . Mich stört das nicht.
Ja ein feindliches Repro sollte man nicht einbinden oder ? :mrgreen:

Pinning, Fremdrepros und Mischen kann knallen, muß aber nicht - so wie ich das verstehe.

willy4711

Re: pinning Verständnisfragen

Beitrag von willy4711 » 10.11.2020 11:41:34

Pinning, Fremdrepros und Mischen kann knallen, muß aber nicht - so wie ich das verstehe.
Richtig - aus meiner Sicht :THX:
Zu youtube-dl: :mrgreen:

Code: Alles auswählen

~$ apt policy youtube-dl
youtube-dl:
  Installiert:           2020.11.01.1-dmo1
  Installationskandidat: 2020.11.01.1-dmo1
  Versionstabelle:
 *** 2020.11.01.1-dmo1 500
        500 https://www.deb-multimedia.org testing/main amd64 Packages
        100 /var/lib/dpkg/status
     2020.09.20-1 500
        500 http://deb.debian.org/debian bullseye/main amd64 Packages
Zuletzt geändert von willy4711 am 10.11.2020 11:46:05, insgesamt 1-mal geändert.

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 10.11.2020 11:45:29

tobo hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 00:23:06
Tintom hat geschrieben: ↑ zum Beitrag ↑
09.11.2020 23:53:20
Normalerweise sind backports in einer sources.list harmlos. Weil aber in 90% aller Tutorials der Schalter -t verwendet wird, holen sich die Leute Pakete samt ihrer Abhängigeiten aus den Backports (welche meist nicht kompatibel mit Paketen aus stable sind)
Natürlich sind die kompatibel, denn genau dafür wurden diese Pakete ja gebaut! Wenn aber man möglichst viele Abhängigkeitspakete vom Target-Relase erhalten will, dann installiert man halt mittels apt-get install PAKET/TRelease-backports. Allerdings werden dadurch dann erst Halbkompatiblitäten unterstützt.
und wundern sich, warum später das System quersteht.
Ich halte es für um Größenordnungen durchschaubarer mit -t-Schalter zu installieren, als da irgendwelches Pinning zu veranstalten.
Wohl wahr!

mcb

Re: pinning Verständnisfragen

Beitrag von mcb » 10.11.2020 15:30:44

So habe mal youtube-dl probiert:

testing auf unter 100:

Code: Alles auswählen

apt install -s youtube-dl
NOTE: This is only a simulation!
      ...................
The following additional packages will be installed:
  libqt5positioning5 libqt5qml5 libqt5quick5 libqt5sensors5 libqt5webchannel5
  libqt5webkit5 mpv phantomjs python3-pyxattr rtmpdump
Suggested packages:
  qt5-qmltooling-plugins python3-pyxattr-dbg python-pyxattr-doc
The following NEW packages will be installed:
  libqt5positioning5 libqt5qml5 libqt5quick5 libqt5sensors5 libqt5webchannel5
  libqt5webkit5 mpv phantomjs python3-pyxattr rtmpdump youtube-dl
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.

Code: Alles auswählen

apt -t buster-backports install -s youtube-dl
NOTE: This is only a simulation!
      ..............
The following additional packages will be installed:
  mpv python3-pyxattr rtmpdump
Suggested packages:
  python3-pyxattr-dbg python-pyxattr-doc libfribidi-bin | bidiv phantomjs
The following NEW packages will be installed:
  mpv python3-pyxattr rtmpdump youtube-dl
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Inst mpv (0.29.1-1 Debian:10.6/stable [amd64])
Inst python3-pyxattr (0.6.1-1 Debian:10.6/stable [amd64])
Inst rtmpdump (2.4+20151223.gitfa8646d.1-2 Debian:10.6/stable [amd64])
Inst youtube-dl (2020.09.20-1~bpo10+1 Debian Backports:buster-backports [all])
Conf mpv (0.29.1-1 Debian:10.6/stable [amd64])
Conf python3-pyxattr (0.6.1-1 Debian:10.6/stable [amd64])
Conf rtmpdump (2.4+20151223.gitfa8646d.1-2 Debian:10.6/stable [amd64])
Conf youtube-dl (2020.09.20-1~bpo10+1 Debian Backports:buster-backports [all])
marc@mb:~$ 

Bei Testing würde es knallen:

Code: Alles auswählen

apt -t testing install -s youtube-dl
.................
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gsettings-desktop-schemas : Breaks: mutter (< 3.31.4) but 3.30.2-9~deb10u1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Also nicht gesund.

------------------------------------------------------------------------------------------------------------------------

Testing auf 100 apt upgrade würde alle Pakete aus den Backports aktuallisieren ( ca. 200)

Testing auf 500 apt upgrade würde alle Packete auf dem System aktuallisieren (> 1000)

OK wieder ein wenig gelernt. :hail: :hail: :hail:

willy4711

Re: pinning Verständnisfragen

Beitrag von willy4711 » 10.11.2020 16:31:11

mcb hat geschrieben: ↑ zum Beitrag ↑
10.11.2020 15:30:44
Testing auf 100 apt upgrade würde alle Pakete aus den Backports aktuallisieren ( ca. 200)
Mit welcher Priorität hast du denn dann die Backport gepinnt ?
Die sind doch normalerweise auch auf 100. Da wird nichts aus den Backports automatisch geupdatet / installiert.
Deine Hauptrepos sind doch (normalerweise) auf 500 :?: :?:

Beispiel aus einer VM:

Code: Alles auswählen

$ uname -a
Linux debian 5.8.0-0.bpo.2-amd64 #1 SMP Debian 5.8.10-1~bpo10+1 (2020-09-26) x86_64 GNU/Linux
Update:

Code: Alles auswählen

# apt update && apt full-upgrade
OK:1 http://security.debian.org buster/updates InRelease
OK:2 http://deb.debian.org/debian buster InRelease                             
OK:3 http://deb.debian.org/debian buster-updates InRelease                     
OK:4 http://deb.debian.org/debian buster-proposed-updates InRelease
OK:5 http://ftp.debian.org/debian buster-backports InRelease
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Aktualisierung für 4 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen.
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden Pakete werden aktualisiert (Upgrade):
  libexif12 libldap-2.4-2 libldap-common libraptor2-0
4 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 807 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 1.024 B Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] 
Pinning (automatisch beim Zufügen der Backports):

Code: Alles auswählen

 apt policy
Paketdateien:
 100 /var/lib/dpkg/status
     release a=now
 500 http://deb.debian.org/debian buster-proposed-updates/main amd64 Packages
     release v=10-updates,o=Debian,a=proposed-updates,n=buster-proposed-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 100 http://ftp.debian.org/debian buster-backports/main amd64 Packages
     release o=Debian Backports,a=buster-backports,n=buster-backports,l=Debian Backports,c=main,b=amd64
     origin ftp.debian.org
 500 http://security.debian.org buster/updates/main amd64 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://deb.debian.org/debian buster-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster/main amd64 Packages
     release v=10.6,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin deb.debian.org
Mit Pinning verwaltete Pakete:

Antworten