Gestione pacchetti RPM

Questa pagina descrive l'aggiunta, la visualizzazione e l'eliminazione dei pacchetti RPM nei repository Yum. I repository Yum di Artifact Registry supportano Yum e DNF.

Prima di iniziare

  1. Se il repository Yum 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 rispettino le linee guida per la denominazione dei pacchetti Fedora e le linee guida sul controllo delle versioni dei pacchetti Fedora.

Aggiunta di pacchetti

Modalità repository: standard

Devi disporre delle autorizzazioni di lettura e scrittura affinché il repository possa aggiungere pacchetti.

Puoi caricare un pacchetto in un repository utilizzando Google Cloud CLI oppure puoi importare un pacchetto archiviato in Cloud Storage. Se crei pacchetti utilizzando Cloud Build, nella build possono archiviare i pacchetti in Cloud Storage affinché tu possa importarli.

Le operazioni di importazione o caricamento molto lunghe potrebbero superare il periodo di scadenza per il token che gcloud CLI utilizza 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 meno tempo. Per ulteriori informazioni, consulta la documentazione sulla risoluzione dei problemi dei pacchetti del sistema operativo.

Caricamento diretto

Utilizza il comando gcloud artifacts yum upload per caricare un pacchetto in un repository Yum:

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

Sostituisci i seguenti valori:

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

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

gcloud artifacts yum upload my-repo \
    --location=us-central1 \
    --source=my-package.rpm

Cloud Storage

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

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

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

    Sostituisci i seguenti valori:

    • REPOSITORY è il nome del repository Artifact Registry.
    • LOCATION è la località del repository a livello di una o più regioni.
    • PACKAGES è un elenco separato da virgole di pacchetti in Cloud Storage. Per caricare tutti i pacchetti da una directory, utilizza un carattere jolly di directory (*) o un carattere jolly per la directory ricorsiva (**) 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 Yum my-repo nella località us-central1, esegui:

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

Al termine dell'operazione di caricamento o importazione, puoi utilizzare la console Google Cloud o gcloud CLI per visualizzare i pacchetti nel repository e verificare che siano 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 Yum.

Visualizzazione dei pacchetti

Modalità repository: standard, remota (anteprima)

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

Per visualizzare i pacchetti e le 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 un repository predefinito, puoi omettere questo flag per utilizzare il repository predefinito.
  • LOCATION è una località regionale o multiregionale località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare la località 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 l'identificatore completo del pacchetto.
  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare il repository predefinito.
  • LOCATION è una località regionale o multiregionale località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare la località predefinita.

Installazione dei pacchetti

Modalità repository: standard, remota (anteprima)

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

Per installare i pacchetti:

Installa il pacchetto, specificando il nome del repository configurato in Yum.

sudo yum --enablerepo=REPOSITORY install PACKAGE

Sostituisci i seguenti valori:

  • PACKAGE è il nome del pacchetto
  • REPOSITORY è il nome del repository configurato nel file .repo.

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

sudo yum --enablerepo=my-repo install my-package

Eliminazione dei pacchetti

Modalità repository: standard

Prima di eliminare un pacchetto o una versione del pacchetto, verifica di aver 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 un repository predefinito, puoi omettere questo flag per utilizzare il repository predefinito.
  • LOCATION è una località regionale o multiregionale località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare la località predefinita.
  • --async Torna immediatamente, senza attendere il completamento dell'operazione in corso.

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 un repository predefinito, puoi omettere questo flag per utilizzare il repository predefinito.
  • LOCATION è una località regionale o multiregionale località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare la località predefinita.
  • --async restituisce immediatamente, senza attendere il completamento dell'operazione in corso.

Per i repository di grandi dimensioni, possono essere necessari alcuni minuti per rigenerare l'indice del pacchetto Yum in modo che rifletta le eliminazioni.

Passaggi successivi