Gestionar paquetes RPM

En esta página se describe cómo añadir, ver y eliminar paquetes RPM en repositorios de Yum. Los repositorios de Yum de Artifact Registry admiten Yum y DNF.

Antes de empezar

  1. Si el repositorio Yum de destino no existe, crea uno.
  2. Configura las VMs para acceder al repositorio.
  3. (Opcional) Configura los valores predeterminados de los comandos de gcloud.
  4. Asegúrate de que los nombres de los paquetes de los metadatos cumplan las directrices de nomenclatura de paquetes de Fedora y las directrices de control de versiones de paquetes de Fedora.

Añadir paquetes

Modos de repositorio: estándar

Debes tener permisos de lectura y escritura en el repositorio para añadir paquetes.

Puedes subir un paquete a un repositorio mediante la CLI de Google Cloud o importar un paquete almacenado en Cloud Storage.

Las operaciones de importación o subida muy largas pueden superar el periodo de vencimiento del token que usa la CLI de gcloud para llamar a la API. Si tienes que añadir un número muy elevado de paquetes, te recomendamos que lo hagas en lotes más pequeños para que cada operación de subida o importación se pueda completar en menos tiempo. Consulta la documentación sobre solución de problemas de paquetes del SO para obtener más información.

Subida directa

Usa el comando gcloud artifacts yum upload para subir un paquete a un repositorio de Yum:

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

Sustituye los siguientes valores:

  • REPOSITORY es el nombre del repositorio de Artifact Registry.
  • LOCATION es la ubicación regional del repositorio.
  • PACKAGES es la ruta del paquete.

Por ejemplo, para subir el paquete my-package.rpm al repositorio de Yum my-repo en la ubicación u-france-east1, ejecuta el siguiente comando:

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

Cloud Storage

  1. Sube paquetes directamente a un segmento de Cloud Storage.
  2. Ejecuta el siguiente comando:
    gcloud artifacts yum import REPOSITORY \
      --location=LOCATION \
      --gcs-source=PACKAGES
    

    Sustituye los siguientes valores:

    • REPOSITORY es el nombre del repositorio de Artifact Registry.
    • LOCATION es la ubicación regional del repositorio.
    • PACKAGES es una lista de paquetes separados por comas en Cloud Storage. Para subir todos los paquetes de un directorio, usa un comodín de directorio (*) o un comodín de directorio recursivo (**) para subir todos los paquetes de todos los subdirectorios.

    Por ejemplo, el siguiente comando sube el paquete package.rpm y todos los paquetes del directorio directory del bucket my-bucket al repositorio de Yum my-repo de la ubicación 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*
    

Cuando se complete la operación de subida o importación, puedes usar laTrusted Cloud consola o la CLI de gcloud para ver los paquetes del repositorio y confirmar que se han subido correctamente.

Si tienes un repositorio grande con muchos paquetes, puede que se tarden varios minutos en regenerar el índice de paquetes para que los nuevos paquetes sean visibles para el cliente de Yum.

Ver paquetes

Modos de repositorio: estándar

Para ver los paquetes, debes tener los permisos del rol Lector de Artifact Registry. Artifact Registry no muestra los archivos que hay dentro de los paquetes.

Para ver los paquetes y las versiones de los paquetes mediante la consola Trusted Cloud o gcloud, sigue estos pasos:

Consola

  1. Abre la página Repositorios en la consola de Trusted Cloud .

    Abre la página Repositorios.

  2. En la lista de repositorios, haga clic en el repositorio correspondiente.

    En la página Paquetes se muestran los paquetes del repositorio.

  3. Haz clic en un paquete para ver sus versiones.

gcloud

Para enumerar los paquetes de un repositorio, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • REPOSITORY es el nombre del repositorio. Si has configurado un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • LOCATION es la ubicación regional del repositorio. Si has configurado una ubicación predeterminada, puedes omitir esta marca para usarla.

Para ver las versiones de un paquete, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • PACKAGE es el ID del paquete o el identificador completo del paquete.
  • REPOSITORY es el nombre del repositorio. Si has configurado un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • LOCATION es la ubicación regional del repositorio. Usa esta marca para ver los repositorios de una ubicación específica. Si has configurado una ubicación predeterminada, puedes omitir esta marca para usarla.

Instalar paquetes

Modos de repositorio: estándar

Antes de instalar paquetes, comprueba que has configurado la VM para instalar paquetes desde tu repositorio de Artifact Registry.

Para instalar un paquete, ejecuta el siguiente comando:

sudo yum --enablerepo=REPOSITORY install PACKAGE

Sustituye los siguientes valores:

  • PACKAGE es el nombre del paquete
  • REPOSITORY es el nombre del repositorio configurado en el archivo .repo.

Por ejemplo, para instalar el paquete my-package desde el repositorio my-repo, ejecuta el comando:

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

Eliminar paquetes

Modos de repositorio: estándar

Antes de eliminar un paquete o una versión de un paquete, comprueba que has comunicado o resuelto las dependencias importantes que tenga.

Para eliminar un paquete, sigue estos pasos:

Consola

  1. Abre la página Repositorios en la consola de Trusted Cloud .

    Abre la página Repositorios.

  2. En la lista de repositorios, haga clic en el repositorio correspondiente.

    En la página Paquetes se muestran los paquetes del repositorio.

  3. Selecciona el paquete que quieras eliminar.

  4. Haz clic en ELIMINAR.

  5. En el cuadro de diálogo de confirmación, haz clic en ELIMINAR.

gcloud

Ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • PACKAGE es el nombre del paquete en el repositorio.
  • REPOSITORY es el nombre del repositorio. Si has configurado un repositorio predeterminado, puedes omitir esta marca para usar el predeterminado.
  • LOCATION es la ubicación regional del repositorio. Usa esta marca para ver los repositorios de una ubicación específica. Si has configurado una ubicación predeterminada, puedes omitir esta marca para usarla.

La marca --async hace que el comando se devuelva inmediatamente, sin esperar a que se complete la operación en curso.

Para eliminar versiones de un paquete, sigue estos pasos:

Consola

  1. Abre la página Repositorios en la consola de Trusted Cloud .

    Abre la página Repositorios.

  2. En la lista de repositorios, haga clic en el repositorio correspondiente.

    En la página Paquetes se muestran los paquetes del repositorio.

  3. Haz clic en un paquete para ver sus versiones.

  4. Selecciona las versiones que quieras eliminar.

  5. Haz clic en ELIMINAR.

  6. En el cuadro de diálogo de confirmación, haz clic en ELIMINAR.

gcloud

Ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • VERSION es el nombre de la versión que se va a eliminar.
  • PACKAGE es el nombre del paquete en el repositorio.
  • REPOSITORY es el nombre del repositorio. Si has configurado un repositorio predeterminado, puedes omitir esta marca para usar el predeterminado.
  • LOCATION es la ubicación regional del repositorio. Usa esta marca para ver los repositorios de una ubicación específica. Si has configurado una ubicación predeterminada, puedes omitir esta marca para usarla.

La marca --async hace que el comando se devuelva inmediatamente, sin esperar a que se complete la operación en curso.

En el caso de los repositorios grandes, puede tardar unos minutos en regenerarse el índice de paquetes Yum para reflejar las eliminaciones.

Siguientes pasos