Gestione di pacchetti Debian

Questa pagina descrive l'aggiunta, la visualizzazione e l'eliminazione di pacchetti Debian in Apt repository.

Prima di iniziare

  1. Se il repository Apt di destinazione non esiste, per creare un nuovo repository.
  2. Configura le VM per accedere al repository.
  3. (Facoltativo) Configura i valori predefiniti per i comandi gcloud.
  4. Assicurati che i nomi dei pacchetti nei metadati soddisfino le Standard dei nomi dei pacchetti Debian.

Aggiunta di pacchetti

Modalità repository: standard

Devi disporre delle autorizzazioni di lettura e scrittura per per aggiungere pacchetti.

Puoi caricare un pacchetto in un repository utilizzando Google Cloud CLI oppure importare un pacchetto archiviato in Cloud Storage. Se crei pacchetti utilizzando Cloud Build, la build può archiviare i pacchetti in Cloud Storage al posto tuo per eseguire l'importazione.

Le operazioni di importazione o caricamento molto lunghe potrebbero superare il periodo di scadenza della usato da gcloud CLI per chiamare l'API. Se disponi di un un numero elevato di pacchetti, valuta la possibilità di aggiungerli in batch più piccoli, ogni operazione di caricamento o importazione può essere completata in meno tempo. Per ulteriori informazioni, consulta la documentazione sulla risoluzione dei problemi dei pacchetti del sistema operativo informazioni.

Caricamento diretto

Utilizza la Comando gcloud artifacts apt upload per caricare un pacchetto in un repository Apt:

gcloud artifacts apt upload REPOSITORY \
    --location=LOCATION \
    --source=PACKAGES

Sostituisci i seguenti valori:

  • REPOSITORY è il nome del repository Artifact Registry.
  • LOCATION è la località a una o più regioni del repository Git.
  • PACKAGES è il percorso del pacchetto.

Ad esempio, per caricare il pacchetto my-package.deb nel repository Apt my-repo nella località us-central1, esegui:

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

Cloud Storage

  1. Carica i pacchetti in Cloud Storage in uno dei modi seguenti:

    • Carica i pacchetti direttamente su un Bucket Cloud Storage
    • Crea pacchetti con Cloud Build e archiviarlo in un bucket
  2. Esegui questo comando:

    gcloud artifacts apt import REPOSITORY \
        --location=LOCATION \
         --gcs-source=PACKAGES
    

    Sostituisci i seguenti valori:

    • REPOSITORY è il nome del repository Artifact Registry.
    • LOCATION è la località a una o più regioni del repository Git.
    • PACKAGES è un elenco separato da virgole di pacchetti in di archiviazione ideale in Cloud Storage. Per caricare tutti i pacchetti da una directory, utilizza un'interfaccia carattere jolly della directory (*) oppure utilizza un carattere jolly nella directory ricorsiva (**) e caricare tutti i pacchetti in tutte le sottodirectory.

    Ad esempio, per caricare il pacchetto package.rpm e tutti i pacchetti in la directory directory dal bucket my-bucket all'Apt repository my-repo nella località us-central1, esegui:

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

Al termine dell'operazione di caricamento o importazione, puoi utilizzare Console Google Cloud o gcloud CLI per visualizzare i pacchetti nella repository e verificare che siano stati caricati correttamente.

Se hai un repository di grandi dimensioni con molti pacchetti, potrebbero essere necessarie minuti per rigenerare l'indice dei pacchetti in modo che i nuovi pacchetti siano visibili il client Apt.

Visualizzazione dei pacchetti

Modalità repository: standard, remota (anteprima)

Per visualizzare i pacchetti, devi disporre delle autorizzazioni in Artifact Registry Ruolo lettore. Artifact Registry non elenca i file all'interno dei pacchetti.

Visualizzazione di pacchetti e versioni dei pacchetti utilizzando la console Google Cloud o gcloud:

Console

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic sul repository appropriato.

    La pagina Pacchetti elenca i pacchetti presenti nel repository.

  3. Fai clic su un pacchetto per visualizzare le sue versioni.

gcloud

Per elencare i pacchetti contenuti in un repository, esegui questo comando:

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

Dove

  • REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare per impostazione predefinita.
  • LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.

Per visualizzare le versioni di un pacchetto, esegui il comando seguente:

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

Dove

  • PACKAGE è l'ID del pacchetto o dell'identificatore completo per il pacchetto.
  • REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.

Installazione dei pacchetti

Modalità repository: standard, remota (anteprima)

Prima di installare i pacchetti, verifica di aver configurato il gestore di pacchetti e il repository.

Per installare un pacchetto nel repository:

  1. Aggiorna l'elenco dei pacchetti disponibili:

    sudo apt update
    
  2. Installa il pacchetto, specificando il nome del repository configurato in App.

    sudo apt install PACKAGE/REPOSITORY
    

    Sostituisci i seguenti valori:

    • PACKAGE è il nome del pacchetto.
    • REPOSITORY è il nome del repository Artifact Registry. Per i repository remoti, utilizza il nome del repository upstream standard.

    Ad esempio, per installare il pacchetto my-package dal repository my-repo, esegui questo comando:

    sudo apt install my-package -t my-repo
    

Eliminazione dei pacchetti

Modalità repository: standard

Prima di eliminare un pacchetto o una versione del pacchetto, verifica di avere che abbia comunicato o gestito eventuali dipendenze importanti.

Per eliminare un pacchetto:

Console

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic sul repository appropriato.

    La pagina Pacchetti elenca i pacchetti presenti nel repository.

  3. Seleziona il pacchetto da eliminare.

  4. Fai clic su ELIMINA.

  5. Nella finestra di dialogo di conferma, fai clic su ELIMINA.

gcloud

Esegui questo comando:

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

Dove

  • PACKAGE è il nome del pacchetto nel repository.
  • REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
  • --async Torna immediatamente, senza attendere che l'operazione in corso venga completato.

Per eliminare versioni di un pacchetto:

Console

  1. Apri la pagina Repository nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic sul repository appropriato.

    La pagina Pacchetti elenca i pacchetti presenti nel repository.

  3. Fai clic su un pacchetto per visualizzare le relative versioni.

  4. Seleziona le versioni da eliminare.

  5. Fai clic su ELIMINA.

  6. Nella finestra di dialogo di conferma, fai clic su ELIMINA.

gcloud

Esegui questo comando:

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

Dove

  • PACKAGE è il nome del pacchetto nel repository.
  • REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
  • --async ritorna immediatamente, senza attendere che l'operazione in corso venga completato.

Per i repository di grandi dimensioni, la rigenerazione del pacchetto Apt può richiedere alcuni minuti per riflettere le eliminazioni.

Passaggi successivi