Gestisci i pacchetti RPM

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

Prima di iniziare

  1. Se il repository Yum di destinazione non esiste, creane uno nuovo.
  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 linee guida per la denominazione dei pacchetti Fedora e le linee guida per il controllo delle versioni dei pacchetti Fedora.

Aggiunta di pacchetti

Modalità repository: standard

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

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 per consentirti di 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, ti consigliamo 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 relativa alla 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à a livello di una o più regioni del repository.
  • 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 seguenti modi:

    • 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à a livello di una o più regioni del repository.
    • PACKAGES è un elenco di pacchetti separati da virgole in Cloud Storage. Per caricare tutti i pacchetti da una directory, utilizza un carattere jolly della directory (*) o un carattere jolly della 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 nel repository Yum my-repo nel percorso 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, remoto (anteprima)

Per visualizzare i pacchetti, devi disporre delle autorizzazioni nel ruolo Lettore 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 Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic su quello appropriato.

    Nella pagina Pacchetti sono elencati i pacchetti nel repository.

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

gcloud

Per elencare i pacchetti 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 quello predefinito.
  • LOCATION è una località a livello di una o più regioni. Utilizza questo flag per visualizzare i repository in una località specifica. 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]

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 quello predefinito.
  • LOCATION è una località a livello di una o più regioni. Utilizza questo flag per visualizzare i repository in una località specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.

Installazione dei pacchetti

Modalità repository: standard, remoto (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 risolto eventuali dipendenze importanti.

Per eliminare un pacchetto:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic su quello appropriato.

    Nella pagina Pacchetti sono elencati 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]

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 quello predefinito.
  • LOCATION è una località a livello di una o più regioni. Utilizza questo flag per visualizzare i repository in una località specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.
  • --async Torna immediatamente, senza attendere il completamento dell'operazione in corso.

Per eliminare le versioni di un pacchetto:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic su quello appropriato.

    Nella pagina Pacchetti sono elencati i pacchetti 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 quello predefinito.
  • LOCATION è una località a livello di una o più regioni. Utilizza questo flag per visualizzare i repository in una località specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.
  • --async viene restituito immediatamente, senza attendere il completamento dell'operazione in corso.

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

Passaggi successivi