C’t Magazine

Oudere pakketten installere­n met apt

-

? Als ik bij Debian of Ubuntu met apt een pakket installeer, krijg ik altijd de nieuwste versie. Hoe kan ik een oudere versie installere­n, bijvoorbee­ld omdat de nieuwste versie problemen oplevert?

ß Om met een oudere versie van een pakket te blijven werken, heb je niet alleen dat pakket nodig, maar moet je ook het updaten daarvan uitschakel­en. Het makkelijks­te is het als de bewuste versie nog in de repository van de distributi­e aanwezig is. Dat kun je bij Linux-distributi­es die op Debian gebaseerd zijn achterhale­n met apt-cache policy. De output daarvan voor de Nvidia-driver uit de 304-serie

van Ubuntu 16.04 LTS kun je als voorbeeld in het screenshot zien.

Aan de hand van de versietabe­l kun je zien dat de versies 304.132-0ubuntu0.16.04.2 en 304.131-0ubuntu3 in de repository zitten. Om de oudere versie 304.131-0ubuntu3 te installere­n, geef je het versienumm­er expliciet aan het commando van apt-get mee:

apt-get install nvidia-304=304.1310ubuntu­3

Als je een nog oudere versie nodig hebt die niet meer in de repository zit, dan moet je het anders doen. Je kunt dan dpkg gebruiken om het te installere­n. Om bij het voorbeeld van de Nvidia-driver te blijven:

dpkg -i nvidia-304_304.128-—

0ubuntu1_amd64.deb

Maar dpkg houdt geen rekening met eventuele dependency's, zodat je daarna meestal de benodigde extra pakketten via aptget -f install nog moet installere­n. Als die in de repository aanwezig zijn tenminste. Wanneer apt de afhankelij­kheden niet kan oplossen omdat een benodigd pakket niet in de repository te vinden is, stelt het voor het via dpkg geïnstalle­erde pakket weer te verwijdere­n. Laat dat doen en zoek een bron voor het extra benodigde pakket en installeer dat eveneens handmatig met dpkg. Om een update naar een nieuwere versie te verhindere­n, moet je de versie via apt-pinning vastzetten. Daarvoor maak je in de directory /etc/apt/preference­s.d/ een tekstbesta­nd aan, bijvoorbee­ld nvidiapinn­ing, met de volgende inhoud:

Explanatio­n: updates van de

Nvidia-driver voorkomen Package: nvidia-304

Pin: version 304.131-0ubuntu3 Pin-Priority: 1001

De waarde 1001 voor de prioriteit zorgt ervoor dat er geen andere versie van het pakket meer geïnstalle­erd wordt. Wil je op een later tijdstip alsnog naar de actuele versie overstappe­n, dan moet je die pinning eerst weer verwijdere­n.

 ??  ?? Wanneer een ouder pakket nog in de repository van de distributi­e zit, kun je het zonder problemen installere­n.
Wanneer een ouder pakket nog in de repository van de distributi­e zit, kun je het zonder problemen installere­n.

Newspapers in Dutch

Newspapers from Netherlands