Puncte:3

Diferența dintre `Pin: release v` și `Pin: version` din fișierul de preferințe apt

drapel cn

Se pare că nu găsesc nimic legat de diferența dintre Pin: versiunea 5.8 și Pin: eliberare v=5.8 în documentația pentru fișierul de preferințe apt.

Ei fac același lucru sau au diferențe?

De asemenea, există o apariție similară între Pin: origine „origine” și Pin: eliberare o=origine.

Terrance avatar
drapel id
Consultați `man apt_preferences` și https://help.ubuntu.com/community/PinningHowto
dylanmorroll avatar
drapel cn
M-am uitat în asta, dar nu pare să răspundă la întrebările pe care le pun decât dacă am omis ceva
Terrance avatar
drapel id
În `man apt_preferences` din jurul liniei 335+ există o mulțime de răspunsuri pe care le întrebați.
Someone avatar
drapel my
Întrebarea dvs. este mult prea largă... Vă rugăm să editați pentru a o limita la o singură întrebare
dylanmorroll avatar
drapel cn
Am editat intrebarea.
dylanmorroll avatar
drapel cn
@Terrance Văd că se vorbește despre specificarea unei versiuni prin `Pin: release v=`, dar nu văd nicio mențiune pe `Pin: version`?
Terrance avatar
drapel id
De obicei, ceea ce este în `fișierul man` este ceea ce este acceptat în setări, etc. `Pin: versiune` s-ar putea să nu mai fie acceptat.
N0rbert avatar
drapel zw
`Pin: versiune` este încă acceptat. Tocmai testat pe 21.10. Verificați, de asemenea, https://wiki.debian.org/AptConfiguration?action=show&redirect=AptPreferences#apt_preferences_.28APT_pinning.29 .
Puncte:3
drapel cn

După mai multe săpături, mi-am dat seama.

TL;DR

Pin: eliberați X=Y filtrează împotriva câmpurilor din fișierul Release folosind notația scurtă. În fișierul de lansare, versiunea ar trebui să fie versiunea eliberare. de ex.) pentru Debian bullseye ai putea avea Pin: eliberați v=11, sau pentru Ubuntu Jammy ai putea avea Pin: eliberare v=22.04. Originea trebuie să fie numele autorului sau vânzătorului. de exemplu.) Pin: lansare o=LP-PPA-mozillateam.

Pin: versiunea X filtrează împotriva versiunii pachetului. de exemplu.) Pin: versiunea 1:91.

Pin: originea X filtrează împotriva numelui de gazdă. de exemplu.) Pin: origine ppa.launchpad.net.

Eliberare fișier

În Determinarea versiunii pachetului și a proprietăților de distribuție sectiune de man apt_preferences găsim asta.

Locațiile listate în fișierul sources.list(5) ar trebui să furnizeze fișiere Pachete și Lansare pentru a descrie pachetele disponibile în acea locație.

Deci fiecare locație (care are o origine) are un fișier de eliberare pentru fiecare versiune disponibilă.În acel link, vedem că fișierul de lansare este găzduit la dists/$DIST/InRelease.

Pe aparatul meu local avem

politica $ apt-cache
 500 Pachete http://ppa.launchpad.net/mozillateam/ppa/ubuntu jammy/main amd64
     lansare v=22.04,o=LP-PPA-mozillateam,a=jammy,n=jammy,l=Firefox ESR și Thunderbird stabil build,c=main,b=amd64
     origine ppa.launchpad.net

Aici, puteți vedea că mașina mea locală folosește dulceata eliberare. Deci fișierul de lansare relevant se află la dists/jammy/InRelease. Acest lucru ne oferă acest fișier aici: http://ppa.launchpad.net/mozillateam/ppa/ubuntu/dists/jammy/InRelease.

Acel fișier de lansare este creat de persoana care găzduiește depozitul și conține metainformații despre distribuție. Unele informații sunt opționale, iar altele nu. Unele dintre câmpurile opționale includ:

  • Origine
  • Eticheta
  • Versiune
  • Suită
  • Nume de cod

Și unele dintre câmpurile neopționale includ:

  • Componente

Acesta este ceea ce filtrați atunci când specificați Pin: eliberați X= în fișierul de preferințe. Este descris și când alergi politica apt-cache. În exemplul de mai sus, avem:

  • Origine: o=LP-PPA-mozillateam
  • Eticheta: l=Firefox ESR
  • Versiune: v=22,04
  • Suită: a=jammy
  • Nume de cod: n=jammy
  • Componente: c=principal

NB: Nu am găsit nimic în pagina de manual în legătură cu b= câmp din ieșirea politica apt-cache comanda.

Origine

