Gérer les paquets RPM

Cette page décrit comment ajouter, afficher et supprimer des packages RPM dans des dépôts Yum. Les dépôts Yum Artifact Registry sont compatibles avec Yum et DNF.

Avant de commencer

  1. Si le dépôt Yum cible n'existe pas, créez-en un.
  2. Configurez les VM pour qu'elles puissent accéder au dépôt.
  3. (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
  4. Assurez-vous que les noms de vos packages dans les métadonnées respectent les consignes de nommage des packages Fedora et les consignes de gestion des versions des packages Fedora.

Ajouter des packages

Modes de dépôt: standard

Vous devez disposer des autorisations de lecture et d'écriture pour le dépôt afin d'y ajouter des packages.

Vous pouvez importer un package dans un dépôt à l'aide de Google Cloud CLI ou importer un package stocké dans Cloud Storage.

Les opérations d'importation ou d'importation très longues peuvent dépasser la période d'expiration du jeton que gcloud CLI utilise pour appeler l'API. Si vous devez ajouter un très grand nombre de packages, envisagez de les ajouter par lots plus petits afin que chaque opération d'importation ou d'importation puisse s'effectuer plus rapidement. Pour en savoir plus, consultez la documentation sur le dépannage des packages de système d'exploitation.

Importation directe

Utilisez la gcloud artifacts yum upload commande pour importer un package dans un dépôt Yum :

gcloud artifacts yum upload REPOSITORY \
    --location=LOCATION \
    --source=PACKAGES

Remplacez les valeurs suivantes :

  • REPOSITORY correspond au nom du dépôt Artifact Registry.
  • LOCATION correspond à l'emplacement régional du dépôt.
  • PACKAGES correspond au chemin d'accès au package.

Par exemple, pour importer le package my-package.rpm dans le dépôt Yum my-repo à l'emplacement u-france-east1, exécutez la commande suivante :

gcloud artifacts yum upload my-repo \
    --location=u-france-east1 \
    --source=my-package.rpm

Cloud Storage

  1. Importez les packages directement dans un bucket Cloud Storage.
  2. Exécutez la commande suivante :
    gcloud artifacts yum import REPOSITORY \
      --location=LOCATION \
      --gcs-source=PACKAGES
    

    Remplacez les valeurs suivantes :

    • REPOSITORY correspond au nom du dépôt Artifact Registry.
    • LOCATION correspond à l'emplacement régional du dépôt.
    • PACKAGES correspond à une liste de packages séparés par des virgules dans Cloud Storage. Pour importer tous les packages d'un répertoire, utilisez un caractère générique de répertoire (*) ou utilisez un caractère générique de répertoire récursif (**) pour importer tous les packages de tous les sous-répertoires.

    Par exemple, la commande suivante importe le package package.rpm et tous les packages du répertoire directory du bucket my-bucket dans le dépôt Yum my-repo à l'emplacement u-france-east1 :

    gcloud artifacts yum import my-repo \
      --location=u-france-east1 \
      --gcs-source=gs://my-bucket/path/to/package.rpm,gs://my-bucket/directory*
    

Une fois l'opération d'importation ou d'importation terminée, vous pouvez utiliser la Cloud de Confiance console ou gcloud CLI pour afficher les packages dans le dépôt et vérifier qu'ils ont bien été importés.

Si vous disposez d'un grand dépôt contenant de nombreux packages, la régénération de l'index des packages peut prendre plusieurs minutes afin que les nouveaux packages soient visibles pour le client Yum.

Afficher les packages

Modes de dépôt: standard

Pour afficher les packages, vous devez disposer des autorisations du rôle Lecteur Artifact Registry. Artifact Registry ne répertorie pas les fichiers à l'intérieur des packages.

Pour afficher les packages et leurs versions à l'aide de la Cloud de Confiance console ou gcloud :

Console

  1. Ouvrez la page Dépôts dans la Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur le dépôt approprié.

    La page Packages répertorie les packages du dépôt.

  3. Cliquez sur un package pour afficher ses versions.

gcloud

Pour répertorier les packages d'un dépôt, exécutez la commande suivante :

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

Remplacez les éléments suivants :

  • REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
  • LOCATION est l'emplacement régional du dépôt. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cet indicateur pour utiliser l'emplacement par défaut.

Pour afficher les versions d'un package, exécutez la commande suivante :

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

Remplacez les éléments suivants :

  • PACKAGE est l'ID du package ou l'identifiant complet du package.
  • REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
  • LOCATION est l'emplacement régional du dépôt. Utilisez cet indicateur pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cet indicateur pour utiliser l'emplacement par défaut.

Installer des packages

Modes de dépôt: standard

Avant d'installer des packages, vérifiez que vous avez configuré la VM pour installer des packages à partir de votre dépôt Artifact Registry.

Pour installer un package, exécutez la commande suivante :

sudo yum --enablerepo=REPOSITORY install PACKAGE

Remplacez les valeurs suivantes :

  • PACKAGE correspond au nom du package.
  • REPOSITORY correspond au nom du dépôt configuré dans le fichier .repo.

Par exemple, pour installer le package my-package à partir du dépôt my-repo, exécutez la commande suivante :

sudo yum --enablerepo=my-repo install my-package

Supprimer des packages

Modes de dépôt: standard

Avant de supprimer un package ou une version de package, vérifiez que vous avez communiqué ou résolu toute dépendance importante associée.

Pour supprimer un package, procédez comme suit :

Console

  1. Ouvrez la page Dépôts dans la Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur le dépôt approprié.

    La page Packages répertorie les packages du dépôt.

  3. Sélectionnez le package que vous souhaitez supprimer.

  4. Cliquez sur SUPPRIMER.

  5. Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.

gcloud

Exécutez la commande ci-dessous.

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

Remplacez les éléments suivants :

  • PACKAGE est le nom du package dans le dépôt.
  • REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, alors vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
  • LOCATION est l'emplacement régional du dépôt. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.

L'indicateur --async permet à la commande de renvoyer immédiatement une réponse, sans attendre la fin de l'opération en cours.

Pour supprimer des versions d'un package, procédez comme suit :

Console

  1. Ouvrez la page Dépôts dans la Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur le dépôt approprié.

    La page Packages répertorie les packages du dépôt.

  3. Cliquez sur un package pour afficher ses versions.

  4. Sélectionnez les versions que vous souhaitez supprimer.

  5. Cliquez sur SUPPRIMER.

  6. Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.

gcloud

Exécutez la commande ci-dessous.

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

Remplacez les éléments suivants :

  • VERSION est le nom de la version à supprimer.
  • PACKAGE est le nom du package dans le dépôt.
  • REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, alors vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
  • LOCATION est l'emplacement régional du dépôt. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.

L'indicateur --async permet à la commande de renvoyer immédiatement une réponse, sans attendre la fin de l'opération en cours.

Pour les grands dépôts, la régénération de l'index des packages Yum peut prendre quelques minutes pour refléter les suppressions.

Étape suivante