Gestire i pacchetti Debian

Questa pagina descrive come aggiungere, visualizzare ed eliminare i pacchetti Debian nei repository Apt.

Prima di iniziare

  1. Se il repository Apt di destinazione non esiste, crea 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 gli standard per i nomi dei pacchetti Debian.

Aggiunta di pacchetti

Modalità del repository: standard

Per aggiungere pacchetti al repository, devi disporre delle autorizzazioni di lettura e scrittura.

Puoi caricare un pacchetto in un repository utilizzando l'interfaccia a riga di comando Google Cloud oppure puoi importarne uno archiviato in Cloud Storage. Se crei pacchetti utilizzando Cloud Build, la compilazione può archiviarli in Cloud Storage per consentirti di importarli.

Le operazioni di importazione o caricamento molto lunghe potrebbero superare il periodo di scadenza del token utilizzato dall'interfaccia a riga di comando gcloud per chiamare l'API. Se hai un numero molto elevato di pacchetti da aggiungere, valuta la possibilità di aggiungerli in batch più piccoli in modo che ogni operazione di caricamento o importazione possa essere completata in un tempo più breve. Per ulteriori informazioni, consulta la documentazione sulla risoluzione dei problemi relativi ai pacchetti del sistema operativo.

Caricamento diretto

Utilizza il 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 posizione regionale o multiregionale del repository.
  • PACKAGES è il percorso del pacchetto.

Ad esempio, per caricare il pacchetto my-package.deb nel repository Aptmy-repo nella posizione us-west1, esegui:

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

Cloud Storage

  1. Carica i pacchetti su Cloud Storage nel seguente modo:
    • Carica i pacchetti direttamente in un bucket Cloud Storage
    • Crea i pacchetti con Cloud Build e archiviali 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 posizione regionale o multiregionale del repository.
    • PACKAGES è un elenco separato da virgole di pacchetti in Cloud Storage. Per caricare tutti i pacchetti da una directory, utilizza un carattere jolly per le directory (*) o un carattere jolly per le directory ricorsive (**) per caricare tutti i pacchetti in tutte le sottodirectory.

    Ad esempio, per caricare il pacchetto package.rpm e tutti i pacchetti nella directory directory dal bucket my-bucket al repository Apt my-repo nella posizione us-west1, esegui:

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

Al termine dell'operazione di caricamento o importazione, puoi utilizzare la console Google Cloud o l'interfaccia a riga di comando gcloud per visualizzare i pacchetti nel repository e confermare che sono stati caricati correttamente.

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

Visualizzazione dei pacchetti

Modalità del repository: standard, remoto (anteprima)

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

Per visualizzare i pacchetti e le relative versioni utilizzando la console Google Cloud o gcloud:

Console

  1. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

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

    La pagina Pacchetti elenca i pacchetti nel repository.

  3. Fai clic su un pacchetto per visualizzarne le versioni.

gcloud

Per elencare i pacchetti in un repository, esegui il comando seguente:

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

Sostituisci quanto segue:

  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la posizione regionale o multiregionale del repository. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.

Per visualizzare le versioni di un pacchetto, esegui questo comando:

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

Sostituisci quanto segue:

  • PACKAGE è l'ID del pacchetto o l'identificatore completamente qualificato del pacchetto.
  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la posizione regionale o multiregionale del repository. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.

Installazione dei pacchetti

Modalità del repository: standard, remoto (anteprima)

Prima di installare i pacchetti, verifica di aver configurato correttamente il gestore dei 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 Apt.

    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 il comando:

    sudo apt install my-package -t my-repo
    

Eliminazione dei pacchetti

Modalità del repository: standard

Prima di eliminare un pacchetto o una versione del pacchetto, verifica di aver comunicato o risolto eventuali dipendenze importanti.

Per eliminare un pacchetto:

Console

  1. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

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

    La pagina Pacchetti elenca i pacchetti 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]

Sostituisci quanto segue:

  • PACKAGE è il nome del pacchetto nel repository.
  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la posizione regionale o multiregionale del repository. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.

Il flag --async fa sì che il comando ritorni immediatamente, senza attendere il completamento dell'operazione in corso.

Per eliminare le versioni di un pacchetto:

Console

  1. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

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

    La pagina Pacchetti elenca i pacchetti nel repository.

  3. Fai clic su un pacchetto per visualizzarne le 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]

Sostituisci quanto segue:

  • VERSION è il nome della versione da eliminare.
  • PACKAGE è il nome del pacchetto nel repository.
  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la posizione regionale o multiregionale del repository. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.

Il flag --async fa sì che il comando ritorni immediatamente, senza attendere il completamento dell'operazione in corso.

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

Passaggi successivi