Pe lângă informațiile de mai sus din fișierul de lansare, locația are și o origine. Acest lucru este, de asemenea, inclus în rezultatul politica apt-cache comanda. După cum puteți vedea pentru exemplul de mai sus, este ppa.launchpad.net.

Acesta este ceea ce filtrezi atunci când incluzi Pin: originea X în fișierul de preferințe.

În Efectul preferințelor APT secțiunea paginii de manual, are această propoziție utilă:

Aceasta nu trebuie confundată cu Originea unei distribuții, așa cum este specificată într-un fișier de lansare.Ceea ce urmează etichetei „Origine:” într-un fișier Release nu este o adresă de internet, ci un nume de autor sau furnizor, cum ar fi „Debian” sau „Ximian”.

Versiune

Înapoi la Determinarea versiunii pachetului și a proprietăților de distribuție secțiunea paginii de manual.

După cum s-a menționat mai sus, se precizează:

Locațiile listate în fișierul sources.list(5) ar trebui să furnizeze fișiere Pachete și Lansare pentru a descrie pachetele disponibile în acea locație.

Deci, pe lângă acest fișier de lansare, avem și un fișier de pachete. Pagina de manual continuă să spună:

Doar două rânduri din fiecare înregistrare [din fișierul pachetului] sunt relevante pentru setarea priorităților APT:

Pachetul: linia

    dă numele pachetului

Versiunea: linia

    oferă numărul versiunii pentru pachetul numit

Acest lucru este diferit de ceea ce spune pentru câmpul Versiune al Eliberare dosar, pentru care scrie

Versiunea: linia

    denumește versiunea de lansare. De exemplu, pachetele din arbore ar putea aparține versiunii 11 a versiunii Debian.

Dacă găsim unul dintre aceste fișiere pachet, putem vedea asta. Pentru pachetul de mai sus, pentru arhitectura mea, este aici: http://ppa.launchpad.net/mozillateam/ppa/ubuntu/dists/jammy/main/binary-amd64/Packages.xz

În acea arhivă comprimată, avem un Pachete fișier care conține o listă cu toate pachetele disponibile și versiunile acestora (și multe alte informații). Iată o parte a unuia dintre numeroasele pachete disponibile:

Pachet: Thunderbird
Prioritate: optional
Sectiunea: mail
Dimensiune instalată: 227239
Menținător: Echipa Ubuntu Mozilla <[email protected]>
Arhitectură: amd64
Versiune: 1:91.5.1+build1-0ubuntu1

Această versiune este ceea ce vă potriviți atunci când includeți Pin: versiunea X în fișierul de preferințe.

Dacă fugi politica apt-cache pe un anumit pachet, puteți vedea versiunile disponibile pentru acel pachet.

$ politica apt-cache thunderbird
Thunderbird:
  Instalat: 1:78.14.0-1~deb11u1
  Candidat: 1:78.14.0-1~deb11u1
  Tabel de versiuni:
     1:91.5.1+build1-0ubuntu1 500
        500 Pachete http://ppa.launchpad.net/mozillateam/ppa/ubuntu jammy/main amd64
     1:91.5.1-1+b2 10
         10 http://ftp.us.debian.org/debian unstable/main Pachete amd64
     1:91.5.0-2~deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/main Pachete amd64
 *** 1:78.14.0-1~deb11u1 900
        900 http://deb.debian.org/debian bullseye/main Pachete amd64
        100 /var/lib/dpkg/status

Confuzie cu versiunea

Se pare că versiunea specificată în fișierul de lansare nu pare întotdeauna corectă. De exemplu, pentru Google Chrome, avem asta:

politica $ apt-cache
 900 http://dl.google.com/linux/chrome/deb stable/main pachete amd64
     versiune v=1.0,o=Google LLC,a=stable,n=stable,l=Google,c=main,b=amd64
     origine dl.google.com

Nu sunt sigur ce ar trebui să reprezinte această versiune, deoarece nu se potrivește cu versiunile din fișierul pachetelor:

$ grep „Pachet\|Versiune” /var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages
Pachet: google-chrome-beta
Versiune: 99.0.4844.17-1
Pachet: google-chrome-stable
Versiune: 98.0.4758.80-1
Pachet: google-chrome-unstable
Versiune: 100.0.4867.0-1
muru avatar
drapel us
Dacă, pentru Ubuntu 22.04, este `release v=22.04`, atunci se pare că aceasta este menită să fie o versiune de distribuție și nu o versiune de pachet. Îmi pot imagina, de exemplu, o terță parte pentru a distribui ceva de genul, de exemplu, Nodejs sau PostgreSQL, creând mai multe canale pentru fiecare lansare majoră a software-ului și setând versiunea de distribuție în consecință. Chrome nu are acest tip de model de lansare, așa că probabil că au stabilit doar o valoare inactivă de 1.0.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.