handdator

Visa fullständig version : Pinning - ett exempel



northface
2009-05-03, 19:32
Antag att du sitter med Hardy eller Intrepid. Systemet är stabilt och allt är frid och fröjd. Men vissa installerade programversioner börjar släpa efter - du skulle vilja ha en nyare version av ett program. Programversionen finns för Jaunty. Visserligen portas en del av programmen tillbaka från Jaunty till Hardys och Intrepids backportsförråd - men inte alla.

Ett typiskt exempel är clamav. Har man inte senaste versionen, 095.1, får man varning att programmet är "OUTDATED", när freshclam körs. 095.1 ligger i Jaunty's förråd!

Börja med att köra följande i en terminal;

apt-cache policyDu kommer nu att se dina förråd med en siffra framför - normalt 500. Generellt kan sägas att ju högre siffra, desto högre prioritet att förrådet väljs vid installation av program. Mer om siffrorna finns här (http://linux.die.net/man/5/apt_preferences).

Vi ska nu försöka komma åt clamav från Jaunty's förråd. Vi väljer konservativt att bara ta med de förråd som Ubunu Team stödjer (main och restricted) och lägger till dessa i våra källor på detta vis.

Skapa en jaunty.list;

gksudo gedit /etc/apt/sources.list.d/jaunty.listKlistra in förråden nedan och spara.

# Jaunty package repository
deb http://archive.ubuntu.com/ubuntu/ jaunty main
deb-src http://archive.ubuntu.com/ubuntu/ jaunty main
deb http://archive.ubuntu.com/ubuntu/ jaunty restricted
deb-src http://archive.ubuntu.com/ubuntu/ jaunty restricted

Skapa en fil preferences;

gksudo gedit /etc/apt/preferencesKlistra nedanstående och spara.

Package: *
Pin: release o=ubuntu,a=jaunty
Pin-Priority: 60

Uppdatera:

sudo apt-get updateKör följande igen;

apt-cache policyNu ska även Jaunty's förråd finnas med - med en siffra 60 framför. Siffran har så låg prioritet att den inte påverkar de ordinarie uppdateringarna eller uppgraderingarna. Vi måste själva aktivt köra in det specifika programmet - vårt fall clamav.

Vi vill nu få koll av vilka versioner av clamav som finns i de olika förråden. Kör följande i terminalen;

apt-cache policy clamavVi konstaterar att den senaste versionen (0.95.1+dfsg-1ubuntu1 0) finns i jaunty's förråd och det är precis denna vi vill åt. Det gör vi på följande sätt. Skriv i terminalen;

sudo apt-get -s -t jaunty install clamav-t motsvarande prioritet 990 och överrider våra 500 och 60 prioriteter
-s är en säkershetsåtgärd som innebär att man bara simulerar åtgärden

Fick vi inga fel i simuleringen ovan typ "Brooken packages" kör vi in paketet skarpt;

sudo apt-get -t jaunty install clamavVarning - en viss försiktighet krävs när man använder pinning, så man inte gör något överilat. Men rätt använt kan man upprätthålla ett stabilt system med många olika programvarukällor.

Tompalaz
2009-05-03, 21:00
Det här är grymt! För att hålla ett system stabilt i grunden krävs det ju att man är lite "efter". Tack vare det kan det vara för vissa kritiska buggar som inte fixas.
Skulle gärna se den i wikin också :rolleyes:

No1Viking
2009-05-03, 22:17
Tack nortface, för en mycket informativ och bra guide. Den måste testas när jag är ledig nån dag.

Micke

ulsak
2009-05-03, 22:21
Skulle gärna se den i wikin också :rolleyes:
+ 1 .
En av de vassaste guiderna jag sett. -nåt för framtida supportsajtprojekt ?

Little John
2009-05-04, 06:16
+1
Ett stort tack, northface!!
Håller på att testa...:)

LJ

Svendus
2009-05-04, 06:36
Coolt altid lär man sig något nytt :)

northface
2009-05-04, 14:32
Om ni testar - berätta hur det gick. Det fungerar inte på alla paket - i bland blir beroendena mostridiga.