Comment résoudre le problème d'échec d'une opération du Gestionnaire de correctifs (Linux) ?

Lecture de 5 minute(s)
0

Je souhaite résoudre le problème d'échec de mon opération avec le Gestionnaire de correctifs (Linux).

Brève description

Les opérations d'application de correctifs peuvent échouer pour de multiples raisons. La résolution des problèmes d'erreurs dépend du système d'exploitation utilisé. Vous retrouverez des erreurs dans la Console de gestion AWS ou dans la réponse d'API. Cependant, la sortie de la console est tronquée à 48 000 caractères, réduisant ainsi la visibilité de certains problèmes. Pour résoudre ces problèmes, une bonne pratique consiste à examiner la sortie complète enregistrée sur le nœud géré. Vous pouvez également utiliser la sortie envoyée à Amazon CloudWatch (CloudWatch) et à Amazon Simple Storage Service (Amazon S3) pour résoudre d’autres problèmes.

Vous pouvez recevoir les messages d'erreurs suivants en cas d'échec de l'opération du Gestionnaire de correctifs (Linux) :

  • Permission denied/failed to run commands
  • Unable to download payload
  • No such file or directory
  • Another process has acquired yum lock
  • Unsupported package manager and Python version combination
  • Unsupported operating system
  • Output truncated

Résolution

Pour réparer les erreurs que vous pouvez recevoir en cas d'échec d'une opération du Gestionnaire de correctifs (Linux), procédez de la manière suivante :

Permission denied/failed to run commands

L'erreur suivante se produit lorsque /var/lib/amazon est monté avec des autorisations noexec :

/var/lib/amazon/ssm/<instanceid>/document/orchestration/<commandid>/PatchLinux/_script.sh: Permission deniedfailed to run commands: exit status 126

Pour résoudre cette erreur, assurez-vous que les partitions exclusives /var/log/amazon et /var/lib/amazon sont configurées et qu'elles sont montées avec les autorisations exec.

Unable to download payload

L'erreur suivante se produit généralement quand le nœud géré ne dispose pas des autorisations requises pour accéder au compartiment Amazon S3 spécifié :

Unable to download payload: https://s3.DOC-EXAMPLE-BUCKET.region.amazonaws.com/aws-ssm-region/patchbaselineoperations/linux/payloads/patch-baseline-operations-X.XX.tar.gz.failed to run commands: exit status 156

Pour corriger cette erreur, mettez à jour la configuration de votre réseau et assurez-vous que le point de terminaison régional Amazon S3 est accessible. Pour plus d'informations, reportez-vous à Communications de l'agent SSM avec les compartiments S3 gérés par AWS.

No such file or directory

Cette erreur se produit dans les conditions suivantes :

  • Deux commandes d'exécution AWS-RunPatchBaseline s'exécutaient simultanément sur le même nœud géré.
  • Espace disque insuffisant dans le répertoire /var
IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'
Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.
failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.
failed to run commands: exit status 152

Pour corriger cette erreur, procédez de la manière suivante :

  • Assurez-vous qu'aucune fenêtre de maintenance ne comporte plus de deux tâches Exécuter la commande qui exécutent AWS-RunPatchBaseline. Les tâches ne peuvent pas avoir le même niveau de priorité et être exécutées sur les mêmes ID cibles. Réorganisez les niveaux de priorité au besoin.
  • Assurez-vous qu'une seule association Gestionnaire d'états exécute AWS-RunPatchBaseline selon le même calendrier et en ciblant les mêmes nœuds gérés.
  • Libérez l'espace disque sous le répertoire /var.

Another process has acquired yum lock

L'erreur suivante se produit quand AWS-RunPatchBaseline s'exécute sur un nœud géré là où yum est déjà en cours d'exécution et où un autre processus a verrouillé la base de données :

MM/DD/YYYY HH:MM:SS root [INFO]: another process has acquired yum lock, waiting 2 s and retry.

Pour corriger cette erreur, vérifiez les points suivants :

  • Aucune association Gestionnaire d'états, aucune tâche de fenêtre de maintenance ou autre configuration exécutant AWS-RunPatchBaseline suivant un calendrier établi ne cible simultanément le même nœud géré.
  • Aucune opération manuelle de yum ne s'exécute au même moment.

Unsupported package manager and Python version combination

L'erreur suivante se produit lorsqu'une version prise en charge de Python 3 n'est pas installée sur l'instance RHEL, Debian Server, Raspberry Pi ou Ubuntu Server :

An unsupported package manager and python version combination was found. Dnf requires Python 2 or Python 3 to be installed.

Pour corriger cette erreur, installez une version de Python 3 (3.0 – 3.9) sur le serveur requis.

Unsupported operating system

L'erreur suivante se produit lorsqu'un système d'exploitation n'est pas pris en charge :

An error occurred (UnsupportedOperatingSystem) when calling the GetDeployablePatchSnapshotForInstance operation: patch_common.exceptions. PatchManagerError: ('Unsupported Operating System', 146)

Pour corriger cette erreur, utilisez un système d'exploitation compatible.

Output truncated

Cette erreur se produit lorsque l'opération d'application de correctifs échoue et que la sortie de la console est tronquée, empêchant ainsi l'affichage de l'erreur. La sortie de la console est tronquée à 48 000 mots.

Pour corriger cette erreur, examinez l'ensemble de la sortie de l'instance à l'endroit suivant :

Remarque : Veillez à remplacer toutes les chaînes exemple par les valeurs requises.

/var/lib/amazon/ssm/<example-instance-id>/document/orchestration/<example-command-id>/awsrunShellScript/PatchLinux/stdout

Vous pouvez aussi configurer l'opération pour envoyer la sortie Exécuter la commande à Amazon S3 ou CloudWatch.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois