Cette page explique comment ajouter, afficher et supprimer des paquets Debian dans les dépôts Apt.
Avant de commencer
- Si le dépôt Apt cible n'existe pas, créez un dépôt.
- Configurez les VM pour qu'elles accèdent au dépôt.
- (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
- Assurez-vous que les noms de vos packages dans les métadonnées respectent les normes de dénomination des paquets 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 paquets.
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 les stocker dans Cloud Storage pour que vous puissiez les importer.
Des opérations d'importation ou d'importation très longues peuvent dépasser la période 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 ou d'importation puisse être effectuée plus rapidement. Pour en savoir plus, consultez la documentation Résoudre les problèmes liés aux paquets d'OS.
Importation directe
Utilisez la commande gcloud artifacts apt upload
pour importer un paquet 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 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-west1
, exécutez la commande suivante:
gcloud artifacts apt upload my-repo \ --location=us-west1 \ --source=my-package.deb
Cloud Storage
- Importez les packages dans Cloud Storage en procédant comme suit :
- Importez des packages directement dans un bucket Cloud Storage.
- Créer des packages avec Cloud Build et les stocker dans un bucket
- 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 ou multirégional du dépôt. PACKAGES
est une liste de packages dans Cloud Storage séparés par une virgule. Pour importer tous les packages à partir 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.rpm
et tous les packages du répertoiredirectory
à partir du bucketmy-bucket
vers le dépôt Aptmy-repo
à l'emplacementus-west1
, exécutez la commande suivante:gcloud artifacts apt import my-repo \ --location=us-west1 \ --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 consoleGoogle Cloud 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 dépôt volumineux contenant de nombreux paquets, la régénération de l'index des paquets peut prendre plusieurs minutes afin que les nouveaux paquets soient visibles par le client Apt.
Afficher les packages
Modes de dépôt: standard, distant (preview)Pour afficher les packages, vous devez disposer des autorisations du rôle Lecteur d'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 gcloud
:
Console
Ouvrez la page Dépôts dans la console Google Cloud .
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.
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 ou multirégional du dépôt. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cet indicateur 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]
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 ou multiré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.
Installer des packages
Modes de dépôt: standard, distant (preview)Avant d'installer des paquets, vérifiez que vous avez correctement configuré le gestionnaire de paquets et le dépôt.
Pour installer un paquet dans le dépôt:
Mettez à jour la liste des packages disponibles :
sudo apt update
Installez le paquet 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. Pour les dépôts distants, utilisez le nom du dépôt en amont standard.
Par exemple, pour installer le package
my-package
à partir du dépôtmy-repo
, exécutez la commande suivante:sudo apt install my-package -t my-repo
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
Ouvrez la page Dépôts dans la console Google Cloud .
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.
Sélectionnez le package que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
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, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.-
LOCATION
est l'emplacement régional ou multiré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'option --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
Ouvrez la page Dépôts dans la console Google Cloud .
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.
Cliquez sur un package pour afficher ses versions.
Sélectionnez les versions que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
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
correspond au 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, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.-
LOCATION
est l'emplacement régional ou multiré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'option --async
permet à la commande de renvoyer immédiatement une réponse, sans attendre la fin de l'opération en cours.
Pour les dépôts volumineux, la régénération de l'index des paquets Apt pour refléter les suppressions peut prendre quelques minutes.