Gérer les packages RPM

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

Avant de commencer

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

Ajouter des packages

Modes de dépôt:standard

Pour ajouter des packages, vous devez disposer d'autorisations de lecture et d'écriture sur le dépôt.

Vous pouvez importer un package dans un dépôt à l'aide de Google Cloud CLI, ou importer un package stocké dans Cloud Storage. Si vous compilez des packages à l'aide de Cloud Build, ils peuvent les stocker dans Cloud Storage afin que vous puissiez les importer.

Les opérations d'importation ou d'importation très longues peuvent dépasser le délai d'expiration du jeton utilisé par gcloud CLI 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 puisse s'effectuer plus rapidement. Pour en savoir plus, consultez la documentation sur le dépannage des packages du système d'exploitation.

Importation directe

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

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

Remplacez les valeurs suivantes :

  • REPOSITORY est le nom du dépôt Artifact Registry.
  • LOCATION est l'emplacement régional ou multirégional du dépôt.
  • PACKAGES est le 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 us-central1, exécutez la commande suivante:

gcloud artifacts yum upload my-repo \
    --location=us-central1 \
    --source=my-package.rpm

Cloud Storage

  1. Importez les packages dans Cloud Storage de l'une des manières suivantes:

    • Importer des packages directement dans un bucket Cloud Storage
    • Créer des packages avec Cloud Build et les stocker dans un bucket
  2. Exécutez la commande suivante :

    gcloud artifacts yum import REPOSITORY \
        --location=LOCATION \
        --gcs-source=PACKAGES
    

    Remplacez les valeurs suivantes :

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

    Par exemple, pour importer le package package.rpm et tous les packages du répertoire directory à partir du bucket my-bucket dans le dépôt Yum my-repo à l'emplacement us-central1, exécutez la commande suivante:

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

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

Si vous avez un grand dépôt avec un grand nombre de packages, la génération de l'index de packages peut prendre plusieurs minutes afin que le client Yum puisse voir les nouveaux packages.

Afficher des packages

Modes de dépôt:standard, distant (aperçu)

Pour afficher les packages, vous devez disposer des autorisations du rôle Lecteur Artifact Registry. Artifact Registry ne liste pas les fichiers dans les packages.

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

Console

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

    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 les versions correspondantes.

gcloud

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

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

  • REPOSITORY est le nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
  • LOCATION est un emplacement régional ou multirégional. 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.

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

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

Où :

  • 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 un emplacement régional ou multirégional. 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.

Installer des packages

Modes de dépôt:standard, distant (aperçu)

Avant d'installer des packages, vérifiez que vous avez correctement configuré le gestionnaire de packages et le dépôt.

Pour installer des packages:

Installez le package, en spécifiant le nom du dépôt configuré dans Yum.

sudo yum --enablerepo=REPOSITORY install PACKAGE

Remplacez les valeurs suivantes :

  • PACKAGE est le nom du package.
  • REPOSITORY est le 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 console Google Cloud.

    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 suivante :

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

  • PACKAGE est le nom du package du dépôt.
  • 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 un emplacement régional ou multirégional. 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.
  • --async renvoie 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 console Google Cloud.

    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 les versions correspondantes.

  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 suivante :

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

  • PACKAGE est le nom du package du dépôt.
  • 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 un emplacement régional ou multirégional. 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.
  • --async renvoie immédiatement, sans attendre la fin de l'opération en cours.

Pour les dépôts volumineux, la génération de l'index du package Yum peut prendre quelques minutes afin de refléter les suppressions.

Étapes suivantes