← Back to team overview

sslug-teknik team mailing list archive

Re: At blande stable/unstable Debian?

 

Preben Bohn <preben@xxxxxxx> writes:

> Doc Nielsen wrote:
>> Det nemmeste er nok at sætte den relevante pakke på hold,
>
> Men hvorfor begynder den overhovedet at installere den? I min
> /etc/apt/preferences har jeg jo indikeret at stable altid skal bruges

Det er lidt langhåret at rede ud hvordan apt-get vælger versioner og
dengang jeg skrev afsnittet om at blande stable og unstable til
Debianguiden var det noget simplificeret. Følgende er ud fra
hukommelsen.

apt-get husker ikke hvor en pakker kommer fra, når først pakken er
installeret ses der kun på versionsnummeret. Når apt-get så henter en
pakkeliste får hver pakker tildelt en prioritet. Alle pakker der har
et versionsnummer mindre end den installerede og en prioritet under
1000 fjernes fra listen. Dernæst tages pakken med den højste
prioritet, hvis der er flere pakker med samme prioritet tages den med
højst versionsnummer.

Med mindre man sætter andet op i /etc/preferences får installerede
pakker en prioritet på 100, pakker i sources.list 500 og hvis man
sætter apt til at følge en bestemt release får disse en prioritet på
900.

Det der altså sker er at apt-get finder pakker som får følgede
prioriteter:

  En kerne fra unstable - 500
  En kerne fra backports - 500
  En kerne fra stable - 600

  En installeret kerne - 100

Men kernen fra stable har et ældre versionsnummer end den installerede
og glemmes derfor. Tilbage er der så en kerne fra unstable og en fra
backports med samme prioritet og så vælger apt-get kernen med højeste
versionsnummer.

Du kan se hvordan apt-get tildeler prioriteter med 
'apt-cache policy [ pkgs ]'

-- 
 Peter Makholm     |      There are 10 kinds of people. Those who count in
 peter@xxxxxxxxxxx |                            binary and those who don't
 http://hacking.dk |                                                      


References