Apt-Pakete in Artifact Registry speichern
In dieser Kurzanleitung wird gezeigt, wie Sie ein privates Artifact Registry-Apt-Repository einrichten, ein Debian-Paket zum Repository hinzufügen und das Paket auf einer Compute Engine-VM installieren, auf der ein Debian-basiertes Betriebssystem ausgeführt wird.
Weitere Informationen zum Verwalten von Debian-Paketen finden Sie unter Mit Debian-Paketen arbeiten.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Konto haben, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Artifact Registry-Apt-Paket-Repositories benötigen:
- Artifact Registry-Administrator (
roles/artifactregistry.admin) -
Compute Instance Admin (Version 1) (
roles/compute.instanceAdmin.v1) zum Erstellen einer virtuellen Maschine (VM) in Compute Engine:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Cloud Shell starten
Die Google Cloud CLI ist in Cloud Shell vorinstalliert. Die gcloud CLI bietet die primäre Befehlszeile für Google Cloud.
Cloud Shell aufrufen
Zur Google Cloud Console.
Klicken Sie in der Google Cloud Console auf Cloud Shell aktivieren
.
In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.
In dieser Shell führen Sie die gcloud-Befehle aus, um eine VM und ein Repository zu erstellen.
Repository erstellen
Erstellen Sie das Repository für Ihre Artefakte.
Im Folgenden wird gezeigt, wie Sie das Repository anlegen.
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Klicken Sie auf Repository erstellen.
Geben Sie
quickstart-apt-repoals Repository-Namen an.Wählen Sie Apt als Format aus.
Wählen Sie unter Standorttyp die Option Region und dann den Standort
us-west1aus.Klicken Sie auf Erstellen.
Das Repository wird der Repository-Liste hinzugefügt.
gcloud
Führen Sie in Cloud Shell den folgenden Befehl aus, um ein neues Apt Repository im aktuellen Projekt mit dem Namen
quickstart-apt-repoam Standortus-west1zu erstellen.gcloud artifacts repositories create quickstart-apt-repo \ --repository-format=apt \ --location=us-west1 \ --description="Apt repository"Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:
gcloud artifacts repositories list
Sie können jetzt ein Paket zum Repository hinzufügen. Cloud Shell verwendet ein von Google erstelltes Ubuntu-Image, nicht Debian. Zum Verwalten von Debian-Paketen im Repository verwenden Sie eine VM, die ein Debian-Betriebssystem-Image verwendet.
VM erstellen
Erstellen Sie eine neue Compute Engine-VM, auf der Sie das Beispielpaket installieren.
Führen Sie in Cloud Shell den folgenden Befehl aus, um eine VM-Instanz mit dem Namen quickstart-apt-vm zu erstellen:
gcloud compute instances create quickstart-apt-vm \
--image-family=debian-12 \
--image-project=debian-cloud \
--scopes=cloud-platform
Standardmäßig hat die VM nicht die erforderlichen Zugriffsbereiche für
die Arbeit mit dem Repository. Mit dem Flag --scopes wird der Zugriffsbereich für die VM auf cloud-platform festgelegt.
Gehen Sie zur Seite "VM-Instanzen".
Klicken Sie in der Zeile mit Ihrer VM auf SSH. Ein neues Fenster mit einer Terminalsitzung auf der VM wird geöffnet.
Paket zum Repository hinzufügen
Sie können ein Paket mit der Google Cloud CLI in ein Repository hochladen oder ein Paket importieren, das in Cloud Storage gespeichert ist. Wenn Sie Pakete mit Cloud Build erstellen, kann der Build die Pakete in Cloud Storage speichern, damit Sie sie importieren können.In dieser Kurzanleitung laden Sie eine Beispieldatei mit dem Befehl gcloud artifacts apt upload hoch.
Führen Sie
gcloud initaus, um die Google Cloud CLI auf Ihrer VM zu initialisieren.Aktualisieren Sie Apt:
sudo apt updateLaden Sie das Curl-Paket mit dem folgenden Befehl herunter:
apt download curlApt lädt die neueste Version des Pakets herunter, die in den konfigurierten Apt-Repositories verfügbar ist.
Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 316 kB in 0s (3078 kB/s)Führen Sie
lsaus, um den Dateinamen des Curl-Pakets zu erhalten. Der Dateiname ähneltcurl_7.88.1-10+deb12u14_amd64.deb.Um die
gcloudBefehle zu vereinfachen, legen Sie für das Standard-Repository den Wertquickstart-apt-repound für den standardmäßigen Standortus-west1fest. Nachdem die Werte festgelegt wurden, müssen Sie sie nicht mehr ingcloud-Befehlen angeben, die ein Repository oder einen Speicherort erfordern.Führen Sie den folgenden Befehl aus, um das Repository festzulegen:
gcloud config set artifacts/repository quickstart-apt-repoFühren Sie den folgenden Befehl aus, um den Standort festzulegen:
gcloud config set artifacts/location us-west1Weitere Informationen zu diesen Befehlen finden Sie in der Dokumentation zu gcloud config set.
Führen Sie
gcloud artifacts apt uploadaus, um das Paket in das Repository hochzuladen:gcloud artifacts apt upload quickstart-apt-repo \ --source=FILE_NAMEErsetzen Sie
FILE_NAMEdurch den Pfad zum Curl-Paket.
Paket im Repository ansehen
Prüfen Sie, ob Ihr Paket dem Repository hinzugefügt wurde.
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Klicken Sie in der Repository-Liste auf das Repository quickstart-apt-repo.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
gcloud
Führen Sie den folgenden Befehl aus, um die Pakete im Repository quickstart-apt-repo aufzulisten:
gcloud artifacts packages list
Führen Sie den folgenden Befehl aus, um die Versionen eines Pakets in quickstart-apt-repo aufzurufen:
gcloud artifacts versions list --package=apt-dpkg-ref
Paketmanager konfigurieren
Wenn Sie ein Paket auf der VM installieren möchten, fügen Sie das erstellte Repository der Apt-Konfigurationsdatei hinzu, in der die Paket-Repositories definiert sind.
Installieren Sie den Apt-Anmeldeinformationshelfer auf der VM, damit Apt die Authentifizierung durchführen kann:
sudo apt install apt-transport-artifact-registryKonfigurieren Sie Ihre VM für den Zugriff auf Artifact Registry-Pakete:
echo 'deb ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo main' | sudo tee -a /etc/apt/sources.list.d/artifact-registry.listErsetzen Sie PROJECT durch Ihre Google Cloud Projekt-ID.
Paket installieren
Installieren Sie das Paket, das Sie dem Repository hinzugefügt haben.
Aktualisieren Sie die Liste der verfügbaren Pakete:
sudo apt updateInstallieren Sie das Paket aus Ihrem Repository.
sudo apt install curl/quickstart-apt-repoDie zurückgegebenen Installationsinformationen sehen so aus:
Reading package lists... Done Building dependency tree... Done Reading state information... Done Selected version '7.88.1-10+deb12u14' (quickstart-apt-repo:quickstart-apt-repo, Debian:12.12/oldstable [amd64]) for 'curl' The following additional packages will be installed: libcurl3-gnutls libcurl4 The following packages will be upgraded: curl libcurl3-gnutls libcurl4 3 upgraded, 0 newly installed, 0 to remove and 77 not upgraded. Need to get 1093 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:2 https://deb.debian.org/debian bookworm/main amd64 libcurl4 amd64 7.88.1-10+deb12u14 [392 kB] Get:3 https://deb.debian.org/debian bookworm/main amd64 libcurl3-gnutls amd64 7.88.1-10+deb12u14 [386 kB] Get:4 ar+https://us-west1-apt.pkg.dev/projects/PROJECT quickstart-apt-repo/main amd64 curl amd64 7.88.1-10+deb12u14 [316 kB] Fetched 1093 kB in 1s (947 kB/s) Reading changelogs... Done (Reading database ... 72080 files and directories currently installed.) Preparing to unpack .../curl_7.88.1-10+deb12u14_amd64.deb ... Unpacking curl (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl4_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl4:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Preparing to unpack .../libcurl3-gnutls_7.88.1-10+deb12u14_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) over (7.88.1-10+deb12u12) ... Setting up libcurl3-gnutls:amd64 (7.88.1-10+deb12u14) ... Setting up libcurl4:amd64 (7.88.1-10+deb12u14) ... Setting up curl (7.88.1-10+deb12u14) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+deb12u10) ...
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden.
Prüfen Sie vor dem Entfernen des Repositorys, ob alle Pakete, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.
So löschen Sie das Repository:
Console
Öffnen Sie in der Google Cloud console die Seite Repositories.
Wählen Sie in der Repository-Liste das Repository quickstart-apt-repo aus.
Klicken Sie auf Löschen.
gcloud
Um das Repository
quickstart-apt-repozu löschen, führen Sie folgenden Befehl aus:gcloud artifacts repositories delete quickstart-apt-repoWenn Sie die Standardeinstellungen für das Repository und den Standort entfernen möchten, die Sie für die aktive
gcloud-Konfiguration festgelegt haben, führen Sie die folgenden Befehle aus:gcloud config unset artifacts/repository gcloud config unset artifacts/location
Führen Sie den folgenden Befehl aus, um die erstellte VM zu löschen:
gcloud compute instances delete quickstart-apt-vm
Nächste Schritte
- Mit Deb-Paketen arbeiten.
- Informationen zu DevOps und zum DevOps-Forschungsprogramm