Comment empêcher certains paquets Linux de se mettre à jour ?

http://korben.info/comment-empecher-certains-paquets-linux-de-se-mettre-a-jour.html
On en apprend tous les jours avec Linux. Aujourd’hui, par exemple, j’ai découvert une commande (sous Ubuntu / Debian) qui permet de marquer certains paquets pour qu’ils soient verrouillés. Ainsi, si vous faites un upgrade du système, ces paquets ne seront pas mis à jour ni modifiés. Alors évidemment, faut pas faire ça. C’est mieux…

Via l’interface graphique ça se faisait déjà ( vie le gestionnaire de paquets ) sous ubuntu donc là c’est en ligne de commande. Un retour aux sources

Sous ArchLinux il suffit de blacklister les packages souhaités dans /etc/pacman.conf.

Je ne pense pas avoir besoin un jour de verrouiller des paquets, mais j’ai trouvé un nouveau fond d’écran : un pingouin volant ! Champagne !
Merci Korben :+1:

Heureusement, grâce à Docker il n’y aura bientôt plus vraiment besoin de ce genre de manip’ pour les serveurs.

@xabufr pourquoi bientôt? C’est déjà complètement possible sur la plupart des distribs!

Mais si on peut/veut pas installer Docker pour diverses raisons (pas le kernel compatible, pas assez d’espace disque vu que docker tend à en utiliser pas mal etc…), cet astuce reste très utile.

Et d’ailleurs, elle est très utile dans un docker justement, si on a besoin d’avoir un paquet rétrogradé pour faire tourner le programme qui demande une config un peu exotique, tout en ayant tout le reste à jour (et en gardant le reste de son système clean). Par ex, je pense au build d’Android avant KK (hum make 3.82 hum!)

Pareil sous RedHat / CentOS, il suffit de les blacklister dans le fichier /etc/yum.conf en y ajoutant une ligne qui ressemble à ceci:

exclude=kernel* sendmail*

Sous Gentoo :
/etc/portage/package.mask : Bloquer un packet ou empêcher downgrade / upgrade d’une version
/etc/portage/package.unmask : Débloquer un packet bloqué par l’OS (instable / obsolète)