GNU/Linux >> Tutoriels Linux >  >> Debian

Comment empêcher la mise à jour d'un paquet dans Ubuntu, Debian ou Linux Mint [APT]

Il existe plusieurs façons d'empêcher la mise à jour d'un paquet dans Debian, Ubuntu, Linux Mint, un système d'exploitation élémentaire et d'autres distributions Linux basées sur Debian/Ubuntu. Cet article présente trois façons d'exclure les packages de référentiel de la mise à niveau.

Pourquoi empêcher la mise à jour d'un paquet ? Supposons que vous installiez un paquet plus ancien que la version disponible dans les dépôts Debian, Ubuntu ou Linux Mint, ou que vous sachiez qu'une mise à jour pose problème et que vous vouliez mettre à jour tous les paquets moins un (ou deux, trois…).

Voici un exemple. J'utilise également le navigateur Chromium Correctifs d'accélération matérielle du PPA Saiarcot895-dev dans Ubuntu 18.10. Pour que l'accélération matérielle fonctionne avec les pilotes Nvidia, un package vdpau-va-driver corrigé est requis, qui n'est pas encore disponible dans ce PPA pour le dernier Ubuntu 18.10. Heureusement, le package Ubuntu 18.04 peut être installé dans Ubuntu 18.10, mais chaque mise à niveau via "apt upgrade" ou en utilisant le Software Updater met à jour ce package, ce que je ne veux pas. Donc, dans ce cas, je garderais ce paquet à l'écart des mises à jour afin de mettre à jour tous les autres paquets sans avoir à m'en soucier.

Notez qu'empêcher un package de futures mises à niveau peut entraîner des problèmes dans certaines situations si le package que vous détenez est utilisé comme dépendance d'un autre package pouvant être mis à niveau. Essayez donc de ne pas empêcher trop de paquets de se mettre à niveau, en particulier les bibliothèques.

De la même série :Comment trouver des packages disponibles à partir de la ligne de commande dans Debian, Ubuntu ou Linux Mint [APT]

Voici 3 façons d'empêcher la mise à jour d'un paquet dans Debian, Ubuntu, Linux Mint.

1. Empêcher les mises à jour de packages à l'aide d'une interface graphique :Synaptic Package Manager

Synaptic Package Manager, un programme graphique de gestion de packages Gtk pour apt, peut verrouiller les packages, ce qui les empêche d'être mis à jour.

Il est important de noter que l'utilisation de Synaptic pour verrouiller les packages n'empêche pas leur mise à jour à partir de la ligne de commande - en exécutant apt upgrade ou apt-get upgrade mettra toujours à jour un paquet qui est verrouillé dans Synaptic. Le verrouillage des packages dans Synaptic empêche les mises à niveau de packages à l'aide de l'application de mise à jour logicielle d'Ubuntu et éventuellement d'autres gestionnaires de packages graphiques. Cependant, cela n'empêchera pas la mise à jour des packages à l'aide de l'application Linux Mint Update Manager. Je recommande donc d'utiliser apt-mark ou dpkg (voir ci-dessous) pour empêcher la mise à jour des packages.

Vous pouvez installer le gestionnaire de paquets Synaptic avec cette commande :

sudo apt install synaptic

Pour empêcher la mise à jour d'un paquet avec Synaptic, recherchez-le, sélectionnez le paquet et cliquez sur le menu Synaptic Package -> Lock Version :


Vous pouvez également déverrouiller le package de la même manière.

Pour afficher tous les paquets bloqués dans Synaptic, cliquez sur Status en bas à gauche, puis cliquez sur Pinned au dessus de Status Rubrique :

2. Empêcher la mise à jour d'un paquet avec apt-mark

Empêcher la mise à jour des packages avec apt-mark devrait les empêcher d'être mis à jour à l'aide du logiciel de mise à jour d'Ubuntu, ainsi que les mises à niveau de la ligne de commande (apt upgrade / apt-get upgrade ).

Vous pouvez utiliser un package pour les futures mises à niveau (et pour la suppression automatique) avec apt-mark avec cette commande :

sudo apt-mark hold PACKAGE

Remplacez PACKAGE avec le paquet que vous ne voulez pas mettre à jour.

Vous pouvez vérifier quels packages sont marqués comme hold (afin qu'ils ne soient pas mis à jour) par :

apt-mark showhold


Pour supprimer une suspension (afin que le package puisse être mis à jour), utilisez :

sudo apt-mark unhold PACKAGE

Pour les deux hold et unhold Vous pouvez spécifier plusieurs packages, tout comme installer un logiciel avec apt (séparez les packages par un espace).

3. Empêcher les mises à jour de paquets avec dpkg

Il y a quelque temps, certains gestionnaires de paquets graphiques ignoraient le statut apt-mark-hold. Je ne sais pas si c'est toujours le cas, mais juste pour être sûr (et au cas où vous utilisez une ancienne version Debian / Ubuntu / Linux Mint), il existe un autre moyen d'obtenir des mises à jour de paquets dans Ubuntu, Linux Mint ou Debian ici empêcher :dpkg.

Pour empêcher la mise à jour d'un paquet avec dpkg, utilisez :

echo "PACKAGE hold" | sudo dpkg --set-selections

Remplacez PACKAGE avec le paquet que vous ne voulez pas mettre à jour.

Vous pouvez afficher tous les paquets bloqués avec cette commande :

dpkg --get-selections | grep hold

Pour déverrouiller (autoriser la mise à niveau du package), utilisez :

echo "PACKAGE install" | sudo dpkg --set-selections

pas comment apt-mark , cette solution ne permet pas de spécifier plusieurs packages en même temps.


Debian
  1. Comment installer Pip sur Ubuntu 18.04, Debian 9 et Linux Mint 19

  2. Comment ignorer la mise à niveau d'un package dans Arch Linux

  3. Comment compiler et installer wxWidgets sur Ubuntu/Debian/Linux Mint

  4. Comment installer DaVinci Resolve 16.2 ou 17 Beta dans Ubuntu, Linux Mint ou Debian (générer le package DEB)

  5. Comment lister tous les packages d'un référentiel sur Ubuntu, Debian ou Linux Mint [APT]

Comment installer Minecraft sur Ubuntu et Linux Mint

Conserver ou empêcher la mise à niveau d'un paquet dans Debian, Ubuntu

Comment installer les packages Deb dans Ubuntu, Debian et Mint

Comment empêcher la mise à jour d'un paquet dans Ubuntu apt avec apt-mark

Comment désinstaller des programmes d'Ubuntu Linux

Comment installer Wine 5.0 sur Debian, Ubuntu et Linux Mint