GNU/Linux >> Tutoriels Linux >  >> Linux

Comment désactiver/verrouiller ou mettre sur liste noire les mises à jour de packages à l'aide de l'outil Apt

APT signifie Advanced Packaging Tool est un autre gestionnaire de packages trouvé sur les systèmes basés sur Linux. Initialement conçu comme une interface pour dpkg travailler avec .deb packages, apt a réussi à montrer sa visibilité sur Mac OS, Open Solaris etc.

Vous voulez apprendre et maîtriser APT et DPKG commandes pour gérer la gestion des paquets Debian, puis utilisez nos articles détaillés qui couvriront plus de 30+ exemples sur les deux outils.

25 commandes APT utiles pour la gestion des paquets Debian/Ubuntu15 commandes Dpkg utiles pour la gestion des paquets dans Debian/Ubuntu

Dans cet article, nous verrons différentes techniques pour désactiver/verrouiller le paquet de l'installation, de la mise à niveau et de la suppression dans Debian Linux et ses dérivés tels qu'Ubuntu et Linux Mint.

1. Désactiver/verrouiller le package à l'aide de 'apt-mark' avec l'option hold/unhold

La commande apt-mark marquera ou décochera un progiciel comme étant automatiquement installé et il est utilisé avec l'option hold ou reprendre .

  1. maintenir - cette option est utilisée pour marquer un package comme retenu, ce qui empêchera l'installation, la mise à niveau ou la suppression du package.
  2. reprendre - cette option utilisée pour supprimer une suspension précédemment définie sur un package et permettre d'installer, de mettre à niveau et de supprimer un package.

Par exemple, pour faire dire à un package apache2 indisponible pour l'installation, la mise à niveau ou la désinstallation, vous pouvez utiliser la commande suivante sur le terminal avec les privilèges root :

# apt-mark hold apache2

Pour rendre ce package disponible pour la mise à jour, remplacez simplement "hold ' avec 'unhold ‘.

# apt-mark unhold apache2

Blocage des mises à jour de packages à l'aide du fichier de préférences APT

Une autre façon de bloquer les mises à jour d'un paquet spécifique est d'ajouter son entrée dans /etc/apt/preferences ou /etc/apt/preferences.d/official-package-repositories.pref dossier. Ce fichier est chargé de mettre à jour ou de bloquer certaines mises à jour de packages en fonction de la priorité spécifiée par l'utilisateur.

Pour bloquer le package, il vous suffit d'entrer son nom, sa fonctionnalité supplémentaire et la priorité à laquelle vous souhaitez le transférer. Ici, priorité < 1 bloquerait le paquet.

Pour bloquer n'importe quel paquet, entrez simplement ses détails dans le fichier /etc/apt/preferences comme ceci :

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

Par exemple, pour bloquer les mises à jour du package apache2, ajoutez l'entrée comme indiqué :

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

Nous pouvons utiliser d'autres options avec le mot-clé release pour identifier davantage le package sur lequel nous appliquons la priorité Pin. Ces mots-clés sont :

  1. un -> Archiver
  2. c -> Composant
  3. o -> Origine
  4. l -> Libellé
  5. n -> Architecture

comme :

Pin: release o=Debian,a=Experimental

Cela signifierait extraire le paquet indiqué de l'archive expérimentale du paquet Debian.

Mettre sur liste noire une mise à jour de package à l'aide du fichier APT Autoremove

Une autre façon de mettre un paquet sur liste noire depuis l'installation est de mettre à jour son entrée dans l'un des fichiers contenus dans /etc/apt/apt.conf.d/ répertoire qui est 01autoremove .

Un exemple de fichier est présenté ci-dessous :

APT
{
  NeverAutoRemove
  {
        "^firmware-linux.*";
        "^linux-firmware$";
  };

  VersionedKernelPackages
  {
        # linux kernels
        "linux-image";
        "linux-headers";
        "linux-image-extra";
        "linux-signed-image";
        # kfreebsd kernels
        "kfreebsd-image";
        "kfreebsd-headers";
        # hurd kernels
        "gnumach-image";
        # (out-of-tree) modules
        ".*-modules";
        ".*-kernel";
        "linux-backports-modules-.*";
        # tools
        "linux-tools";
  };

  Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
  };
};

Maintenant, pour mettre n'importe quel paquet sur liste noire, il suffit d'entrer son nom dans Never-MarkAuto-Sections . Entrez simplement le nom du paquet à la fin dans Never-MarkAuto-Section et Enregistrer et fermer le fichier. Cela empêcherait apt de rechercher d'autres mises à jour de ce paquet.

Par exemple, pour mettre un paquet sur liste noire afin qu'il ne soit pas mis à jour, ajoutez l'entrée comme indiqué :

Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
        "apache2*";
  };
};

Sélection de packages personnalisés pour la mise à jour

Une autre alternative consiste à choisir ce que vous souhaitez mettre à jour. L'appartement L'outil vous donne la liberté de choisir ce que vous souhaitez mettre à jour, mais pour cela, vous devez savoir quels packages sont disponibles pour la mise à niveau.

Pour une telle chose, l'ensemble de commandes suivant peut s'avérer utile :

a. Pour répertorier les packages dont les mises à jour sont en attente.

# apt-get -u -V upgrade

b. Pour installer uniquement des packages sélectifs.

# apt-get --only-upgrade install <package-name>

Conclusion

Dans cet article, nous avons expliqué quelques façons de désactiver/bloquer ou de mettre sur liste noire les mises à jour de packages à l'aide de la méthode APT. Si vous connaissez une autre méthode préférée, faites-le nous savoir via des commentaires ou si vous cherchiez la commande yum pour désactiver/verrouiller la mise à jour du paquet, alors lisez cet article ci-dessous.

Désactiver/verrouiller les mises à jour de packages à l'aide de Yum dans CentOS/RHEL
Linux
  1. 4 façons de désactiver/verrouiller certaines mises à jour de packages à l'aide de la commande Yum

  2. Comment installer un fichier Deb, par Dpkg -i ou par Apt ?

  3. UNIX / Linux :Comment verrouiller ou désactiver un compte utilisateur

  4. Comment désactiver l'accès en écriture aux périphériques USB à l'aide de l'outil "hdparm"

  5. Comment installer des packages à l'aide de dnf dans CentOS/RHEL 8

Comment installer en toute sécurité des packages à l'aide de Npm ou de Yarn sous Linux

Comment verrouiller un fichier texte sous Linux à l'aide de la commande flock

Comment installer les mises à jour du système à l'aide de Webmin

Comment télécharger des packages à l'aide d'APT sans les installer

Comment désactiver les mises à jour automatiques sur Ubuntu 20.04 LTS

Comment répertorier les packages installés sous Linux à l'aide de la gestion des packages