[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pinning vraag



Hoi MJ,

On 2016-09-07 11:37, mj wrote:
Hoi,

Ik denk een eenvoudige vraag betreffende het 'pinnen' van packages,
maar toch helpt google me niet:

Wie kan me uitleggen, of een link sturen, waarin wordt uitgelegd wat
o= n= a= betekent in het volgende:

Package: *
Pin: release a=testing
Pin-Priority: 50

Ik volgde een howto waarin geadviseerd werd: a=xxx, dit werkte echter
helemaal niet.

Toen vond ik een andere howto, waarin ineens stond n=xxx. En dit werkte wel.

Waar kan ik een legenda van a, n, o (en misschien nog wel meer opties?) vinden?


Toevallig was ik gisteren op zoek naar hetzelfde, en ik kon het ook niet echt makkelijk te vinden. Wat ik er van ben komen te begrijpen:

Apt slaat informatie over de package repositories op in de /var/lib/apt/lists/*_Release files. Dit zijn leesbare tekstfiles met een aantal informatie velden (en een groot aantal md5sum's van files in de repositories).

Voorbeeld:

  Origin: Debian
  Label: Debian
  Suite: stable-updates
  Codename: jessie-updates
  Date: Sun, 04 Sep 2016 15:37:46 UTC
  Valid-Until: Sun, 11 Sep 2016 15:37:46 UTC
  Architectures: amd64 i386
  Components: main contrib
  Description: Updated packages for Debian 8
  MD5Sum:
  [....]

Om hier met apt-pinning op te selecteren gebruikt apt een "ingedikte" vorm van een deel van deze informatie-velden. Bovenstaande wordt bijvoorbeeld:

  o=Debian,a=stable-updates,n=jessie-updates,l=Debian,c=main
  o=Debian,a=stable-updates,n=jessie-updates,l=Debian,c=contrib

Daarbij is dan "Origin: Debian" omgezet naar "o=Debian", en "Suite: stable-updates" is "a=stable-updates" geworden. Merk op dat niet alle velden worden gebruikt, en dat de inhoud van de velden vrij ingevuld kan worden door de maker/beheerder van de repository. Als je dus repositories van andere partijen in je sources.list hebt staan kan de informatie minder duidelijk zijn. Bijvoorbeeld van de nvidia .deb repository heb ik gezien:

  o=NVIDIA,l=NVIDIA CUDA,c=

En van ownCloud:

o=obs://build.opensuse.org/isv:ownCloud:desktop/xUbuntu_14.04,n=xUbuntu_14.04,l=isv:ownCloud:desktop,c=

Minder mooi, maar toch ook nog steeds wel bruikbaar voor apt-pinning.

Als je "apt-cache policy" zonder package-naam draait geeft hij voor elke repository die ingedikte vorm van de repository informatie:

  apt-cache policy | grep release

Daarmee kun je dan zien wat je in je apt-preferences voor pinning kunt gebruiken.

De beste (maar nog steeds summiere) informatie die ik gisteren wel had gevonden:

https://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html#release
https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-pin

Vriendelijke groeten,

Heiko



Groet,
MJ


Reply to: