Gérer les packages Debian

Cette page décrit comment ajouter, afficher et supprimer des packages Debian dans des dépôts Apt.

Avant de commencer

  1. Si le dépôt Apt cible n'existe pas, créez un dépôt.
  2. Configurez des 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 de vos packages dans les métadonnées respectent les normes de nom de package Debian.

Ajouter des packages

Pour ajouter des packages, vous devez disposer d'autorisations de lecture et d'écriture.

Vous pouvez importer un package dans un dépôt à l'aide de l'outil de ligne de commande gcloud ou importer un package stocké dans Cloud Storage. Si vous compilez des packages à l'aide de Cloud Build, la compilation peut les stocker dans Cloud Storage pour les importer.

Importation directe

Exécutez la commande gcloud beta artifacts apt upload pour importer un package dans un dépôt Apt:

gcloud beta artifacts apt 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.deb dans le dépôt Apt my-repo à l'emplacement us-central1, exécutez la commande suivante:

gcloud beta artifacts apt upload my-repo \
    --location=us-central1 \
    --source=my-package.deb

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 beta artifacts apt 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 un caractère générique de répertoire (*) ou un caractère générique de répertoire récursif (**) pour 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 du bucket my-bucket vers le dépôt Apt my-repo à l'emplacement us-central1, exécutez la commande suivante:

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

Afficher les packages

Pour afficher les packages, vous devez disposer des autorisations du rôle "Lecteur Artifact Registry".

Pour afficher les packages et les versions de packages à l'aide de Google Cloud Console ou de gcloud, procédez comme suit:

Console

  1. Ouvrez la page Dépôts dans Google Cloud 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 en afficher les 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]

Où :

  • 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 son identifiant complet.
  • 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

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

Pour installer un package dans le dépôt, procédez comme suit:

  1. Mettez à jour la liste des packages disponibles:

    sudo apt update
    
  2. Installez le package, en spécifiant le nom du dépôt configuré dans Apt.

    sudo apt install PACKAGE/REPOSITORY
    

    Remplacez les valeurs suivantes :

    • PACKAGE est le nom du package.
    • REPOSITORY est le nom du dépôt Artifact Registry.

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

    sudo apt install my-package -t my-repo
    

Supprimer des packages

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 Google Cloud 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 à 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]

Où :

  • 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, 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 Google Cloud 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 suivante :

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

Où :

  • 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, 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 est immédiatement renvoyé, sans attendre la fin de l'opération en cours.

Étape suivante