Administra paquetes RPM

En esta página, se describe cómo agregar, ver y borrar paquetes RPM en los repositorios de Yum. Los repositorios de Yum de Artifact Registry admiten Yum y DNF.

Antes de comenzar

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

Agrega paquetes

Modos de repositorio: estándar

Debes tener permisos de lectura y escritura para que el repositorio agregue paquetes.

Puedes subir un paquete a un repositorio con Google Cloud CLI o importar un paquete que se almacena en Cloud Storage.

Si compilas paquetes con Cloud Build, la compilación puede almacenarlos en Cloud Storage para que los importes.

Las operaciones de importación o carga muy largas pueden exceder el período de vencimiento del token que usa gcloud CLI para llamar a la API. Si tienes una gran cantidad de paquetes para agregar, considera agregarlos en lotes más pequeños para que cada operación de carga o importación se pueda completar en menos tiempo. Consulta la documentación sobre la solución de problemas de paquetes del SO para obtener más información.

Carga 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

Reemplaza los siguientes valores:

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

Por ejemplo, para subir el paquete my-package.rpm al repositorio de Yum my-repo en la ubicación us-west1, ejecuta lo siguiente:

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

Cloud Storage

  1. Sube los paquetes a Cloud Storage de una de las siguientes maneras:
    • Sube paquetes directamente a un bucket de Cloud Storage
    • Compila paquetes con Cloud Build y almacénalos en un bucket
  2. Ejecuta el siguiente comando:
    gcloud artifacts yum import REPOSITORY \
      --location=LOCATION \
      --gcs-source=PACKAGES
    

    Reemplaza los siguientes valores:

    • REPOSITORY es el nombre del repositorio de Artifact Registry.
    • LOCATION es la ubicación regional o multirregional 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 en la ubicación us-west1:

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

Cuando se complete la operación de carga o importación, puedes usar la consola deGoogle Cloud o gcloud CLI para ver los paquetes en el repositorio y confirmar que se subieron correctamente.

Si tienes un repositorio grande con muchos paquetes, es posible que se demoren varios minutos en volver a generar el índice de paquetes para que el cliente de YUM los vea.

Cómo ver los paquetes

Modos de repositorio: estándar, remoto (versión preliminar)

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

Para ver los paquetes y sus versiones con la consola de Google Cloud o gcloud, haz lo siguiente:

Console

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

    Abrir la página Repositorios

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

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

  3. Haz clic en un paquete para ver las versiones de este.

gcloud

Para generar una lista de los paquetes en un repositorio, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • LOCATION es la ubicación regional o multirregional del repositorio. Si configuraste 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]

Reemplaza lo siguiente:

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

Instala paquetes

Modos de repositorio: estándar, remoto (versión preliminar)

Antes de instalar paquetes, verifica que hayas 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

Reemplaza 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 del repositorio my-repo, ejecuta el siguiente comando:

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

Borra paquetes

Modos de repositorio: estándar

Antes de borrar un paquete o una versión de un paquete, verifica que se haya comunicado o abordado cualquier dependencia importante en este.

Para borrar un paquete, haz lo siguiente:

Console

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

    Abrir la página Repositorios

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

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

  3. Selecciona el paquete que quieres borrar.

  4. Haz clic en BORRAR.

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

gcloud

Ejecuta el comando siguiente:

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

Reemplaza lo siguiente:

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

La marca --async hace que el comando se muestre de inmediato, sin necesidad de esperar a que se complete la operación en curso.

Para borrar versiones de un paquete, haz lo siguiente:

Console

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

    Abrir la página Repositorios

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

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

  3. Haz clic en un paquete para ver las versiones de este.

  4. Selecciona las versiones que quieres borrar.

  5. Haz clic en BORRAR.

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

gcloud

Ejecuta el comando siguiente:

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

Reemplaza lo siguiente:

  • VERSION es el nombre de la versión que se borrará.
  • PACKAGE es el nombre del paquete en el repositorio.
  • REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
  • LOCATION es la ubicación regional o multirregional del repositorio. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación predeterminada, puedes omitir esta marca para usarla.

La marca --async hace que el comando se muestre de inmediato, sin necesidad de esperar a que se complete la operación en curso.

En el caso de los repositorios grandes, la regeneración del índice del paquete de Yum puede tardar unos minutos en reflejar las eliminaciones.

¿Qué sigue?