Gérer les paquets Debian

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

Avant de commencer

  1. Si le dépôt Apt cible 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 de vos packages dans les métadonnées respectent les normes relatives aux noms de packages Debian.

Ajouter des packages

Modes de dépôt : standard

Vous devez disposer des autorisations en lecture et en écriture pour le dépôt afin d'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. Si vous créez des packages à l'aide de Cloud Build, la compilation peut stocker les packages dans Cloud Storage pour que vous puissiez les importer.

Les opérations d'importation ou d'importation très longues peuvent dépasser la période d'expiration du jeton utilisé par la gcloud CLI pour appeler l'API. Si vous avez un très grand nombre de packages à ajouter, envisagez de les ajouter par petits groupes afin que chaque opération d'importation ou d'importation puisse se terminer plus rapidement. Pour en savoir plus, consultez la documentation Dépannage des packages OS.

Importation directe

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

gcloud 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 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 u-france-east1, exécutez la commande suivante :

gcloud artifacts apt upload my-repo \
    --location=u-france-east1 \
    --source=my-package.deb

Cloud Storage

  1. Importez les packages dans Cloud Storage en procédant comme suit :
    • Importer des packages directement dans un bucket Cloud Storage
  2. Exécutez la commande suivante :
    gcloud 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 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 de tous les sous-répertoires.

    Par exemple, pour importer le package package.deb et tous les packages du répertoire directory du bucket my-bucket vers le dépôt Apt my-repo à l'emplacement u-france-east1, exécutez la commande suivante :

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

Une fois l'opération d'importation ou d'importation terminée, vous pouvez utiliser la consoleCloud de Confiance ou la 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 avec de nombreux packages, la régénération de l'index de packages peut prendre plusieurs minutes afin que les nouveaux packages soient visibles par le client Apt.

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 liste pas les fichiers à l'intérieur des packages.

To view packages and package versions using the Cloud de Confiance console or gcloud:

Console

  1. Open the Repositories page in the Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Click a package to view versions of the package.

gcloud

To list packages in a repository, run the following command:

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

Replace the following:

  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is the regional location of the repository. If you configured a default location, then you can omit this flag to use the default.

To view versions of a package, run the following command:

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

Replace the following:

  • PACKAGE is the ID of the package or fully qualified identifier for the package.
  • REPOSITORY is the name of the repository. If you configured a default repository, then you can omit this flag to use the default.
  • LOCATION is the regional location of the repository. Use this flag to view repositories in a specific location. If you configured a default location, then you can omit this flag to use the default.

Installer des packages

Modes de dépôt : standard

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

Pour installer un package dans le dépôt :

  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

Modes de dépôt : standard

Before you delete a package or package version, verify that any you have communicated or addressed any important dependencies on it.

To delete a package:

Console

  1. Open the Repositories page in the Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Select the package that you want to delete.

  4. Click DELETE.

  5. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

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

Replace the following:

  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, then you can omit this flag to use the default.
  • LOCATION is the regional location of the repository. Use this flag to view repositories in a specific location. If you configured a default location, then you can omit this flag to use the default.

The --async flag causes the command to return immediately, without waiting for the operation in progress to complete.

To delete versions of a package:

Console

  1. Open the Repositories page in the Cloud de Confiance console.

    Ouvrir la page "Dépôts"

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Click a package to view versions of that package.

  4. Select versions that you want to delete.

  5. Click DELETE.

  6. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

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

Replace the following:

  • VERSION is the name of the version to delete.
  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, then you can omit this flag to use the default.
  • LOCATION is the regional location of the repository. Use this flag to view repositories in a specific location. If you configured a default location, then you can omit this flag to use the default.

The --async flag causes the command to return immediately, without waiting for the operation in progress to complete.

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

Étapes suivantes