Gestire i pacchetti RPM

I repository Yum in Artifact Registry ti consentono di gestire centralmente i tuoi pacchetti RPM e di mantenere dipendenze software coerenti nei tuoi workload Linux. Puoi aggiungere, visualizzare ed eliminare i pacchetti e installarli utilizzando i gestori di pacchetti Yum o 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 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 scrittura per il repository.

Puoi caricare un pacchetto in un repository utilizzando Google Cloud CLI o importare un pacchetto archiviato in Cloud Storage.

Le operazioni di importazione o caricamento molto lunghe potrebbero superare il periodo di scadenza del token utilizzato da gcloud CLI 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 periodo di tempo più breve. Per saperne di più, consulta la documentazione sulla risoluzione dei problemi relativi ai 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à regionale del repository.
  • PACKAGES è il percorso del pacchetto.

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

gcloud artifacts yum upload my-repo \
    --location=u-france-east1 \
    --source=my-package.rpm

Cloud Storage

  1. Carica i pacchetti direttamente in un bucket Cloud Storage.
  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à regionale 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 la directory (*) o un carattere jolly per la directory ricorsiva (**) per caricare tutti i pacchetti in tutte le sottodirectory.

    Ad esempio, il seguente comando carica il pacchetto package.rpm e tutti i pacchetti nella directory directory dal bucket my-bucket nel repository Yum my-repo nella località u-france-east1:

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

Al termine dell'operazione di caricamento o importazione, puoi utilizzare la consoleCloud de Confiance 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, la rigenerazione dell'indice dei pacchetti potrebbe richiedere diversi minuti per rendere visibili i nuovi pacchetti al client Yum.

Visualizzazione dei pacchetti

Modalità repository: standard

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 Cloud de Confiance console o gcloud:

Console

  1. Apri la pagina Repository nella Cloud de Confiance console.

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

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 località regionale 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 completo del pacchetto.
  • REPOSITORY è il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la località regionale del repository. 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

Prima di installare i pacchetti, verifica di aver configurato la VM per installare i pacchetti dal repository Artifact Registry.

Per installare un pacchetto, esegui questo comando:

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 Repository nella Cloud de Confiance console.

    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 che vuoi 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, allora puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la località regionale del repository. 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.

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

Per eliminare le versioni di un pacchetto:

Console

  1. Apri la pagina Repository nella Cloud de Confiance console.

    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 che vuoi 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, allora puoi omettere questo flag per utilizzare quello predefinito.
  • LOCATION è la località regionale del repository. 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.

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

Per i repository di grandi dimensioni, la rigenerazione dell'indice dei pacchetti Yum per riflettere le eliminazioni può richiedere alcuni minuti.

Passaggi successivi