Debian-Pakete verwalten

Auf dieser Seite wird beschrieben, wie Sie Debian-Pakete in Apt-Repositories hinzufügen, ansehen und löschen.

Hinweise

  1. Wenn das Ziel-Apt-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
  2. Konfigurieren Sie VMs, um auf das Repository zuzugreifen.
  3. (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
  4. Achten Sie darauf, dass Ihre Paketnamen in Metadaten den Debian-Paketnamenstandards entsprechen.

Pakete hinzufügen

Repository-Modi: Standard

Sie benötigen Lese- und Schreibberechtigungen für das Repository, um Pakete hinzuzufügen.

Sie können ein Paket über die Google Cloud CLI in ein Repository hochladen oder ein Paket importieren, das in Cloud Storage gespeichert ist. Wenn Sie Pakete mit Cloud Build erstellen, können Sie sie als Import in Cloud Storage speichern.

Sehr lange Import- oder Uploadvorgänge können die Ablaufzeit des Tokens überschreiten, das von der gcloud CLI zum Aufrufen der API verwendet wird. Wenn Sie sehr viele Pakete hinzufügen möchten, fügen Sie sie in kleinen Batches hinzu, um alle Uploads oder Importe in kürzerer Zeit durchzuführen. Weitere Informationen finden Sie in der Dokumentation zur Fehlerbehebung für Betriebssystempakete.

Direkter Upload

Verwenden Sie den Befehl gcloud artifacts apt upload, um ein Paket in ein Apt-Repository hochzuladen:

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 Standort des Repositorys.
  • PACKAGES ist der Pfad zum Paket.

Wenn Sie beispielsweise das Paket my-package.deb in das Apt-Repository my-repo am Standort us-central1 hochladen möchten, führen Sie Folgendes aus:

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

Cloud Storage

  1. Sie haben folgende Möglichkeiten, die Pakete in Cloud Storage hochzuladen:

    • Pakete direkt in einen Cloud Storage-Bucket hochladen
    • Pakete mit Cloud Build erstellen und in einem Bucket speichern
  2. 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 Repositorys.
    • PACKAGES ist eine durch Kommas getrennte Liste von Paketen in Cloud Storage. Wenn Sie alle Pakete aus einem Verzeichnis hochladen möchten, verwenden Sie einen Verzeichnisplatzhalter (*) oder einen rekursiven Verzeichnisplatzhalter (**), um alle Pakete in allen Unterverzeichnissen hochzuladen.

    Führen Sie beispielsweise den folgenden Befehl aus, um das Paket package.rpm und alle Pakete im Verzeichnis directory aus dem Bucket my-bucket in das Apt-Repository my-repo am Standort us-central1 hochzuladen:

    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 in der Google Cloud Console oder über die gcloud CLI ansehen und prüfen, ob sie erfolgreich hochgeladen wurden.

Wenn Sie ein großes Repository mit vielen Paketen haben, kann es einige Minuten dauern, den Paketindex neu zu generieren, damit die neuen Pakete für den Apt-Client sichtbar sind.

Pakete ansehen

Repository-Modi: Standard, Remote (Vorschau)

Zum Ansehen von Paketen benötigen Sie die Berechtigungen in der Artifact Registry-Leserrolle. In Artifact Registry werden keine Dateien in Paketen aufgeführt.

So rufen Sie Pakete und Paketversionen mit der Google Cloud Console oder gcloud auf:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie in der Liste der Repositories auf das entsprechende Repository.

    Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.

  3. 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]

WHERE

  • 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 regionaler oder multiregionaler Speicherort. 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 regionaler oder multiregionaler Speicherort. 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.

Pakete installieren

Repository-Modi: Standard, Remote (Vorschau)

Prüfen Sie vor der Installation von Paketen, ob Sie den Paketmanager und das Repository konfiguriert haben.

So installieren Sie ein Paket im Repository:

  1. Aktualisieren Sie die Liste der verfügbaren Pakete:

    sudo apt update
    
  2. Installieren Sie das Paket, indem Sie den Namen des in Apt konfigurierten Repositorys angeben.

    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 vorgelagerten Repositorys.

    Führen Sie beispielsweise den folgenden Befehl aus, um das Paket my-package aus dem Repository my-repo zu installieren:

    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

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie in der Liste der Repositories auf das entsprechende Repository.

    Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.

  3. Wählen Sie das Paket aus, das Sie löschen möchten.

  4. Klicken Sie auf Löschen.

  5. Klicken Sie im Bestätigungsdialogfeld auf Löschen.

gcloud

Führen Sie dazu diesen Befehl aus:

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

WHERE

  • 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 regionaler oder multiregionaler Speicherort. 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.

So löschen Sie Versionen eines Pakets:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie in der Liste der Repositories auf das entsprechende Repository.

    Auf der Seite Pakete sind die Pakete des Repositorys aufgeführt.

  3. Klicken Sie auf das Paket, um die Versionen des Pakets aufzurufen.

  4. Wählen Sie die Versionen aus, die Sie löschen möchten.

  5. Klicken Sie auf Löschen.

  6. Klicken Sie im Bestätigungsdialogfeld auf Löschen.

gcloud

Führen Sie dazu diesen Befehl aus:

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

WHERE

  • 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 regionaler oder multiregionaler Speicherort. 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 der APT-Paketindex neu erstellt und die Löschungen wiedergegeben werden.

Nächste Schritte