Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

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

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 de faire les mises à jour. Mais dans certains cas, y’a parfois des vieilles install qui nécessitent une version particulière de tel ou tel soft et malheureusement, on ne peut pas y couper. Alors plutôt que de sacrifier le serveur et de serrer les fesses sans le mettre à jour pendant des années, on peut opter pour une mise à jour sélective.

Alors déjà avant de commencer, vous allez devoir lister tous les noms des paquets que vous voulez verrouiller. Avec un petit

apt –installed list

ce sera vite fait. Je fais ça avec apt mais vous pouvez aussi faire ça avec la commande suivante :

dpkg -l

Bon, maintenant on va marquer un par un, les paquets à verrouiller. Pour cela, il suffit d’utiliser la commande suivante :

sudo apt-mark hold NOM_DU_PAQUET

Vous pouvez aussi faire ça avec dpkg en utilisant la syntaxe suivante :

echo « NOM_DU_PAQUET hold » | sudo dpkg –set-selections

Si vous voulez lister le statut de vos paquets (pour voir ceux qui sont en « hold ») entrez la commande suivante :

dpkg –get-selections

Voilà. Vos paquets sont verrouillés et vous pouvez faire vos mises à jour système tranquillement. Et ensuite si vous souhaitez les déverrouiller, vous pouvez utiliser les mêmes commandes en remplaçant le mot « hold » par le mot « unhold » dans la commande apt ou « hold » par « install » dans la commande dpkg.

Exemples :

echo « NOM_DU_PAQUET install » | sudo dpkg –set-selections

ou

sudo apt-mark unhold NOM_DU_PAQUET

Voilà, vous savez tout ! Bonne fin de journée !


Les articles du moment