Auf dieser Seite wird beschrieben, wie Sie Debian-Pakete in Apt-Repositories hinzufügen, aufrufen und löschen.
Hinweise
- Wenn das Ziel-Apt-Repository nicht vorhanden ist, Erstellen Sie ein neues Repository.
- Konfigurieren Sie VMs für den Zugriff auf das Repository.
- (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
- Die Paketnamen in den Metadaten müssen den Debian-Standards für Paketnamen entsprechen.
Pakete hinzufügen
Repository-Modi: standard
Sie benötigen sowohl Lese- als auch Schreibberechtigungen für den Repository zum Hinzufügen von Paketen.
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 kann der Build die Pakete für Sie in Cloud Storage speichern. zu importieren.
Sehr lange Import- oder Upload-Vorgänge können die Ablauffrist für die Token, das die gcloud CLI zum Aufrufen der API verwendet. Wenn Sie eine Pakete hinzufügen können, sollten Sie sie in kleineren Batches hinzufügen, damit kann jeder Upload- oder Importvorgang in kürzerer Zeit abgeschlossen werden. Weitere Informationen finden Sie in der Dokumentation zur Fehlerbehebung bei Betriebssystempaketen.
Direkter Upload
Verwenden Sie die Methode
gcloud artifacts apt upload
-Befehl
So laden Sie ein Paket in ein Apt-Repository hoch:
gcloud artifacts apt upload REPOSITORY \
--location=LOCATION \
--source=PACKAGES
Ersetzen Sie die folgenden Werte:
- REPOSITORY ist der Name des Artifact Registry-Repositorys.
- LOCATION ist der regionale oder multiregionale Speicherort des Repositorys.
- PACKAGES ist der Pfad zum Paket.
Um beispielsweise das Paket my-package.deb
in das Apt-Repository hochzuladen
Führen Sie my-repo
am Standort us-central1
aus:
gcloud artifacts apt upload my-repo \ --location=us-central1 \ --source=my-package.deb
Cloud Storage
Sie haben folgende Möglichkeiten, die Pakete in Cloud Storage hochzuladen:
- Laden Sie Pakete direkt in ein Cloud Storage-Bucket
- Pakete mit Cloud Build erstellen und in einem Bucket speichern
Führen Sie dazu diesen Befehl aus:
gcloud artifacts apt import REPOSITORY \ --location=LOCATION \ --gcs-source=PACKAGES
Ersetzen Sie die folgenden Werte:
- REPOSITORY ist der Name des Artifact Registry-Repositorys.
- LOCATION ist der regionale oder multiregionale Standort des zu erstellen.
- PACKAGES ist eine durch Kommas getrennte Liste von Paketen in
Cloud Storage Wenn Sie alle Pakete aus einem Verzeichnis hochladen möchten, verwenden Sie eine
(
*
) oder einen rekursiven Verzeichnisplatzhalter (**) verwenden, um alle Pakete in alle Unterverzeichnisse hochladen.
Um beispielsweise das Paket
package.rpm
und alle Pakete in Das Verzeichnisdirectory
aus dem Bucketmy-bucket
in das Apt. Repositorymy-repo
unterus-central1
, führen Sie folgenden Befehl aus:gcloud artifacts apt import my-repo \ --location=us-central1 \ --gcs-source=gs://my-bucket/path/to/package.deb,gs://my-bucket/directory*
Wenn der Upload- oder Importvorgang abgeschlossen ist, können Sie die Pakete im Repository über die Google Cloud Console oder die gcloud CLI aufrufen und prüfen, ob sie erfolgreich hochgeladen wurden.
Wenn Sie ein großes Repository mit vielen Paketen haben, kann es einige Minuten dauern, bis der Paketindex neu generiert wurde und die neuen Pakete für den Apt-Client sichtbar sind.
Pakete ansehen
Repository-Modi: Standard, Remote (Vorabversion)
Um Pakete aufzurufen, benötigen Sie die Berechtigungen der Rolle „Artifact Registry Reader“. Artifact Registry listet keine Dateien auf in Paketen enthalten.
So rufen Sie Pakete und Paketversionen mit der Google Cloud Console auf:
oder gcloud
:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
gcloud
Führen Sie den folgenden Befehl aus, um die Pakete in einem Repository aufzulisten:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Dabei gilt:
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
Um die Versionen für ein Paket aufzurufen, führen Sie folgenden Befehl aus:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Wo
- PACKAGE ist die ID des Pakets oder die vollqualifizierte Kennzeichnung für das Paket.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie default-Speicherort konfiguriert haben, können Sie dieses Flag weglassen, die Standardeinstellung.
Pakete installieren
Repository-Modi: Standard, Remote (Vorabversion)
Bevor Sie Pakete installieren, prüfen Sie, ob Sie den Paketmanager und das Repository richtig konfiguriert haben.
So installieren Sie ein Paket im Repository:
Aktualisieren Sie die Liste der verfügbaren Pakete:
sudo apt update
Installieren Sie das Paket und geben Sie den Namen des Repositorys an, das in Wohnung
sudo apt install PACKAGE/REPOSITORY
Ersetzen Sie die folgenden Werte:
- PACKAGE ist der Paketname.
- REPOSITORY ist der Name des Artifact Registry-Repositorys. Verwenden Sie für Remote-Repositories den Namen des standardmäßigen Upstream-Repositorys.
Um beispielsweise das Paket
my-package
aus dem Repository zu installierenmy-repo
, führen Sie den folgenden Befehl aus:sudo apt install my-package -t my-repo
Pakete löschen
Repository-Modi: Standard
Bevor Sie ein Paket oder eine Paketversion löschen, prüfen Sie, ob Sie alle wichtigen Abhängigkeiten davon kommuniziert oder behoben haben.
So löschen Sie ein Paket:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Wählen Sie das Paket aus, das Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie folgenden Befehl aus:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dabei gilt:
- PACKAGE ist der Name des Pakets im Repository.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie default-Speicherort konfiguriert haben, können Sie dieses Flag weglassen, die Standardeinstellung.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
So löschen Sie Versionen eines Pakets:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie in der Liste der Repositories auf das entsprechende Repository.
Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.
Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.
Wählen Sie die Versionen aus, die Sie löschen möchten.
Klicken Sie auf Löschen.
Klicken Sie im Bestätigungsdialogfeld auf Löschen.
gcloud
Führen Sie folgenden Befehl aus:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dabei gilt:
- PACKAGE ist der Name des Pakets im Repository.
- REPOSITORY ist der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses Flags dieses Standard-Repository verwendet.
- LOCATION ist ein regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Bei großen Repositories kann es einige Minuten dauern, bis das Apt-Paket neu generiert wird um Löschungen widerzuspiegeln.