En esta página, se describe cómo agregar, ver y borrar paquetes de RPM en repositorios de Yum. Los repositorios de Yum de Artifact Registry admiten Yum y DNF.
Antes de comenzar
- Si el repositorio de Yum de destino no existe, crea un repositorio nuevo.
- Configura las VMs para acceder al repositorio.
- (Opcional) Configura valores predeterminados para los comandos de gcloud.
- Asegúrate de que los nombres de tus paquetes en los metadatos cumplan con los lineamientos de nomenclatura de paquetes Fedora y los lineamientos de control de versiones de paquetes Fedora.
Agrega paquetes
Modos de repositorio: Estándar
Debes tener permisos de lectura y escritura en el repositorio para agregar paquetes.
Puedes subir un paquete a un repositorio con Google Cloud CLI o puedes importar un paquete almacenado en Cloud Storage. Si compilas paquetes con Cloud Build, la compilación puede almacenar los paquetes 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 usagcloud CLId para llamar a la API. Si tienes una gran cantidad de paquetes para agregar, considera agregarlos en lotes más pequeños a fin de que cada operación de carga o importación se complete en un período más corto. Consulta la documentación de solución de problemas de paquetes de 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-central1
, ejecuta lo siguiente:
gcloud artifacts yum upload my-repo \ --location=us-central1 \ --source=my-package.rpm
Cloud Storage
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.
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 recurrente (**) para subir todos los paquetes de todos los subdirectorios.
Por ejemplo, para subir un paquete
package.rpm
y todos los paquetes en el directoriodirectory
del bucketmy-bucket
al repositorio de Yummy-repo
en la ubicaciónus-central1
, ejecuta lo siguiente:gcloud artifacts yum import my-repo \ --location=us-central1 \ --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 de Google Cloud o gcloud CLI para ver los paquetes en el repositorio y confirmar que se subieron de forma correcta.
Si tienes un repositorio grande con muchos paquetes, es posible que tome varios minutos volver a generar el índice del paquete para que el cliente de Yum pueda ver los paquetes nuevos.
Visualiza paquetes
Modos del repositorio: Estándar, remoto (vista previa)
Para ver los paquetes, debes tener los permisos de la función de lector de Artifact Registry. Artifact Registry no enumera los archivos dentro de los paquetes.
Para ver paquetes y versiones de paquetes con la consola de Google Cloud
o gcloud
, haz lo siguiente:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Haz clic en un paquete para ver las versiones de este.
gcloud
Para enumerar los paquetes en un repositorio, ejecuta el siguiente comando:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
Dónde
- REPOSITORY es el nombre del repositorio. Si configuraste un repositorio predeterminado, puedes omitir esta marca para usarlo.
- LOCATION es una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación default, puedes omitir esta marca para usar la predeterminada.
Para ver las versiones de un paquete, ejecuta el siguiente comando:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
Donde
- 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 una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación default, puedes omitir esta marca para usar la predeterminada.
Instala paquetes
Modos del repositorio: Estándar, remoto (vista previa)
Antes de instalar los paquetes, verifica que hayas configurado el administrador de paquetes y el repositorio de forma correcta.
Para instalar paquetes, haz lo siguiente:
Instala el paquete y especifica el nombre del repositorio configurado en Yum.
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
desde el repositorio my-repo
, ejecuta el 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:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Selecciona el paquete que quieres borrar.
Haz clic en BORRAR.
En el cuadro de diálogo de confirmación, haz clic en BORRAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dónde
- 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 una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación default, puedes omitir esta marca para usar la predeterminada.
--async
se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.
Sigue estos pasos para borrar versiones de un paquete:
Consola
Abre la página Repositorios en la consola de Google Cloud.
En la lista de repositorios, haz clic en el repositorio correspondiente.
En la página Paquetes, se enumeran los paquetes del repositorio.
Haz clic en un paquete para ver sus versiones.
Selecciona las versiones que deseas borrar.
Haz clic en BORRAR.
En el cuadro de diálogo de confirmación, haz clic en BORRAR.
gcloud
Ejecuta el siguiente comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dónde
- 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 una ubicación regional o multirregional. Usa esta marca para ver los repositorios en una ubicación específica. Si configuraste una ubicación default, puedes omitir esta marca para usar la predeterminada.
--async
se muestra 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 Yum puede tardar unos minutos para reflejar las eliminaciones.